Bug 646884
Summary: | kudzu fails to build after pciutils rebase: libpci.a(names-net.o): In function `pci_id_net_lookup': (.text+0x167): undefined reference to `__res_query' | ||
---|---|---|---|
Product: | Red Hat Enterprise Linux 5 | Reporter: | Michal Nowak <mnowak> |
Component: | pciutils | Assignee: | Michal Hlavinka <mhlavink> |
Status: | CLOSED ERRATA | QA Contact: | BaseOS QE - Apps <qe-baseos-apps> |
Severity: | medium | Docs Contact: | |
Priority: | medium | ||
Version: | 5.6 | CC: | ddumas, notting, ohudlick |
Target Milestone: | rc | Keywords: | Rebase, Regression |
Target Release: | --- | ||
Hardware: | Unspecified | ||
OS: | Unspecified | ||
Whiteboard: | |||
Fixed In Version: | Doc Type: | Rebase: Bug Fixes and Enhancements | |
Doc Text: | Story Points: | --- | |
Clone Of: | Environment: | ||
Last Closed: | 2011-01-13 22:38:01 UTC | Type: | --- |
Regression: | --- | Mount Type: | --- |
Documentation: | --- | CRM: | |
Verified Versions: | Category: | --- | |
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
Cloudforms Team: | --- | Target Upstream Version: | |
Embargoed: |
Description
Michal Nowak
2010-10-26 14:46:49 UTC
The one specific to -fPIC certainly needs fixed in pciutils; the library needs to be built with -fPIC. The first could probably be relnoted such that 'any app that links against libpci now needs to link against libresolv'. 1)(.text+0x167): undefined reference to `__res_query' pciutils does not use pkg-config so the way how to fix this is just to append "-lresolv" to build line: cc -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m32 -march=i386 -mtune=generic -fasynchronous-unwind-tables -I. -Wall -D_GNU_SOURCE -g -I. -DVERSION=\"1.2.57.1.24\" hwconf.o -o kudzu -L. -lkudzu -L. -lpci -lresolv which I tested and it fixed the problem 2)/usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../../lib64/libpci.a(init.o): relocation R_X86_64_32S against `a local symbol' can not be used when making a shared object; recompile with -fPIC this is also odd, because pciutils provides only static library for which -fPIC should not be needed and also old version of pciutils did not use -fPIC problem can be fixed if -fPIC is added to pciutils build or by modifying following kudzu's build command: cc -o $ver/_kudzumodule.so $ver/kudzumodule.o -shared -Wl,soname,_kudzumodule.so -L. -lkudzu -lpci just swap order of -lkudzu -lpci to -lpci -lkudzu (In reply to comment #4) > 2)/usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../../lib64/libpci.a(init.o): > relocation R_X86_64_32S against `a local symbol' can not be used when making a > shared object; recompile with -fPIC > > this is also odd, because pciutils provides only static library for which -fPIC > should not be needed and also old version of pciutils did not use -fPIC Yes, they did. See the changelog and the patches (pciutils-strip.patch is the one where this was set.) (In reply to comment #5) > (In reply to comment #4) > > > this is also odd, because pciutils provides only static library for which -fPIC > > should not be needed and also old version of pciutils did not use -fPIC > > Yes, they did. See the changelog and the patches (pciutils-strip.patch is the > one where this was set.) you're right, my bad, I did not expect that strip patch would contain this An advisory has been issued which should help the problem described in this bug report. This report is therefore being closed with a resolution of ERRATA. For more information on therefore solution and/or where to find the updated files, please follow the link below. You may reopen this bug report if the solution does not work for you. http://rhn.redhat.com/errata/RHEA-2011-0045.html |