16 Aug 2007 MichaelCrawford   » (Master)

Fix for libao dlsym_auto_underscore on Mac OS X

libao is a cross-platform audio output library used by, among others, ogg123. When libao-0.8.8 is built on Mac OS X, trying to run ogg123 meets with this complaint:

dyld: lazy symbol binding failed: Symbol not found:
_dlsym_auto_underscore
  Referenced from: /usr/local/lib/libao.2.dylib
  Expected in: flat namespace

I'm not sure, but I think the dlsym_auto_underscore was required in previous versions of Mac OS X, but for me on 10.4.9 it worked to simply remove it from the darwin CFLAGS setting in the configure script:

From this:


        *-darwin*)
                PLUGIN_LDFLAGS="-module -avoid-version"
                DEBUG="-g -Wall -D__NO_MATH_INLINES
-fsigned-char -Ddlsym=dlsym_auto_underscore"
                CFLAGS="-D__NO_MATH_INLINES -fsigned-char
-Ddlsym=dlsym_auto_underscore"
                PROFILE="-g -pg -D__NO_MATH_INLINES
-fsigned-char -Ddlsym=dlsym_auto_underscore" ;;

To this:


        *-darwin*)
                PLUGIN_LDFLAGS="-module -avoid-version"
                DEBUG="-g -Wall -D__NO_MATH_INLINES
-fsigned-char"
                CFLAGS="-D__NO_MATH_INLINES -fsigned-char"
                PROFILE="-g -pg -D__NO_MATH_INLINES
-fsigned-char" ;;

Latest blog entries     Older blog entries

New Advogato Features

New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.

Keep up with the latest Advogato features by reading the Advogato status blog.

If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!