Bug 184005 - sys-boot/efibootmgr fails to compile if sys-apps/pciutils is build with USE="zlib"
|
Bug#:
184005
|
Product: Gentoo Linux
|
Version: unspecified
|
Platform: IA64
|
|
OS/Version: Linux
|
Status: RESOLVED
|
Severity: critical
|
Priority: P2
|
|
Resolution: FIXED
|
Assigned To: ia64@gentoo.org
|
Reported By: ahf@0x90.dk
|
|
Component: Ebuilds
|
|
|
URL:
|
|
Summary: sys-boot/efibootmgr fails to compile if sys-apps/pciutils is build with USE="zlib"
|
|
Keywords:
|
|
Status Whiteboard:
|
|
Opened: 2007-07-02 17:35 0000
|
sys-boot/efibootmgr fails to compile if sys-apps/pciutils is build with
USE="zlib".
zlib is default USE flag and breaks users running with default setup from
installing Gentoo on their IA64 based system with EFI.
Please fix.
No, we won't fix this, because we oh so totally need to save the disk space! :P
Jakub, thanks for the valued input. Such an attitude and comments definitely
assist in helping get this bug resolved in a timely manner. *rolleyes*
Alexander, can you post the actual error message from the compile?
Thanks
Created an attachment (id=123998) [details]
Fixed ebuild.
Hi Chris,
It was a linking issue where it failed to link against 'z'. A fixed ebuild with
a solution is included.
If you have any better solution feel free to use that instead.
Regards,
Alex
I'm reopening it, since I think it needs a proper fix.
I talked with Mike (vapier) and he suggested using pkg-config and getting a
patch approved upstream would be the right solution. I agree with that.
The following is a message of a debian developer, Steve Langasek. Maybe nothing
new, but more info on the bug :-D
I suffer this on a x86-64 system, so it's not a IA64 problem only.
----------------------------------------
> > /usr/lib/gcc/i486-linux-gnu/4.1.2/../../../../lib/libpci.a(names.o): In function `pci_load_name_list':
> > (.text+0x533): undefined reference to `gzopen'
> > /usr/lib/gcc/i486-linux-gnu/4.1.2/../../../../lib/libpci.a(names.o): In function `pci_load_name_list':
> > (.text+0x5cd): undefined reference to `gzgets'
> > /usr/lib/gcc/i486-linux-gnu/4.1.2/../../../../lib/libpci.a(names.o): In function `.L154':
> > (.text+0x6d3): undefined reference to `gzclose'
> > /usr/lib/gcc/i486-linux-gnu/4.1.2/../../../../lib/libpci.a(names.o): In function `.L154':
> > (.text+0x6f8): undefined reference to `gzeof'
> > /usr/lib/gcc/i486-linux-gnu/4.1.2/../../../../lib/libpci.a(names.o): In function `.L154':
> > (.text+0x788): undefined reference to `gzclose'
> > /usr/lib/gcc/i486-linux-gnu/4.1.2/../../../../lib/libpci.a(names.o): In function `.L154':
> > (.text+0xb9c): undefined reference to `gzopen'
> > /usr/lib/gcc/i486-linux-gnu/4.1.2/../../../../lib/libpci.a(names.o): In function `.L155':
> > (.text+0xd33): undefined reference to `gzerror'
> > /usr/lib/gcc/i486-linux-gnu/4.1.2/../../../../lib/libpci.a(names.o): In function `.L155':
> > (.text+0xd53): undefined reference to `gzclose'
> > collect2: ld returned 1 exit status
> > make[1]: *** [toshsat1800-irdasetup] Error 1
> > make[1]: Leaving directory `/build/buildd/toshset-1.72/toshsat1800-irdasetup-0.2'
> > make: *** [build-stamp] Error 2
> Probably caused by pciutils-dev broken.
Indeed, libpci.a now depends on libz, but pciutils-dev doesn't have a
dependency reflecting this -- nor, for that matter, is there any facility in
pciutils-dev that lets consumers of this library know what other libs one
needs to link against! Seeing now that pciutils-dev *only* provides a
static library, it seems that this is going to require quite a few source
changes in the reverse-dependencies, so I'm pre-emptively freezing pciutils
in etch at its current version to avoid adding 11 new release-critical bugs
to etch unnecessarily.
Going forward, it would be ideal if pciutils-dev would add support for
pkg-config so that reverse-dependencies could query pkg-config --libs
--static for the necessary extra lib information; even with this support in
place, though, I don't think it's advisable to ask reverse-dep maintainers
to switch to this until etch is frozen, since testing will /not/ have the
necessary facility.
ia64:
pciutils does provide a pkg-config file as of 2.2.6*, please use it to find the
correct libs to link against.