Trouble with glib2, pkg-config and cmake under Debian
Andreas Pakulat
apaku at gmx.de
Tue Aug 21 16:27:03 BST 2007
On 21.08.07 17:16:20, Tobias Koenig wrote:
> there is a problem with compiling glib2 dependend software with current
> Debian unstable and cmake.
>
> Let me explain the problem a bit closer.
>
> The current libglib2.0-dev package contains nearly all header files
> under /usr/include/glib-2.0/ but the file glibconfig.h is located under
> /usr/lib/glib-2.0/include. Unfortunately, some header files from
> /usr/include/glib-2.0/ include the glibconfig.h by '#include <glibconfig.h>'.
>
> So when you want to compile your software you have to add both path
> /usr/include/glib-2.0 _and_ /usr/lib/glib-2.0/include to the -I flag.
Thats a glib-packaging bug in Debian, they obviously don't move that
header but they should as headers don't belong under /usr/lib.
> Now pkg-config and cmakes enter the scene: The shipped glib-2.0.pc file
> contains the correct 'cflags' variable, which includes both pathes,
> however the 'includedir' variable contains only the /usr/include path...
>
> Our FindGLIB2.cmake module calls pkgconfig and queries for the
> 'includedir' variable instead of following the 'cflags' suggestion.
>
> => the -I/usr/lib/glib-2.0/include is missing and the software doesn't
> compile.
I wasn't aware that KDE modules use glib, interesting...
> So where is the bug?
see above: The debian package.
> Is it possible to define multiple pathes in the
> 'includedir' variable? Would cmake be able to handle multiple pathes
> there? Should FindGLIB2.cmake use the 'cflags' variable instead of the
> 'includedir'? Shall we ask the Debian maintainer to place the
> glibconfig.h to /usr/include?
The last thing is the right thing to do.
Andreas
--
You feel a whole lot more like you do now than you did when you used to.
More information about the kde-core-devel
mailing list