Summary: | *.pc.in files incorrectly specify Cflags/Libs | ||
---|---|---|---|
Product: | xorg | Reporter: | Mike A. Harris <mharris> |
Component: | * Other | Assignee: | Xorg Project Team <xorg-team> |
Status: | RESOLVED DUPLICATE | QA Contact: | |
Severity: | normal | ||
Priority: | high | ||
Version: | 6.99.99.902 (7.0 RC2) | ||
Hardware: | x86 (IA32) | ||
OS: | Linux (All) | ||
Whiteboard: | |||
i915 platform: | i915 features: | ||
Bug Depends on: | |||
Bug Blocks: | 1690 |
Description
Mike A. Harris
2005-11-16 12:42:43 UTC
twm doesn't need Xau - it needs libXmu, which is specifying -lXau in it's x11.pc file (probably incorrectly). Bleah. I meant "in it's xmu.pc file" of course. (In reply to comment #1) > twm doesn't need Xau - it needs libXmu, which is specifying -lXau in it's > x11.pc file (probably incorrectly). Right, we spent some time investigating this tonight and came up with the same conclusion. The current modular *.pc.in files seem to be specifying Cflags/Libs lines that are the build dependencies of the library itself, rather than the Cflags/Libs flags than the runtime deps of the library. Here is x11.pc.in prefix=@prefix@ exec_prefix=@exec_prefix@ libdir=@libdir@ includedir=@includedir@ xthreadlib=@XTHREADLIB@ Name: X11 Description: X Library Version: @PACKAGE_VERSION@ Libs: -L${libdir} -lX11 @XPROTO_LIBS@ @LIBS@ Cflags: -I${includedir} @XPROTO_CFLAGS@ @XTHREAD_CFLAGS@ The last two lines should be: Libs: -L${libdir} -lX11 Cflags: -I${includedir} Every library, etc should be similar to this. This is just severely wrong.. anything that links to libXmu, automatically gets linked to a tonne of libraries due to the broken .pc file: [root@fc4i386 RPMS]# cat /usr/lib/pkgconfig/xmu.pc prefix=/usr exec_prefix=/usr libdir=/usr/lib includedir=/usr/include Name: Xmu Description: Xmu Library Version: 0.99.1 Libs: -L${libdir} -lXmu -lXt -lSM -lICE -lXext -lX11 -ldl -lXau Cflags: -I${includedir} |
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.