[Libquicktime-devel] LIBquicktime does not need libGL, but libquicktime.pc specifies it

Loïc Minier lool+sf at via.ecp.fr
Fri Jan 25 13:15:27 UTC 2008


On Fri, Jan 25, 2008, Loïc Minier wrote:
>  - try to drop the lGL dep of libquicktime with a quick and dirty
>    workaround

 Unfortunately, the workaround cannot be used here as it exposes more
 serious issues in the upstream build process.  The workaround I had in
 mind was to build with --as-needed in the LDFLAGS, but I usually
 combine this risky flag with -z defs (--no-undefined) as to make sure I
 don't remove needed libs from the loaded shared objects at runtime (and
 hence don't get symbol lookups errors).

 -z defs was useful in this case as it exposed missing lib link flags in
 the middle of the libquicktime build:
make[3]: Entering directory `/home/lool/.svn-buildpackage/buildArea/pkg-multimedia/libquicktime-1.0.2+debian/plugins/vorbis'
/bin/bash ../../libtool --tag=CC   --mode=link cc -I/usr/include -DLOCALE_DIR=\"/usr/share/locale\" -g -Wall -O2  -finline-functions -Wall -Winline -avoid-version -module -Wl,-z,defs -Wl,--as-needed -o lqt_vorbis.la -rpath /usr/lib/libquicktime1 vorbis.lo lqt_vorbis.lo ../../src/libquicktime.la -lvorbisenc -L/usr/lib -lvorbis -lm -lvorbisfile -lGL -lpthread -lm -lz -ldl 
cc -shared  .libs/vorbis.o .libs/lqt_vorbis.o  -Wl,--rpath -Wl,/home/lool/.svn-buildpackage/buildArea/pkg-multimedia/libquicktime-1.0.2+debian/src/.libs ../../src/.libs/libquicktime.so /usr/lib/libvorbisenc.so -L/usr/lib /usr/lib/libvorbis.so /usr/lib/libvorbisfile.so -lGL -lpthread -lm -lz -ldl  -Wl,-z -Wl,defs -Wl,--as-needed -Wl,-soname -Wl,lqt_vorbis.so -o .libs/lqt_vorbis.so
.libs/vorbis.o: In function `flush_data':
/home/lool/.svn-buildpackage/buildArea/pkg-multimedia/libquicktime-1.0.2+debian/plugins/vorbis/vorbis.c:576: undefined reference to `ogg_stream_packetin'
/home/lool/.svn-buildpackage/buildArea/pkg-multimedia/libquicktime-1.0.2+debian/plugins/vorbis/vorbis.c:613: undefined reference to `ogg_page_eos'

 This means that the vorbis plugin doesn't link to a lib providing
 ogg_stream_packetin() which is in libogg, not in libvorbis.  This works
 at runtime as libvorbis links to libogg, but is incorrect.

 Hence, I can't reasonably use --as-needed to drop superfluous ELF deps
 without risking some objects to have link failures at runtime.

 I don't have the time to immediately provide a patch for this issue and
 would appreciate if upstream could make sure the build passes with
    ./configure CFLAGS="-Wl,-z,defs"

    Thanks,
-- 
Loïc Minier



More information about the pkg-multimedia-maintainers mailing list