Summary: | <sys-libs/libsepol-2.1.9-r3 wrong 'pkg-config --libs' contents | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Dennis Freise <dennis.freise> |
Component: | SELinux | Assignee: | Sven Vermeulen (RETIRED) <swift> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | freedesktop-bugs, jdhore, nenolod, selinux |
Priority: | Normal | ||
Version: | unspecified | ||
Hardware: | All | ||
OS: | Linux | ||
See Also: | https://bugs.gentoo.org/show_bug.cgi?id=502544 | ||
Whiteboard: | selinux-utils | ||
Package list: | Runtime testing required: | --- |
Description
Dennis Freise
2013-08-20 19:47:34 UTC
Hi embedded team Is having "Libs: -L/usr/lib -lsepol" in the pkg-config file wrong? If I look at http://people.freedesktop.org/~dbn/pkg-config-guide.html this doesn't seem to be wrong. Any idea why the busybox build system fails here? Ah wait, it's pkg-config that should filter out the -L/usr/lib part This is the contents of the libsepol.pc file at /usr/lib64/pkgconfig: prefix=/usr exec_prefix=${prefix} libdir=${exec_prefix}/lib includedir=/usr/include Name: libsepol Description: SELinux policy library Version: 2.1.9 URL: http://userspace.selinuxproject.org/ Libs: -L${libdir} -lsepol Cflags: -I${includedir} That should be correct afaik. I'll check with the freedesktop team. @freedesktop guys - why would/could pkg-config display the -L part? I also hit it, it seems to be incorrectly setting libdir path libdir=${exec_prefix}/lib other files have libdir=${exec_prefix}/lib64 with this changed pkg-config returns correct result and busybox emerges (In reply to Sven Vermeulen from comment #2) > @freedesktop guys - why would/could pkg-config display the -L part? It would display it when it's not a system path, like /usr/lib isn't for a multilib system when the libraries end up in ABI specific /lib/lib32 or /lib/lib64 directories If you change line libdir=${exec_prefix}/lib to libdir=${exec_prefix}/lib64 then it will hide it on a multilib system You should fix your package's pkg-config file to be multilib friendly, the way it's now in the libsepol.pc would be a violation against multilib-strict I mean, that package fix should be done regardless of what I'm about reveal there is a possibility for, pkg-config supports also ./configure --with-system-library-path= can be used to alter the system paths, like adding /usr/lib to there also for multilib systems I don't know if that is sane to do in addition to fixing libsepol's .pc? I'm really asking not telling :) Plus I wonder how dev-util/pkgconf is behaving for this, do they even have a switch in configure to specific these paths? I mean, they should be generally kept in loop... CCing some maintainers. Aha got it. I had to pass on the LIBDIR and SHLIBDIR to the build (src_compile) as well, not online to src_install (cfr bug #480960). sys-libs/libsepol-2.1.9-r3 now provides "-lsepol" only as output of the pkg-config command. Works like a charm - fixes compilation of busybox too. Thank you. Stable in tree |