Hello everyone,
I've compiled fluidsynth on OSX, and did a fresh cvs checkout of pd-externals SF module. But on trying to compile flext (since I'm trying to compile fluid~), I get:
waldorf:~/Development/music/pd/pd-externals-20030311/grill/flext dc$ bash build-pd-darwin.sh build-pd-darwin.sh: line 28: -maltivec: command not found make: Nothing to be done for `all'. Now install as root Password: cp pd-darwin/flext.a pd-darwin/flext_d.a pd-darwin/flext_t.a pd-darwin/flext_td.a source/flprefix.h source/flstdc.h source/flbase.h source/flclass.h source/fldefs.h source/flext.h source/flsupport.h source/fldsp.h source/flinternal.h /Users/dc/Development/music/pd/flext ranlib /Users/dc/Development/music/pd/flext/*.a # have to rerun ranlib at install dir ?! ranlib: file: /Users/dc/Development/music/pd/flext/flext.a(flthr.o) has no symbols waldorf:~/Development/music/pd/pd-externals-20030311/grill/flext dc$
Of course, there is a flext.a at /Users/dc/Development/music/pd/flext/flext.a, but when I now go to compile fluid, I get:
make: *** No rule to make target pd-darwin/fluid~.pd_darwin', needed by
all'. Stop.
Following the list archives, I see that I could use:
g++ -bundle -bundle_loader /usr/local/bin/pd -flat_namespace pd-darwin/fluid.o -lm -L/usr/local/lib -lfluidsynth /usr/local/lib/pd/flext/flext.a -framework veclib -o pd-darwin/fluid.pd_darwin
But that gets me:
ld: warning multiple definitions of symbol _BC /usr/local/lib/libreadline.5.0.dylib(terminal.so) definition of _BC
<snip>
Can anyone point me in the right direction? Frank?
Yours,
David
Hallo, David Plans Casal hat gesagt: // David Plans Casal wrote:
Of course, there is a flext.a at /Users/dc/Development/music/pd/flext/flext.a, but when I now go to compile fluid, I get:
make: *** No rule to make target
pd-darwin/fluid~.pd_darwin', needed by
all'. Stop.
It might be, that the directory "pd-darwin" is missing. I'm not sure, if flext-build.sh creates this if it's not there. It is not in CVS, so maybe "mkdir pd-darwin" could help here, then again try:
$ flext-build.sh pd gcc build
or similar.
Following the list archives, I see that I could use:
g++ -bundle -bundle_loader /usr/local/bin/pd -flat_namespace pd-darwin/fluid.o -lm -L/usr/local/lib -lfluidsynth /usr/local/lib/pd/flext/flext.a -framework veclib -o pd-darwin/fluid.pd_darwin
But that gets me:
ld: warning multiple definitions of symbol _BC /usr/local/lib/libreadline.5.0.dylib(terminal.so) definition of _BC
This might be because you may need to add "-lreadline" to your g++-line, if libfluidsynth is built with readline support. (I never understood why a library like libfluidsynth needs to link with readline, but I don't understand a lot of things regarding libraries et al.)
Maybe it also helps to use this in build/gnumake-mac-gcc.inc
LIBS += -framework Fluidsynth -framework Readline
and then use flext-build.sh. I cannot test this myself for lack of Mac, but if it works, I can add it (and the missing pd-darwin-directory) to CVS.
Frank Barknecht _ ______footils.org__
_ __latest track: "scans" _ http://footils.org/cms/show/41
Hi Frank! (sorry sent reply to you directly first)
On 24 Jun 2005, at 16:45, Frank Barknecht wrote:
make: *** No rule to make target
pd-darwin/fluid~.pd_darwin', needed by
all'. Stop.It might be, that the directory "pd-darwin" is missing. I'm not sure, if flext-build.sh creates this if it's not there. It is not in CVS, so maybe "mkdir pd-darwin" could help here, then again try:
The problem has compounded a bit:
I recompiled fluidsynth without readline, and tried fluid~ compilation again. Unfortunately, I see:
waldorf:~/Development/music/pd/externals/footils/fluid dc$ g++ -bundle -bundle_loader /usr/local/bin/pd -flat_namespace pd-darwin/fluid.o -lm -L/usr/local/lib -lfluidsynth /usr/local/lib/pd/flext/flext.a -o pd-darwin/fluid.pd_darwin ld: Undefined symbols: flext_base::m_loadbang() flext_base::GetClassArr(_class*, int)
<snip>
Looks like it can't cope with the flext library I compiled...I go into flext cvs, but when I try 'sudo bash build.sh pd gcc', I get:
waldorf:~/Development/music/pd/externals/grill/flext dc$ sudo bash
build.sh pd gccPassword:make -f ./buildsys/gnumake-sub.mak PLATFORM=mac
RTSYS=pd COMPILER=gcc BUILDPATH=./buildsys/ PKGINFO=package.txt
BUILDCLASS=flext USRCONFIG=config.txt USRMAKE=build/gnumake-mac-gcc.inc
TARGETMODE=release TARGETTYPE=single _build_
buildsys/mac/gnumake-gcc-flext.inc:27: warning: overriding commands for
target pd-darwin/release-single' buildsys/mac/gnumake-gcc-flext.inc:24: warning: ignoring old commands for target
pd-darwin/release-single'
g++ -c -faltivec -ffast-math -DNDEBUG -O3 -mcpu=G4 -DFLEXT_USE_SIMD
-DFLEXT_EXPORTS -DFLEXT_SYS=2 -include pd-darwin/release-single/flext.h
-I/Applications/Pd-0.38-3.app/Contents/Resources/src source/flbase.cpp
-o pd-darwin/release-single/flbase.opp
source/flbase.cpp:28:22: g_canvas.h: No such file or directory
Since I can't figure out why that's the case, I download flext-0.4.7-pd-osx.tgzm I edit config-pd-darwin.txt to give it the full path to pd sources and tell it to build flext into INSTDIR=/usr/local/lib/pd/flext, then I run sh build-pd-darwin.sh, and while it looks like it gets compiled, at install, the following happens:
mv /usr/local/lib/pd/flext/lib*.dylib /usr/local/lib ranlib /usr/local/lib/pd/flext/*.a # have to rerun ranlib at install dir ?! ranlib: file: /usr/local/lib/pd/flext/flext.a(flthr.o) has no symbols ranlib: file: /usr/local/lib/pd/flext/libflext.a(flthr.o) has no symbols
I tried:
waldorf:/usr/local/lib/pd/flext dc$ sudo ranlib flext.a ranlib: file: flext.a(flthr.o) has no symbols
Same message.
Am I correct in assuming that, at this point, fluid~ will not compile because the flext libraries that I've compiled are not healthy?
Any ideas?
Thanks for you help,
david
Hi David,
make: *** No rule to make target
pd-darwin/fluid~.pd_darwin', needed by
all'. Stop.It might be, that the directory "pd-darwin" is missing. I'm not sure, if flext-build.sh creates this if it's not there. It is not in CVS, so maybe "mkdir pd-darwin" could help here, then again try:
The problem has compounded a bit:
I recompiled fluidsynth without readline, and tried fluid~ compilation again. Unfortunately, I see:
waldorf:~/Development/music/pd/externals/footils/fluid dc$ g++ -bundle -bundle_loader /usr/local/bin/pd -flat_namespace pd-darwin/fluid.o -lm -L/usr/local/lib -lfluidsynth /usr/local/lib/pd/flext/flext.a -o pd-darwin/fluid.pd_darwin ld: Undefined symbols: flext_base::m_loadbang() flext_base::GetClassArr(_class*, int)
<snip>
Looks like the flext.a in /usr/local/lib/pd/flext/ is an older version compared to the header files you are compiling against.
waldorf:~/Development/music/pd/externals/grill/flext dc$ sudo bash build.sh pd gccPassword:make -f ./buildsys/gnumake-sub.mak PLATFORM=mac RTSYS=pd COMPILER=gcc BUILDPATH=./buildsys/ PKGINFO=package.txt BUILDCLASS=flext USRCONFIG=config.txt USRMAKE=build/gnumake-mac-gcc.inc TARGETMODE=release TARGETTYPE=single _build_ buildsys/mac/gnumake-gcc-flext.inc:27: warning: overriding commands for target
pd-darwin/release-single' buildsys/mac/gnumake-gcc-flext.inc:24: warning: ignoring old commands for target
pd-darwin/release-single' g++ -c -faltivec -ffast-math -DNDEBUG -O3 -mcpu=G4 -DFLEXT_USE_SIMD -DFLEXT_EXPORTS -DFLEXT_SYS=2 -include pd-darwin/release-single/flext.h -I/Applications/Pd-0.38-3.app/Contents/Resources/src source/flbase.cpp -o pd-darwin/release-single/flbase.opp source/flbase.cpp:28:22: g_canvas.h: No such file or directory
Did you edit flext/buildsys/config-mac-pd-gcc.txt so that PDPATH therein points to a path where the PD header files including g_canvas.h can be found?
Am I correct in assuming that, at this point, fluid~ will not compile because the flext libraries that I've compiled are not healthy?
Seems so....
best greetings, Thomas
On 25 Jun 2005, at 14:10, Thomas Grill wrote:
Looks like the flext.a in /usr/local/lib/pd/flext/ is an older version compared to the header files you are compiling against.
As indeed they were!
Recompiled from CVS (gave appropriate paths this time), all working ok now.
Thanks!