| Summary: | only link in libtirpc to binaries that need it | ||||||
|---|---|---|---|---|---|---|---|
| Product: | Red Hat Enterprise Linux 6 | Reporter: | Jeff Layton <jlayton> | ||||
| Component: | nfs-utils | Assignee: | Steve Dickson <steved> | ||||
| Status: | CLOSED ERRATA | QA Contact: | yanfu,wang <yanwang> | ||||
| Severity: | unspecified | Docs Contact: | |||||
| Priority: | unspecified | ||||||
| Version: | 6.3 | CC: | steved, yanwang | ||||
| Target Milestone: | rc | ||||||
| Target Release: | --- | ||||||
| Hardware: | Unspecified | ||||||
| OS: | Unspecified | ||||||
| Whiteboard: | |||||||
| Fixed In Version: | nfs-utils-1.2.3-16.el6 | Doc Type: | Bug Fix | ||||
| Doc Text: | Story Points: | --- | |||||
| Clone Of: | Environment: | ||||||
| Last Closed: | 2012-06-20 15:08:16 UTC | Type: | --- | ||||
| Regression: | --- | Mount Type: | --- | ||||
| Documentation: | --- | CRM: | |||||
| Verified Versions: | Category: | --- | |||||
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |||||
| Cloudforms Team: | --- | Target Upstream Version: | |||||
| Attachments: |
|
||||||
commit d33381555310aacaa9a5da05ccb3b156abea2971
Author: Jeff Layton <jlayton>
Date: Fri Dec 23 09:04:54 2011 -0500
autoconf: fix up libevent autoconf test
Have it set LIBEVENT to -levent and use that in the Makefiles instead
of hardcoding it.
Signed-off-by: Jeff Layton <jlayton>
hi Steve,
Run package build/configure, got "configure: error: libevent headers not found" failure:
# rpmbuild -ba SPECS/nfs-utils.spec
error: Failed build dependencies:
libgssglue-devel is needed by nfs-utils-1:1.2.3-20.el6.i686
libevent-devel is needed by nfs-utils-1:1.2.3-20.el6.i686
libcap-devel is needed by nfs-utils-1:1.2.3-20.el6.i686
nfs-utils-lib-devel >= 1.1.0-3 is needed by nfs-utils-1:1.2.3-20.el6.i686
libtirpc-devel is needed by nfs-utils-1:1.2.3-20.el6.i686
libblkid-devel is needed by nfs-utils-1:1.2.3-20.el6.i686
tcp_wrappers-devel is needed by nfs-utils-1:1.2.3-20.el6.i686
run build after install dependency packages:
...
checking event.h presence... no
checking for event.h... no
configure: error: libevent headers not found.
error: Bad exit status from /var/tmp/rpm-tmp.YVYSBk (%build)
From checking nfs-utils-1.2.3-link-libtirpc.patch:
+ AC_CHECK_LIB([event], [event_dispatch], [LIBEVENT=-levent],
[AC_MSG_ERROR([libevent not found.])])
+ AC_SUBST(LIBEVENT)
AC_CHECK_HEADERS([event.h], ,
[AC_MSG_ERROR([libevent headers not found.])])
If libevent-devel got installed correctly, then there should be a /usr/include/event.h file. Is that not present? (In reply to comment #8) > If libevent-devel got installed correctly, then there should be a > /usr/include/event.h file. > > Is that not present? The package is installed and the head file is there, but configure still got failed: [root@intel-chiefriver-04 ~]# rpm -qa|grep libevent-devel libevent-devel-1.4.13-3.el6.i686 [root@intel-chiefriver-04 ~]# ls -l /usr/include/event.h -rw-r--r--. 1 root root 37776 Apr 4 09:49 /usr/include/event.h [root@intel-chiefriver-04 rpmbuild]# cd BUILD/nfs-utils-1.2.3/ [root@intel-chiefriver-04 nfs-utils-1.2.3]# ./configure ... checking for getservbyname... yes checking for crypt in -lcrypt... yes checking for event_dispatch in -levent... yes checking event.h usability... no checking event.h presence... no checking for event.h... no configure: error: libevent headers not found. Is it possible to get the config.log file so we can see what happened? Created attachment 576645 [details]
config.log
(In reply to comment #10) > Is it possible to get the config.log file so we can see what happened? Attached it, pls help to check, thanks. Looks like it failed because event-config.h wasn't present.
------------------------[snip]-----------------------
configure:19388: checking event.h usability
configure:19405: gcc -c -g -O2 -D_GNU_SOURCE conftest.c >&5
In file included from conftest.c:67:
/usr/include/event.h:162:26: error: event-config.h: No such file or directory
In file included from /usr/include/event.h:175,
from conftest.c:67:
/usr/include/evutil.h:68:2: error: #error "No way to define ev_uint64_t"
/usr/include/evutil.h:80:2: error: #error "No way to define ev_uint32_t"
/usr/include/evutil.h:92:2: error: #error "No way to define ev_uint16_t"
In file included from /usr/include/event.h:175,
from conftest.c:67:
------------------------[snip]-----------------------
The latest version of libevent has this in the changelog:
* Wed Apr 04 2012 Steve Dickson <steved> 1.4.13-2
- Removed the event-config.h file (bz 658051)
...maybe it would be a good idea to reopen that bug and see if there's a better
way to deal with the multilib conflict?
(In reply to comment #13) > Looks like it failed because event-config.h wasn't present. > > ------------------------[snip]----------------------- > > configure:19388: checking event.h usability > configure:19405: gcc -c -g -O2 -D_GNU_SOURCE conftest.c >&5 > In file included from conftest.c:67: > /usr/include/event.h:162:26: error: event-config.h: No such file or directory > In file included from /usr/include/event.h:175, > from conftest.c:67: > /usr/include/evutil.h:68:2: error: #error "No way to define ev_uint64_t" > /usr/include/evutil.h:80:2: error: #error "No way to define ev_uint32_t" > /usr/include/evutil.h:92:2: error: #error "No way to define ev_uint16_t" > In file included from /usr/include/event.h:175, > from conftest.c:67: > > ------------------------[snip]----------------------- > > The latest version of libevent has this in the changelog: > > * Wed Apr 04 2012 Steve Dickson <steved> 1.4.13-2 > - Removed the event-config.h file (bz 658051) > > ...maybe it would be a good idea to reopen that bug and see if there's a better > way to deal with the multilib conflict? Thanks Jeff! Steve, how about re-open bug 658051? Could you help to resolve it? I just fix the problem in bug 658051 (In reply to comment #15) > I just fix the problem in bug 658051 thanks Steve. rpmbuild is ok now after update libevent to 1.4.13-4.el6: ... Checking for unpackaged file(s): /usr/lib/rpm/check-files /root/rpmbuild/BUILDROOT/nfs-utils-1.2.3-21.el6.x86_64 Wrote: /root/rpmbuild/SRPMS/nfs-utils-1.2.3-21.el6.src.rpm Wrote: /root/rpmbuild/RPMS/x86_64/nfs-utils-1.2.3-21.el6.x86_64.rpm Wrote: /root/rpmbuild/RPMS/x86_64/nfs-utils-debuginfo-1.2.3-21.el6.x86_64.rpm Executing(%clean): /bin/sh -e /var/tmp/rpm-tmp.CCpI0Y + umask 022 + cd /root/rpmbuild/BUILD + cd nfs-utils-1.2.3 + echo rm -rf /root/rpmbuild/BUILDROOT/nfs-utils-1.2.3-21.el6.x86_64 rm -rf /root/rpmbuild/BUILDROOT/nfs-utils-1.2.3-21.el6.x86_64 + exit 0 Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory, and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. http://rhn.redhat.com/errata/RHBA-2012-0964.html |
Currently, libtirpc gets linked into every binary in the nfs-utils build. For instance: $ ldd /usr/sbin/nfsstat linux-vdso.so.1 => (0x00007fffdd3ff000) libtirpc.so.1 => /lib64/libtirpc.so.1 (0x00007fd99664a000) libnsl.so.1 => /lib64/libnsl.so.1 (0x00007fd996431000) libgssglue.so.1 => /lib64/libgssglue.so.1 (0x00007fd996227000) libdl.so.2 => /lib64/libdl.so.2 (0x00007fd996023000) libpthread.so.0 => /lib64/libpthread.so.0 (0x00007fd995e07000) libc.so.6 => /lib64/libc.so.6 (0x00007fd995a65000) /lib64/ld-linux-x86-64.so.2 (0x00007fd996a88000) ...nfsstat clearly doesn't need to be linked against libtirpc, but it gets it anyway. I've proposed some patches upstream to clean that up and we should probably consider pulling them into RHEL6 too. See: http://marc.info/?l=linux-nfs&m=132466975019648&w=2 We especially want to avoid the bug that prompted that whole set in the first place -- the change that made libnfsidmap get linked into everything in the build. If we plan to pull in the nfsidmap patches then we should take these at the same time...