All of lore.kernel.org
 help / color / mirror / Atom feed
* New kmod {libdir} breaks udev 182 build
@ 2012-05-14 11:18 Thilo Fromm
  2012-05-14 12:33 ` Otavio Salvador
  2012-05-14 17:26 ` Khem Raj
  0 siblings, 2 replies; 7+ messages in thread
From: Thilo Fromm @ 2012-05-14 11:18 UTC (permalink / raw)
  To: openembedded-devel

Hi guys,

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?

Regards,
Thilo

-- 
Dipl.-Ing (FH) Thilo Fromm, MSc., Embedded Systems Architect
DResearch Fahrzeugelektronik GmbH
Otto-Schmirgal-Str. 3, D-10319 Berlin, Germany
Tel: +49 (30) 515 932 228   mailto:fromm@dresearch-fe.de
Fax: +49 (30) 515 932 77    http://www.dresearch.de
Amtsgericht: Berlin Charlottenburg, HRB 130120 B
Ust.-IDNr. DE273952058
Geschäftsführer: Dr. M. Weber, W. Mögle



^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: New kmod {libdir} breaks udev 182 build
  2012-05-14 11:18 New kmod {libdir} breaks udev 182 build Thilo Fromm
@ 2012-05-14 12:33 ` Otavio Salvador
  2012-05-14 17:26 ` Khem Raj
  1 sibling, 0 replies; 7+ messages in thread
From: Otavio Salvador @ 2012-05-14 12:33 UTC (permalink / raw)
  To: openembedded-devel

On Mon, May 14, 2012 at 8:18 AM, Thilo Fromm <fromm@dresearch-fe.de> wrote:
> 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?

I have some build failure.

-- 
Otavio Salvador                             O.S. Systems
E-mail: otavio@ossystems.com.br  http://www.ossystems.com.br
Mobile: +55 53 9981-7854              http://projetos.ossystems.com.br



^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: New kmod {libdir} breaks udev 182 build
  2012-05-14 11:18 New kmod {libdir} breaks udev 182 build Thilo Fromm
  2012-05-14 12:33 ` Otavio Salvador
@ 2012-05-14 17:26 ` Khem Raj
  2012-05-15  8:39   ` Thilo Fromm
  1 sibling, 1 reply; 7+ messages in thread
From: Khem Raj @ 2012-05-14 17:26 UTC (permalink / raw)
  To: openembedded-devel

On Mon, May 14, 2012 at 4:18 AM, Thilo Fromm <fromm@dresearch-fe.de> wrote:
>
> 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.



^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: New kmod {libdir} breaks udev 182 build
  2012-05-14 17:26 ` Khem Raj
@ 2012-05-15  8:39   ` Thilo Fromm
  2012-05-15  8:41     ` Martin Ertsås
  0 siblings, 1 reply; 7+ messages in thread
From: Thilo Fromm @ 2012-05-15  8:39 UTC (permalink / raw)
  To: openembedded-devel

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

-- 
Dipl.-Ing (FH) Thilo Fromm, MSc., Embedded Systems Architect
DResearch Fahrzeugelektronik GmbH
Otto-Schmirgal-Str. 3, D-10319 Berlin, Germany
Tel: +49 (30) 515 932 228   mailto:fromm@dresearch-fe.de
Fax: +49 (30) 515 932 77    http://www.dresearch.de
Amtsgericht: Berlin Charlottenburg, HRB 130120 B
Ust.-IDNr. DE273952058
Geschäftsführer: Dr. M. Weber, W. Mögle



^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: New kmod {libdir} breaks udev 182 build
  2012-05-15  8:39   ` Thilo Fromm
@ 2012-05-15  8:41     ` Martin Ertsås
  2012-05-15  9:33       ` Koen Kooi
  0 siblings, 1 reply; 7+ messages in thread
From: Martin Ertsås @ 2012-05-15  8:41 UTC (permalink / raw)
  To: openembedded-devel

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



^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: New kmod {libdir} breaks udev 182 build
  2012-05-15  8:41     ` Martin Ertsås
@ 2012-05-15  9:33       ` Koen Kooi
  2012-05-15  9:59         ` Thilo Fromm
  0 siblings, 1 reply; 7+ messages in thread
From: Koen Kooi @ 2012-05-15  9:33 UTC (permalink / raw)
  To: openembedded-devel

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Op 15-05-12 10:41, Martin Ertsås schreef:
> 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,

It's not kmods fault. The recipe changes $libdir to /lib. It tries to take a
shortcut that backfires.

 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.

The bug is in the recipe:
http://cgit.openembedded.org/openembedded-core/commit/?id=6b74f2461735272bd950a4f060dab6e778a36f92

I spoke to upstream and they confirmed we get what we ask for in OE:
pkgconfig in the wrong location.


-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (Darwin)
Comment: GPGTools - http://gpgtools.org

iQIcBAEBAgAGBQJPsiLcAAoJEHZqAkdh1vT6V0QQAIXqt8azrJ29/P4n6quYFTg8
hOCDbNw/0CdKpqmAD7rEpBQPIAJ+oTKhWBQe6lFe9U6XgJzpMLvzV25ECzwlLxvo
g2PC832IeFO+joUSNx5quAJraHep+yVxf+NSYf725L8pYBqqZKgPPPpw4f9ShH9b
/kdcrmGd8cSCYehC70AsnDjKTgEh5955TZyovN6mp5xxuPPBNKfZFu/mtoomhGUG
87rfv8CaMVEzWCooBAaQGj1zsWl/4B94LJylyLj33dfFezUvwAtzkiHujsAlgQNi
vqWpqIhHpWClvMA7kzp4hWJ9rMS63+MbrMF1nCRJf2H3Hx+KVjZ4s1lQKbVJ1c7t
YaoQLyEadtyLYz4gC+S7+jwahyYrG70LSbOGav2UloYyDL/CLgBc5ziifKwsNypr
Yc6I/mCZq1nNkGGUKIuzk4Jx5HJ/vYd45UjJVDmWq7FowL791bxzrG8oV6Q2P/XU
FGP7VTnyIOdChqWKDI5Z89/sjk9VtQMWzO2Kz1gDdVs4HZFlO7XDs2dG5CHImdec
ItFqErawHZ9V/aaFhXZqAGXQEQ/Bi6FWBRe6jcOtdEjkK3BvCIPmj5B/RRdlUc+/
kp9TmAkg+qG6P0bousZ8F/NIK5pRVQ5UmxlZosvwB9f5I7rtCovcn3mPthkt1+CL
STheUSNwZ8RLFWYN9IV2
=clGb
-----END PGP SIGNATURE-----




^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: New kmod {libdir} breaks udev 182 build
  2012-05-15  9:33       ` Koen Kooi
@ 2012-05-15  9:59         ` Thilo Fromm
  0 siblings, 0 replies; 7+ messages in thread
From: Thilo Fromm @ 2012-05-15  9:59 UTC (permalink / raw)
  To: openembedded-devel

Hello Koen,

thanks for helping out with this.

>>>>> 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,
>
> It's not kmods fault. The recipe changes $libdir to /lib. It tries to take a
> shortcut that backfires.

Ahm - I would argue it therefore *is* kmod's fault. It is just not
intentional. But I think it needs to be fixed in kmod's recipe.

>>  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.
>
> The bug is in the recipe:
> http://cgit.openembedded.org/openembedded-core/commit/?id=6b74f2461735272bd950a4f060dab6e778a36f92

Yupp. Since it was Khem I suggest he fixes the issue :)

> I spoke to upstream and they confirmed we get what we ask for in OE:
> pkgconfig in the wrong location.

I seem to lack of some background knowledge here. I don't quite
understand the implications of this sentence.

Regards,
Thilo

-- 
Dipl.-Ing (FH) Thilo Fromm, MSc., Embedded Systems Architect
DResearch Fahrzeugelektronik GmbH
Otto-Schmirgal-Str. 3, D-10319 Berlin, Germany
Tel: +49 (30) 515 932 228   mailto:fromm@dresearch-fe.de
Fax: +49 (30) 515 932 77    http://www.dresearch.de
Amtsgericht: Berlin Charlottenburg, HRB 130120 B
Ust.-IDNr. DE273952058
Geschäftsführer: Dr. M. Weber, W. Mögle



^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2012-05-15 10:09 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-05-14 11:18 New kmod {libdir} breaks udev 182 build Thilo Fromm
2012-05-14 12:33 ` Otavio Salvador
2012-05-14 17:26 ` Khem Raj
2012-05-15  8:39   ` Thilo Fromm
2012-05-15  8:41     ` Martin Ertsås
2012-05-15  9:33       ` Koen Kooi
2012-05-15  9:59         ` Thilo Fromm

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.