Summary: | >=sys-libs/efivar-23 (including current stable) miss pkgconfig (build time) dependancy | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Julien Décharne <jd> |
Component: | Current packages | Assignee: | Mike Gilbert <floppym> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | jd |
Priority: | Normal | ||
Version: | unspecified | ||
Hardware: | All | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- |
https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=0106c058b984a0868ec01d7f74044145c56814e2 commit 0106c058b984a0868ec01d7f74044145c56814e2 Author: Mike Gilbert <floppym@gentoo.org> Date: Sat Mar 25 18:36:02 2017 -0400 sys-libs/efivar: depend on pkgconfig Bug: https://bugs.gentoo.org/613792 Package-Manager: Portage-2.3.5_p2, Repoman-2.3.2_p32 sys-libs/efivar/efivar-30.ebuild | 4 +++- sys-libs/efivar/efivar-31.ebuild | 4 +++- 2 files changed, 6 insertions(+), 2 deletions(-) |
>=sys-libs/efivar-23 fail to compile if pkgconfig is not installed. ebuilds should add virtual/pkgconfig to their DEPEND variable. TO REPRODUCE: # emerge --depclean note: virtual/pkgconfig might be pulled by some packages, in this case this bug doesn't appear; for reproducing this bug removing pkgconfig by hand is necessary : emerge --unmerge virtual/pkgconfig dev-utils/pkgconfig # emerge sys-libs/efivar (...) x86_64-pc-linux-gnu-gcc (...) -o efivar efivar.c -lefivar -ldl (...)sys-libs/efivar-30/temp/ccsucL3b.ltrans0.ltrans.o: In function `main': <artificial>:(.text.startup+0x2ef): undefined reference to `poptAliasOptions' (...) * ERROR: sys-libs/efivar-30::gentoo failed (compile phase): * emake failed (...) WORKAROUND: # emerge --oneshot virtual/pkgconfig # emerge sys-libs/efivar (...) x86_64-pc-linux-gnu-gcc (...) -o efivar efivar.c -lefivar -ldl -lpopt (...) # emerge --depclean DETAILS Without pkgconfig installed, efivar's Make system doesn't define pkgconfig-related variables - without emitting any warning. When compiling, the last gcc command fail to find reference symbols defined by library popt, because Make didn't add proper argument for searching popt library at link time ("-lpopt").