[oe] New kmod {libdir} breaks udev 182 build

Martin Ertsås martiert at gmail.com
Tue May 15 08:41:54 UTC 2012


On 05/15/12 10:39, Thilo Fromm wrote:
> Hello Khem,
>
>>> I've got an issue with
>>> openembedded-core/meta/recipes-kernel/kmod/kmod_git.bb, with the way
>>> {libdir} is set in line 19:
>>>
>>> libdir = "${base_libdir}"
>>>
>>> "git blame" claims this was added by Khem Raj on 2012-05-08. This line
>>> causes libkmod to put its pkgconfig ".pc" file in the staging area at
>>> "/lib/pkgconfig/libkmod.pc". This is sad because other recipes would
>>> only look at /usr/lib/pkgconfig/ and /usr/share/pkgconfig.
>>>
>>> Take meta-openembedded/meta-oe/recipes-core/udev/udev_182.bb, for
>>> example. The build predictably fails with
>>>
>>> checking for KMOD... no
>>> configure: error: Package requirements (libkmod >= 5) were not met:
>>>
>>> No package 'libkmod' found
>>>
>>>
>>> So what's the right thing do do here? Use a different package install
>>> path for libkmod, or point udev to /lib/pkgconfig by extending its
>>> PKG_CONFIG_PATH correspondingly?
>> One solution is to fix kmod to install pc files in /usr/lib with right paths
>> to access libkmod
>>
>> second solution is to look for pc files in ${base_libdir} while building udev
>> can you try this option.
> Yes, I was trying to state these two possible resolutions in my first
> mail. I already tried adding
>
> PKG_CONFIG_PATH =
> "${PKG_CONFIG_DIR}:${STAGING_DATADIR}/pkgconfig:${PKG_CONFIG_SYSROOT_DIR}/${base_libdir}/pkgconfig/"
>
> to udev-182 and systemd (which is also affected) recipes. It works
> around the bug. Still, I think kmod is publishing its .pc files in the
> wrong directory.
>
> Regards,
> Thilo
>
We are also having this issue, and have just added this hack in a
bbappend for udev and systemd. Not a pretty solution, but found it to be
a lot of work to make only the .pc files be put in /usr/lib/pkgconfig
instead of /lib/pkgconfig. I totally agree that kmod publishes it's .pc
files in the wrong directory, as every distro I have tried uses
/usr/lib/pkgconfig as the pkgconfig directory. Guess we will keep this
hack until kmod is fixed upstream though.

- Martin




More information about the Openembedded-devel mailing list