Hi,
I hope this is the appropriate list for the given issue.
I was in the process of installing Xen on CentOS 4.1, when I ran into the problem that I could not rebuild glibc. (Xen needs a glibc compiled with -mno-tls-direct-seg-refs).
The problem is that I cannot rebuild glibc at all (even without any modifications). The build fails during checks (I think it's ntpl) and the build process hangs. There is a defunc ld-linux.so.2 process. If I kill that one, the build goes on and creates rpms, but I guess that glibc must be broken anyway. The check logs give me no clue what could have happened.
The problem was already reported in the CentOS forum on 2005/6/21: http://www.centos.org/modules/newbb/viewtopic.php?topic_id=1159
What I did was: * Install minimum CentOS 4.1 from ISOs * update the system using yum * install the toolchain to compile glibc (yum install gd-devel libpng-devel zlib-devel texinfo libselinux-devel gcc gcc-c++ rpm-build + deps) * Created an rpm-root for a regular user ("%_topdir /home/mip/rpm" in .rpmmacros) * as that user: rpm -i glibc-2.3.4-2.9.src.rpm * rpmbuild -ba --target i686 rpm/SPECS/glibc.spec
Could you please tell me... * if I am doing something completely wrong? * if you can successfully rebuild glibc with an up-to-date system? * how to find out what really goes wrong here.
Thank you very much for any help!
Best Regards, Michael Paesold
On Tue, 2005-08-09 at 10:48 +0200, Michael Paesold wrote:
Hi,
I hope this is the appropriate list for the given issue.
I was in the process of installing Xen on CentOS 4.1, when I ran into the problem that I could not rebuild glibc. (Xen needs a glibc compiled with -mno-tls-direct-seg-refs).
The problem is that I cannot rebuild glibc at all (even without any modifications). The build fails during checks (I think it's ntpl) and the build process hangs. There is a defunc ld-linux.so.2 process. If I kill that one, the build goes on and creates rpms, but I guess that glibc must be broken anyway. The check logs give me no clue what could have happened.
The problem was already reported in the CentOS forum on 2005/6/21: http://www.centos.org/modules/newbb/viewtopic.php?topic_id=1159
What I did was:
- Install minimum CentOS 4.1 from ISOs
- update the system using yum
- install the toolchain to compile glibc
(yum install gd-devel libpng-devel zlib-devel texinfo libselinux-devel gcc gcc-c++ rpm-build + deps)
- Created an rpm-root for a regular user ("%_topdir /home/mip/rpm" in
.rpmmacros)
- as that user: rpm -i glibc-2.3.4-2.9.src.rpm
- rpmbuild -ba --target i686 rpm/SPECS/glibc.spec
Could you please tell me...
- if I am doing something completely wrong?
- if you can successfully rebuild glibc with an up-to-date system?
- how to find out what really goes wrong here.
I can confirm this is an issue as well on my build machine (at least for the i686 target). Karanbir is also looking at it.
According to the forum post, it is related to the new kernel.
I will try building it on an older kernel and on RHEL. I initially built it on the previous kernel when Update 1 was released.
Johnny Hughes wrote:
The problem was already reported in the CentOS forum on 2005/6/21: http://www.centos.org/modules/newbb/viewtopic.php?topic_id=1159
I can confirm this is an issue as well on my build machine (at least for the i686 target). Karanbir is also looking at it.
According to the forum post, it is related to the new kernel.
I will try building it on an older kernel and on RHEL. I initially built it on the previous kernel when Update 1 was released.
I can confirm that the kernel seems to be the culprit. After my last report I have now just downgraded the kernel from 2.6.9-11.ELsmp to 2.6.9-5.0.5smp, which solved the problem. I have successfully built glibc rpms, including a set built with -mno-tls-direct-seg-refs.
So there seems to be something wrong with the latest kernel.
Best Regards, Michael Paesold
On Thu, 11 Aug 2005, Michael Paesold wrote:
I will try building it on an older kernel and on RHEL. I initially built it on the previous kernel when Update 1 was released.
I can confirm that the kernel seems to be the culprit. After my last report I have now just downgraded the kernel from 2.6.9-11.ELsmp to 2.6.9-5.0.5smp, which solved the problem. I have successfully built glibc rpms, including a set built with -mno-tls-direct-seg-refs.
So there seems to be something wrong with the latest kernel.
That's not sound logic. Whatever is wrong with the build is only evident under the new kernel, but that doesn't come close to proving that the fault is not with the toolchain or buildscripts.
--- Charlie
On Thu, 2005-08-11 at 19:15 -0400, Charlie Brady wrote:
On Thu, 11 Aug 2005, Michael Paesold wrote:
I will try building it on an older kernel and on RHEL. I initially built it on the previous kernel when Update 1 was released.
I can confirm that the kernel seems to be the culprit. After my last report I have now just downgraded the kernel from 2.6.9-11.ELsmp to 2.6.9-5.0.5smp, which solved the problem. I have successfully built glibc rpms, including a set built with -mno-tls-direct-seg-refs.
So there seems to be something wrong with the latest kernel.
That's not sound logic. Whatever is wrong with the build is only evident under the new kernel, but that doesn't come close to proving that the fault is not with the toolchain or buildscripts.
I agree ... and I would not use that kernel on anything important. There are memory leaks that cause Kernel oopses on moderately loaded servers.
I am currently installing an up2date RHEL-4 install specifically to build this package and verify that the issue is not CentOS specific.
On Tue, 2005-08-09 at 10:48 +0200, Michael Paesold wrote: ...
- if you can successfully rebuild glibc with an up-to-date system?
- how to find out what really goes wrong here.
Can confirm that I see the same problem - re-building as a normal user on an up-to-date CentOS4 system. Killing the defunct ld-linux.so.2 process allows the build to continue, but it then hangs again later with another defunct process:
prs 18326 0.0 0.0 0 0 pts/0 Zl 12:13 0:00 [ld-linux.so.2] <defunct>
make[1]: Target `check' not remade because of errors. make[1]: Leaving directory `/home/prs/rpmbuild/BUILD/glibc-2.3-20050218T0151' make: *** [check] Error 2
Killing again lets the build complete and write (suspect) RPMS.
There are a lot more errors in the output - all seeming to be test/check-related.
$ grep " Error" Build.log make[2]: *** [/home/prs/rpmbuild/BUILD/glibc-2.3-20050218T0151/build-i686-linuxnptl/nptl/tst-eintr2.out] Error 1 make[2]: *** [/home/prs/rpmbuild/BUILD/glibc-2.3-20050218T0151/build-i686-linuxnptl/nptl/tst-eintr3.out] Error 1 make[2]: *** [/home/prs/rpmbuild/BUILD/glibc-2.3-20050218T0151/build-i686-linuxnptl/nptl/tst-eintr5.out] Error 1 make[2]: *** [/home/prs/rpmbuild/BUILD/glibc-2.3-20050218T0151/build-i686-linuxnptl/nptl/tst-tsd5.out] Error 1 make[2]: *** [/home/prs/rpmbuild/BUILD/glibc-2.3-20050218T0151/build-i686-linuxnptl/nptl/tst-exit2.out] Error 1 make[2]: *** [/home/prs/rpmbuild/BUILD/glibc-2.3-20050218T0151/build-i686-linuxnptl/nptl/tst-exit3.out] Error 1 make[1]: *** [nptl/tests] Error 2 make[2]: *** [/home/prs/rpmbuild/BUILD/glibc-2.3-20050218T0151/build-i686-linuxnptl/rt/tst-timer2.out] Error 1 make[1]: *** [rt/tests] Error 2 make: *** [check] Error 2 make[2]: *** [/home/prs/rpmbuild/BUILD/glibc-2.3-20050218T0151/build-i686-linuxnptl/nptl/tst-eintr2.out] Error 1 make[2]: *** [/home/prs/rpmbuild/BUILD/glibc-2.3-20050218T0151/build-i686-linuxnptl/nptl/tst-eintr3.out] Error 1 make[2]: *** [/home/prs/rpmbuild/BUILD/glibc-2.3-20050218T0151/build-i686-linuxnptl/nptl/tst-eintr5.out] Error 1 make[2]: *** [/home/prs/rpmbuild/BUILD/glibc-2.3-20050218T0151/build-i686-linuxnptl/nptl/tst-tsd5.out] Error 1 make[2]: *** [/home/prs/rpmbuild/BUILD/glibc-2.3-20050218T0151/build-i686-linuxnptl/nptl/tst-exit2.out] Error 1 make[2]: *** [/home/prs/rpmbuild/BUILD/glibc-2.3-20050218T0151/build-i686-linuxnptl/nptl/tst-exit3.out] Error 1 make[1]: *** [nptl/tests] Error 2 make: *** [check] Error 2
Trying the build now as root to see if that makes a difference.
Phil
On Tue, 2005-08-09 at 13:02 -0400, Phil Schaffner wrote:
Trying the build now as root to see if that makes a difference.
To close out this thought - only apparent difference when building as root was that I only had to kill one defunct process vs two as a user. Will be interested to see Johnny and Karanbir's results.
Phil
On Wed, 2005-08-10 at 08:22 -0400, Phil Schaffner wrote:
On Tue, 2005-08-09 at 13:02 -0400, Phil Schaffner wrote:
Trying the build now as root to see if that makes a difference.
To close out this thought - only apparent difference when building as root was that I only had to kill one defunct process vs two as a user. Will be interested to see Johnny and Karanbir's results.
Phil
I have confirmed that this is also an issue on x86_64. It is also present in RHEL-4 and still present in the RHEL4-Update2Beta.
As Michael Paesold pointed out (and I verified in CentOS-4 and RHEL-4), using an older kernel allows the build to complete.
I have submitted a bug to RH at: https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=166454
Thanks, Johnny Hughes