[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:01:49 UTC 2008
Hi,
On Fri, Jan 25, 2008, Richard Spindler wrote:
> I just recieved a debian bugreport, that a package that depended on
> libquicktime failed to build, because the -lGL requirement wasn't
> satisfied.
This is likely a bug in libquicktime in all cases.
You say libquicktime returned a -lGL flag, but I see no GL build-dep,
so if it built with OpenGL support, it was an accident, and we should
have configure libquicktime with opengl disabled, or added the proper
build-deps to make sure it always build with opengl support.
From a look at my build log, I see that libgl1-mesa-glx was pulled
presumably by a higher level build-dep.
I guess upstream favors GL support since it's enabled by default if
available, so I'll fix this by ensuring that GL is always available.
Next, the resulting libquicktime.pc file when building with OpenGL
support has:
Libs: -L${libdir} -lquicktime -lGL -lpthread -lm -lz -ldl.
this means that libquicktime.pc as shipped in libquicktime-dev is
unusable unlesss libquicktime-dev depends on everything above which it
doesn't at the moment (it should depend on the -dev packages for lGL,
and lz).
Please note that upstream could help here in only listing modules and
libs which all programs using libquicktime are required to use (for
shared linking) in its .pc files, and not all libs that libquicktime
uses. Listing all libs used by libquicktime on the link command lines
is only needed for static linking; recent pkg-config permit listing
these libs in Libs.private or modules in Requires.private. Upstream
should use this facility for libs required by libquicktime but not by
all libquicktime consumers and check for the proper pkg-config version.
Also, as far as I see, libquicktime has no reason to link to lGL; it
doesn't seem to refer to any of its symbols; upstream should fix the
build to not link libquicktime to superfluous libraries, this causes
slower load times and useless deps in Debian packages.
Finally, lqt-config seems to return the same libs as libquicktime.pc's
Libs, and offers to static/shared distinction. I don't know whether
this tool is deprecated, IMO it should be, but if not it should gain a
private flags. Until then, its output shouldn't be considered for
libquicktime-dev's deps in Debian as we have the more flexible
pkg-config mechanism already.
I'd appreciate if you could take the appropriate upstream measures to:
- fix the .pc and require newer pkg-config
- fix the build to not link libquicktime to lGL
- act on lqt-config
On my side, I'll work on the Debian packaging to:
- add proper GL support
- try to drop the lGL dep of libquicktime with a quick and dirty
workaround
- add proper deps to libquicktime-dev for what it requires in the end
Bye,
--
Loïc Minier
More information about the pkg-multimedia-maintainers
mailing list