fluid-dev
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[fluid-dev] OSX 10.6 build symbol problem


From: Jeff Kearns
Subject: [fluid-dev] OSX 10.6 build symbol problem
Date: Wed, 4 Jan 2012 10:51:06 -0500

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




reply via email to

[Prev in Thread] Current Thread [Next in Thread]