Mac PPC - ByteVector symbol not found using dynamic taglib in python module

tom at eversons.net tom at eversons.net
Mon Apr 5 17:15:03 CEST 2010


Hi All,

I'm working on a Mac python app that uses taglib in a custom python module.
It's working with 10.5.8/Leopard on an Intel machine, but when I run on a
PPC machine (also 10.5.8) I get the following error:

> ImportError: dlopen(/path/to/mymodule.so, 2): Symbol not found:
> __ZN6TagLib10ByteVectorC1ERKSP_ Referenced from: /path/to/mymodule.so
> Expected in: dynamic lookup

(FYI - the C++ wrapper for the python module doesn't explicitly use the
ByteVector class.)

I built the dynamic version of taglib with:
    env CFLAGS="-arch i386 -arch ppc" LDFLAGS="-arch i386 -arch ppc" \
        ./configure --disable-dependency-tracking --enable-mp4 --enable-asf

The problem goes away if I link with the static libTagLib.a from
  http://osdir.com/ml/taglib-devel/2010-03/msg00006.html

However, when I attempt to build a universal binary with:
    env CFLAGS="-arch i386 -arch ppc" LDFLAGS="-arch i386 -arch ppc" \
        ./configure --disable-dependency-tracking --enable-mp4
--enable-asf --disable-shared --enable-static
the resulting libtag.a is Intel-only.

Linking with libTagLib.a is an acceptable workaround for now, but I'd
prefer to be able to fix the dynamic version of the library so it works on
PPC, or be able to build the static version myself.

Thanks for you help,

Tom




More information about the taglib-devel mailing list