| Hello,
I've been trying to build csound5 from CVS (under Linux) with CsoundVST
and I can't get pass this error:
g++ -Wl,-rpath-link,. _CsoundVST.so -Wl,-Bdynamic -o CsoundVST
frontends/CsoundVST/csoundvst_main.o -L. -L. -L/usr/local/lib -L. -L.
-L/usr/lib/python2.4/config -L/usr/include/tcl8.4
-L/usr/include/tcl8.4/tcl-private/generic -L/usr/include/lua50
-L/usr/local/include/lo -ldl -lstdc++ -lpthread -lm
./lib_csnd.so: undefined reference to `Tcl_TraceVar'
./lib_csnd.so: undefined reference to `Tcl_GetStringResult'
./lib_csnd.so: undefined reference to `Tcl_ListObjGetElements'
./lib_csnd.so: undefined reference to `Tcl_GetDoubleFromObj'
./lib_csnd.so: undefined reference to `Tcl_PkgProvide'
./lib_csnd.so: undefined reference to `Tcl_GetStringFromObj'
./lib_csnd.so: undefined reference to `Tcl_CreateObjCommand'
./lib_csnd.so: undefined reference to `Tcl_GetLongFromObj'
./lib_csnd.so: undefined reference to `Tcl_AppendElement'
./lib_csnd.so: undefined reference to `Tcl_SetResult'
./lib_csnd.so: undefined reference to `Tcl_SetObjResult'
./lib_csnd.so: undefined reference to `Tcl_InitHashTable'
./lib_csnd.so: undefined reference to `Tcl_NewDoubleObj'
./lib_csnd.so: undefined reference to `Tcl_SetVar'
./lib_csnd.so: undefined reference to `Tcl_GetCommandInfo'
./lib_csnd.so: undefined reference to `Tcl_ResetResult'
./lib_csnd.so: undefined reference to `Tcl_NewStringObj'
./lib_csnd.so: undefined reference to `Tcl_DeleteHashEntry'
./lib_csnd.so: undefined reference to `Tcl_GetVar'
./lib_csnd.so: undefined reference to `Tcl_AppendResult'
./lib_csnd.so: undefined reference to `Tcl_SetStringObj'
./lib_csnd.so: undefined reference to `Tcl_GetIntFromObj'
./lib_csnd.so: undefined reference to `Tcl_NewIntObj'
./lib_csnd.so: undefined reference to `TclFreeObj'
./lib_csnd.so: undefined reference to `Tcl_ObjSetVar2'
./lib_csnd.so: undefined reference to `Tcl_DeleteCommandFromToken'
./lib_csnd.so: undefined reference to `Tcl_GetObjResult'
./lib_csnd.so: undefined reference to `Tcl_VarEval'
./lib_csnd.so: undefined reference to `Tcl_DuplicateObj'
collect2: ld returned 1 exit status
scons: *** [CsoundVST] Error 1
scons: building terminated because of errors.
This is my custom.py (the Linux section):
if sys.platform[:5] == 'linux':
platform = 'linux'
customCPPPATH.append('/usr/include/python2.4')
customLIBPATH.append('/usr/lib/python2.4/config')
customCPPPATH.append('/usr/include/tcl8.4')
customLIBPATH.append('/usr/include/tcl8.4')
customCPPPATH.append('/usr/include/tcl8.4/tcl-private/generic')
customLIBPATH.append('/usr/include/tcl8.4/tcl-private/generic')
customCPPPATH.append('/usr/include/lua50')
customLIBPATH.append('/usr/include/lua50')
customCPPPATH.append('/usr/local/include/lo')
customLIBPATH.append('/usr/local/include/lo')
... and the SConstruct flags (I usually set the flags here instead of at
the scons command for practical purposes):
opts.Add('useDouble',
'Set to 1 to use double-precision floating point for audio samples.',
'1')
opts.Add('usePortAudio',
'Set to 1 to use PortAudio for real-time audio input and output.',
'0')
opts.Add('usePortMIDI',
'Build PortMidi plugin for real time MIDI input and output.',
'1')
opts.Add('useALSA',
'Set to 1 to use ALSA for real-time audio and MIDI input and output.',
'1')
opts.Add('useJack',
'Set to 1 if you compiled PortAudio to use Jack; also builds Jack
plugin.',
'1')
opts.Add('useFLTK',
'Set to 1 to use FLTK for graphs and widget opcodes.',
'1')
if getPlatform() != 'darwin':
opts.Add('noFLTKThreads',
'Set to 1 to disable use of a separate thread for FLTK widgets.',
'0')
else:
opts.Add('noFLTKThreads',
'Set to 0 to enable use of a separate thread for FLTK widgets.',
'1')
opts.Add('pythonVersion',
'Set to the Python version to be used.',
'2.4')
opts.Add('buildCsoundVST',
'Set to 1 to build CsoundVST (needs FLTK, boost, Python 2.3, SWIG).',
'1')
opts.Add('generateTags',
'Set to 1 to generate TAGS',
'0')
opts.Add('generatePdf',
'Set to 1 to generate PDF documentation',
'0')
opts.Add('generateXmg',
'Set to 1 to generate string database',
'1')
opts.Add('generateZip',
'Set to 1 to generate zip archive',
'0')
opts.Add('buildLoris',
'Set to 1 to build the Loris Python extension and opcodes',
'1')
opts.Add('useOSC',
'Set to 1 if you want OSC support',
'1')
opts.Add('buildPythonOpcodes',
'Set to 1 to build Python opcodes',
'1')
opts.Add('prefix',
'Base directory for installs. Defaults to /usr/local.',
'/usr/local')
opts.Add('buildRelease',
'Set to 1 to build for release (implies noDebug).',
'0')
opts.Add('noDebug',
'Build without debugging information.',
'0')
opts.Add('gcc3opt',
'Enable gcc 3.3.x or later optimizations for the specified CPU
architecture (e.g. pentium3); implies noDebug.',
'0')
opts.Add('gcc4opt',
'Enable gcc 4.0 or later optimizations for the specified CPU
architecture (e.g. pentium3); implies noDebug.',
'pentium4')
opts.Add('useLrint',
'Use lrint() and lrintf() for converting floating point values to
integers.',
'0')
opts.Add('useGprof',
'Build with profiling information (-pg).',
'0')
opts.Add('Word64',
'Build for 64bit computer',
'0')
opts.Add('dynamicCsoundLibrary',
'Build dynamic Csound library instead of libcsound.a',
'0')
opts.Add('buildStkOpcodes',
"Build opcodes encapsulating Perry Cook's Synthesis Toolkit in C++
instruments and effects",
'0')
opts.Add('install',
'Enables the Install targets',
'1')
opts.Add('buildPDClass',
"build csoundapi~ PD class (needs m_pd.h in the standard places)",
'0')
opts.Add('useCoreAudio',
"Set to 1 to use CoreAudio for real-time audio input and output.",
'0')
opts.Add('useAltivec',
"On OSX use the gcc AltiVec optmisation flags",
'0')
opts.Add('MSVC',
"Using MSVC build tools",
'0')
opts.Add('buildDSSI',
"Build DSSI/LADSPA host opcodes",
'1')
opts.Add('buildUtilities',
"Build stand-alone executables for utilities that can also be used
with -U",
'1')
opts.Add('buildTclcsound',
"Build Tclcsound frontend (cstclsh, cswish and tclcsound dynamic
module). Requires Tcl/Tk headers and libs",
'1')
opts.Add('buildInterfaces',
"Build interface library for Python, JAVA, Lua, C++, and other
languages.",
'1')
opts.Add('buildJavaWrapper',
'Set to 1 to build Java wrapper for the interface library.',
'0')
Scons seems to be finding everything that is needed at the beginning:
CONFIGURATION DECISION: Using double-precision floating point for audio
samples.Checking for C header file stdio.h... yes
Checking for C header file sndfile.h... yes
Checking for C header file portaudio.h... yes
Checking for C header file portmidi.h... yes
Checking for C++ header file FL/Fl.H... yes
Checking for C++ header file boost/any.hpp... yes
Checking for C header file alsa/asoundlib.h... yes
Checking for C header file jack/jack.h... yes
Checking for C header file lo/lo.h... yes
Checking for C++ header file Opcodes/stk/include/Stk.h... no
Checking for C header file m_pd.h... yes
Checking for C header file tcl.h... yes
Checking for C header file lua.h... yes
Checking for SWIG... yes
Checking for C header file Python.h... yes
Checking for C++ header file jni.h... no
Checking for C header file io.h... no
Checking for C header file fcntl.h... yes
Checking for C header file unistd.h... yes
Checking for C header file stdint.h... yes
Checking for C header file sys/time.h... yes
Checking for C header file sys/types.h... yes
Checking for C header file termios.h... yes
Checking for C header file dirent.h... yes
Checking for C header file Opcodes/Loris/src/loris.h... yes
Checking for C header file fftw3.h... yes
CONFIGURATION DECISION: Building Loris Python extension and Csound opcodes.
CONFIGURATION DECISION: Building static Csound library
CONFIGURATION DECISION: Building with PortMIDI.
CONFIGURATION DECISION: Building Csound interfaces library.
CONFIGURATION DECISION: Not building Java wrappers for Csound interfaces
library.
CONFIGURATION DECISION: Building Csound Lua interface library.
CONFIGURATION DECISION: Not generating PDF documentation.
CONFIGURATION DECISION: Building with FLTK graphs and widgets.
CONFIGURATION DECISION: Not building CoreAudio plugin.
CONFIGURATION DECISION: Building ALSA plugin.
CONFIGURATION DECISION: Not building PortAudio module.
CONFIGURATION DECISION: Building JACK plugin.
CONFIGURATION DECISION: Building OSC plugin.
Checking for C header file fluidsynth.h... no
CONFIGURATION DECISION: Not building fluid opcodes.
CONFIGURATION DECISION: Building CsoundVST plugin and standalone.
PATH =
/usr/local/bin:/usr/local/sbin:/sbin:/usr/sbin:/bin:/usr/bin:/usr/bin/X11:/usr/games
CONFIGURATION DECISION: Not building STK opcodes.
CONFIGURATION DECISION: Building Python opcodes.
CONFIGURATION DECISION: Building Tclcsound frontend
CONFIGURATION DECISION: Building DSSI plugin host opcodes.
CONFIGURATION DECISION: Not calling TAGS
CONFIGURATION DECISION: Calling makedb
CONFIGURATION DECISION: Not compiling zip file for release.
By the way, before this error I was getting another one about SWIG not
finding a "ua" library. I found that in SConstruct there is a SWIG flag
that sould be "-llua" instead of "-lua", here:
SWIGFLAGS = [swigflags, '-llua', '-outdir', '.'])
Is that right?
Thanks! And sorry for the long email.
Hector. |