[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