Hi,
I'm having problems with Fluidsynth on a iMac Snow Leopard project.
Briefly, I'm building it to use with LMMS. I previously built a
working LMMS, FluidSynth, Qsynth, QJackctl, GTK Glib and gthread on a
PPC Mac, I want the works on a i386 machine now. So starting with the
same Glib-2.3.0 installed, Fluid compiles,links,and looks healthy.
Except for the following warnings during the final linking:
In file included from /usr/local/include/glib-2.0/glib/gasyncqueue.h:34,
from /usr/local/include/glib-2.0/glib.h:34,
from ../src/utils/fluidsynth_priv.h:25,
from fluidsynth.c:29:
/usr/local/include/glib-2.0/glib/gthread.h: In function
‘g_once_init_enter’:
/usr/local/include/glib-2.0/glib/gthread.h:347: warning: implicit
declaration of function ‘__sync_synchronize’
In file included from ../src/synth/fluid_event_queue.h:26,
from ../src/synth/fluid_synth.h:35,
from bindings/fluid_filerenderer.c:27:
../src/utils/fluid_ringbuffer.h: In function
‘fluid_ringbuffer_next_inptr’:
../src/utils/fluid_ringbuffer.h:76: warning: implicit declaration of
function ‘__sync_fetch_and_add’
also:
In file included from /usr/local/include/readline/readline.h:36,
from bindings/fluid_cmd.c:34:
/usr/local/include/readline/rltypedefs.h: At top level:
/usr/local/include/readline/rltypedefs.h:34: warning: function
declaration isn’t a prototype
/usr/local/include/readline/rltypedefs.h:35: warning: function
declaration isn’t a prototype
/usr/local/include/readline/rltypedefs.h:36: warning: function
declaration isn’t a prototype
/usr/local/include/readline/rltypedefs.h:37: warning: function
declaration isn’t a prototype
In file included from bindings/fluid_cmd.c:34:
/usr/local/include/readline/readline.h:381: warning: function
declaration isn’t a prototype
So I proceed with Qsynth, which also compiles and links,but has
immediate fatal error on execution:
Dyld Error Message:
Symbol not found: ___sync_synchronize
Referenced from: /gtk/audio-32/lib/libfluidsynth.1.dylib
Expected in: flat namespace
libfluidsynth Symbol not found: ___sync_synchronize
(I presume __sync_fetch_and_add would also not be found if the launch
wasn't immediately fatal.)
So the question is why or where are these symbols/functions missing?
(even though they're not, and I thought flat namespace was deprecated
or for static only, oh well.
By the way, exactly what version of Glib is required for Fluid-1.1.5?
I see that Glib >=2.6.5 is checked, but I had Glib 2.28.8, (from a
JHBuild of GTK, way newer than 2.6.5) rejected so I built Glib 2.30,
accepted on the PPC and on Snow Leopard, it built Fluid against 2.3.0
glib and gthread as I said but Qsynth spit it out. (but not on the
PPC, same versions. everything works there.)
I'm not sure what to try next, I need to ensure Fluid is working
before I build LMMS. I didn't use CMake because I need to force a i386
build of everything so that this whole mess will be portable to
OSX10.5 32-bit Mac-mini, the iMac defaults to 64-bit and CMake will
too, it rejects changes as invalid. Also because I need to steer Fluid
to link with the right 32-bit dependancies.
Perhaps my glib and gthread are too new?
By the way, I downloaded a few apps that came as a Mac bundle using
fluidsynth, unfortunately all of them had a x64_86 or non Jack enabled
versions. (jOrgan,VLC), none of the libs I looked at contained
(from: nm -j libfluidsynth.1.dylib -->
___sync_fetch_and_add or
___sync_synchronize
Well, mine does.
The only difference in symbols between the two libfluids I built
against the same glib and gthread is this:
iMac i386:
26:
___stdoutp
___sync_fetch_and_add
___sync_synchronize
__fluid_evt_heap_free
...
737:
_ftell
_g_atomic_int_exchange_and_add
_g_clear_error
...
last:
_write$UNIX2003
dyld_stub_binder
ibook PPC:
27:
___stdoutp
__fluid_evt_heap_free
...
736:
_ftell
_g_atomic_int_add
_g_atomic_int_exchange_and_add
_g_atomic_int_get
_g_atomic_int_set
_g_atomic_pointer_get
_g_atomic_pointer_set
_g_clear_error
...
last:
_write$UNIX2003
Any ideas would be greatly appreciated.
Thanks, Josh K
_______________________________________________
fluid-dev mailing list
fluid-dev@nongnu.org
https://lists.nongnu.org/mailman/listinfo/fluid-dev