Bug 158379

Summary: Building i686 binaries from source fails
Product: Red Hat Enterprise Linux 3 Reporter: Zenon Panoussis <redhatbugs>
Component: glibcAssignee: Jakub Jelinek <jakub>
Status: CLOSED NOTABUG QA Contact: Brian Brock <bbrock>
Severity: medium Docs Contact:
Priority: medium    
Version: 3.0   
Target Milestone: ---   
Target Release: ---   
Hardware: i686   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2005-05-23 05:48:13 EDT Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---

Description Zenon Panoussis 2005-05-21 04:54:28 EDT
From Bugzilla Helper:
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7.7) Gecko/20050501 Red Hat/1.7.7-1.1.3.4

Description of problem:
Building i686 on a dual PIII fails. i386 builds just fine. 


Version-Release number of selected component (if applicable):
2.3.2-95.33

How reproducible:
Always

Steps to Reproduce:
1. rpmbuild -bb --target i686 glibc.spec
  

Actual Results:  scripts/check-c++-types.sh scripts/data/c++-types-i386-linux-gnu.data g++ -DNDEBUG=1 -O3 -Wall -Winline -Wstrict-prototypes -Wwrite-strings -finline-limit=2000 -g -march=i686 -mpreferred-stack-boundary=2  -Iinclude -I. -I/mnt/sdc1/3/BUILD/glibc-2.3.2-200309260658/build-i686-linuxnptl  -Ilibio -Inptl -I/mnt/sdc1/3/BUILD/glibc-2.3.2-200309260658/build-i686-linuxnptl -Isysdeps/i386/elf -Inptl/sysdeps/unix/sysv/linux/i386/i686 -Inptl/sysdeps/unix/sysv/linux/i386 -Inptl/sysdeps/unix/sysv/linux -Inptl/sysdeps/pthread -Irtkaio/sysdeps/pthread -Isysdeps/pthread -Inptl/sysdeps/unix/sysv -Inptl/sysdeps/unix -Inptl/sysdeps/i386/i686 -Inptl/sysdeps/i386 -Irtkaio/sysdeps/unix/sysv/linux -Irtkaio/sysdeps/rtkaio -Irtkaio/sysdeps/unix/sysv -Irtkaio/sysdeps/unix -Isysdeps/unix/sysv/linux/i386 -Isysdeps/unix/sysv/linux -Isysdeps/gnu -Isysdeps/unix/common -Isysdeps/unix/mman -Isysdeps/unix/inet -Isysdeps/unix/sysv/i386 -Isysdeps/unix/sysv -Isysdeps/unix/i386 -Isysdeps/unix -Isysdeps/posix -Isysdeps/i386/i686/fpu -Isysdeps/i386/i686 -Isysdeps/i386/i486 -Inptl/sysdeps/i386/i486 -Isysdeps/i386/fpu -Isysdeps/i386 -Isysdeps/wordsize-32 -Isysdeps/ieee754/ldbl-96 -Isysdeps/ieee754/dbl-64 -Isysdeps/ieee754/flt-32 -Isysdeps/ieee754 -Isysdeps/generic/elf -Isysdeps/generic -nostdinc -isystem /usr/lib/gcc-lib/i386-redhat-linux/3.2.3/include -isystem /usr/include -D_LIBC_REENTRANT -D_LIBC_REENTRANT -include include/libc-symbols.h       > /mnt/sdc1/3/BUILD/glibc-2.3.2-200309260658/build-i686-linuxnptl/c++-types-check.out
make[1]: Target `check' not remade because of errors.
make[1]: Leaving directory `/mnt/sdc1/3/BUILD/glibc-2.3.2-200309260658'
make: *** [check] Error 2


Expected Results:  Exit 0


Additional info:
Comment 1 Jakub Jelinek 2005-05-21 05:01:25 EDT
You have not mentioned what errors you saw.  grep for '\*\*\*.*\.out'.
There are some expected errors in i386 glibc, I think tst-clock1 is supposed
to fail because due to lack of tsc i386 glibc (rather than i686) doesn't have
support for some clocks.
glibc.spec intentionally runs make check || :, so that a check failure does
not prevent glibc build, but we can analyze what failures are expected, what
failures are fatal and what non-fatal.
Comment 2 Zenon Panoussis 2005-05-21 17:28:12 EDT
I compiled it again. At "make: *** [check] Error 2" above, rpmbuild hangs
forever, not returning a prompt. Pressing <enter> a few times does nothing.
Hitting ^C causes the build to proceed until 

extracting debug info from /usr/sbin/nscd
Sorting source file lists. Might take a while...
51373 blocks
+ save_trace=yes
+ set +x
Cutting down the list of unpackaged files
+ /usr/lib/rpm/redhat/brp-compress
+ /usr/lib/rpm/redhat/brp-strip /usr/bin/strip
+ /usr/lib/rpm/redhat/brp-strip-static-archive /usr/bin/strip
+ /usr/lib/rpm/redhat/brp-strip-comment-note /usr/bin/strip /usr/bin/objdump

and then break, returning the prompt. The errors produced in the process are

make[2]: ***
[/mnt/sdc1/3/BUILD/glibc-2.3.2-200309260658/build-i686-linuxnptl/nptl/tst-exec4.out]
Error 1
Failed to kill test process: No child processes
make[2]: ***
[/mnt/sdc1/3/BUILD/glibc-2.3.2-200309260658/build-i686-linuxnptl/nptl/tst-exit2.out]
Error 1
Failed to kill test process: No child processes
make[2]: ***
[/mnt/sdc1/3/BUILD/glibc-2.3.2-200309260658/build-i686-linuxnptl/nptl/tst-exit3.out]
Error 1
in cleanup
make[2]: Target `tests' not remade because of errors.
make[2]: Leaving directory `/mnt/sdc1/3/BUILD/glibc-2.3.2-200309260658/nptl'
make[1]: *** [nptl/tests] Error 2
make -s -C rt tests
[...]
scripts/check-c++-types.sh scripts/data/c++-types-i386-linux-gnu.data g++
-DNDEBUG=1 -O3 -Wall -Winline -Wstrict-prototypes -Wwrite-strings
-finline-limit=2000 -g -march=i686 -mpreferred-stack-boundary=2  -Iinclude -I.
-I/mnt/sdc1/3/BUILD/glibc-2.3.2-200309260658/build-i686-linuxnptl  -Ilibio
-Inptl -I/mnt/sdc1/3/BUILD/glibc-2.3.2-200309260658/build-i686-linuxnptl
-Isysdeps/i386/elf -Inptl/sysdeps/unix/sysv/linux/i386/i686
-Inptl/sysdeps/unix/sysv/linux/i386 -Inptl/sysdeps/unix/sysv/linux
-Inptl/sysdeps/pthread -Irtkaio/sysdeps/pthread -Isysdeps/pthread
-Inptl/sysdeps/unix/sysv -Inptl/sysdeps/unix -Inptl/sysdeps/i386/i686
-Inptl/sysdeps/i386 -Irtkaio/sysdeps/unix/sysv/linux -Irtkaio/sysdeps/rtkaio
-Irtkaio/sysdeps/unix/sysv -Irtkaio/sysdeps/unix -Isysdeps/unix/sysv/linux/i386
-Isysdeps/unix/sysv/linux -Isysdeps/gnu -Isysdeps/unix/common
-Isysdeps/unix/mman -Isysdeps/unix/inet -Isysdeps/unix/sysv/i386
-Isysdeps/unix/sysv -Isysdeps/unix/i386 -Isysdeps/unix -Isysdeps/posix
-Isysdeps/i386/i686/fpu -Isysdeps/i386/i686 -Isysdeps/i386/i486
-Inptl/sysdeps/i386/i486 -Isysdeps/i386/fpu -Isysdeps/i386 -Isysdeps/wordsize-32
-Isysdeps/ieee754/ldbl-96 -Isysdeps/ieee754/dbl-64 -Isysdeps/ieee754/flt-32
-Isysdeps/ieee754 -Isysdeps/generic/elf -Isysdeps/generic -nostdinc -isystem
/usr/lib/gcc-lib/i386-redhat-linux/3.2.3/include -isystem /usr/include
-D_LIBC_REENTRANT -D_LIBC_REENTRANT -include include/libc-symbols.h       >
/mnt/sdc1/3/BUILD/glibc-2.3.2-200309260658/build-i686-linuxnptl/c++-types-check.out
make[1]: Target `check' not remade because of errors.
make[1]: Leaving directory `/mnt/sdc1/3/BUILD/glibc-2.3.2-200309260658'
make: *** [check] Error 2
+ cd ..
+ echo ====================TESTING DETAILS=================
====================TESTING DETAILS=================
++ sed -n 's|^.*\*\*\* \[\([^]]*\.out\)\].*$|\1|p'
build-i686-linuxltfs/check2.log build-i686-linuxnptl/check2.log
+ echo
=====/mnt/sdc1/3/BUILD/glibc-2.3.2-200309260658/build-i686-linuxnptl/nptl/tst-exec4.out=====
=====/mnt/sdc1/3/BUILD/glibc-2.3.2-200309260658/build-i686-linuxnptl/nptl/tst-exec4.out=====
+ cat
/mnt/sdc1/3/BUILD/glibc-2.3.2-200309260658/build-i686-linuxnptl/nptl/tst-exec4.out
Waiting for test program failed: No child processes
====================TESTING END=====================
[...]
Building debuginfo subpackage...
[...]
Cutting down the list of unpackaged files
[...]

Comment 3 Zenon Panoussis 2005-05-22 03:46:18 EDT
I had a hunch, not really based on anything rational, that the problem could be
caused by some kind of race between the two CPUs. So I installed the UP kernel
and tried yet again. Result: Exit 0.
Comment 4 Jakub Jelinek 2005-05-23 05:48:13 EDT
We run these tests on UP and SMP boxes very often (up to 8way) and never seen
this.  I guess your box was busy with some other workload.
You can try running the testcases by hand on an idle system.
elf/ld.so --library-path .:nptl nptl/tst-exit2; echo $?
elf/ld.so --library-path .:nptl nptl/tst-exit3; echo $?
elf/ld.so --library-path .:nptl nptl/tst-exec4 elf/ld.so --library-path .:nptl
nptl/tst-exec4; echo $?
Anyway, as I know it is not reproduceable for us, there is nothing we can do
about it.
Comment 5 Tobias Weikard 2005-06-01 16:16:09 EDT
(In reply to comment #3)
> I had a hunch, not really based on anything rational, that the problem could be
> caused by some kind of race between the two CPUs. So I installed the UP kernel
> and tried yet again. Result: Exit 0.
> 

I have the same problem, when I want to build i686 or athlon package. But I'm
using the UP kernel - System ist updated to U5. It always hangs at the point
discribed above. 

Any ideas?
Comment 6 Zenon Panoussis 2005-06-01 18:58:45 EDT
I have no useful ideas, but I can offer a solution to this NOTABUG: 

FTP server: griffin.qdh.nl
login:      tobias.w@weikard.de
password:   bug158379

You can get the ready binaries there.