Red Hat Bugzilla – Bug 121633
RPM cvs HEAD fails to build on glibc-2.3.4 system with nptl
Last modified: 2007-04-18 13:06:33 EDT
Description of problem:
RPM HEAD fails to build on glibc because of a difference in the way
pthread.h defines pthread_cleanup_push and pthread_cleanup_pop.
Version-Release number of selected component (if applicable):
I'll attach a copy of my pthread.h and a patch that allows it to
Created attachment 99672 [details]
pthread.h from glibc 2.3.4
As promised, a copy of pthread.h from glibc-2.3.4
Created attachment 99673 [details]
Patch to fix build problem
This patch fixes the mentioned build problem.
There are a few more things that I had to do to get this to work
right. I'll attach a rollup patch.
I also had issues with libedl.so on the 'make check' stage: I
noticed that the "install:" target for the makefile had all the
commands commented out within that directory.
The autogen.sh and Makefile.in force the user to use the bundled
So, as I see it, there are a number of bugs:
1. Unable to use external 'file'.
2. libelf compile failure (fixed by rollup.patch)
3. no determination of selinux (fixed by rollup.patch)
4. compile error in rpmio/rpmsq.c due to new pthread.h (fixed in
5. Bad INSTALL documentation of commands needed for tarball based
install (fixed in rollup.patch)
6. make check fails when using bundled libelf.
Created attachment 99674 [details]
As mentioned in my last comment, this patch fixes.
1) compile failure in libelf/tests/
2) autogen.sh not recognizing a non-selinux system
3) compile error in rpmio/rpmsq.c in conjunction with glibc-2.3.4.
4) INSTALL file omission.
1) internal elfutils is not current and should not be used
for any serious work. what is there is useful for rpm development
because the internal AOPI includes are annotated and so
splint can be used to detect problems while developming.
2) forcing selinux build failure is the desired default
build path for RH rpm. This has been fixed in other
ways on ehad and rpm-4_4 branches of rpm.
3) fixed afaik in rpm-4.4.1-0.18 and later.
4) inclusion of -p or not doesn't look like a serious documentation
flaw. /var/lock/rpm is now in /var/lib/rpm and is a configurable
Thanks for the patches however, apologies for the long delay.