Description of problem: glibc-2.3.4-2.9.src.rpm fails to build with --target i586 Version-Release number of selected component (if applicable): glibc-2.3.4-2.9.src.rpm How reproducible: always Steps to Reproduce: 1. Minimal install of RHEL4 from anaconda on an i686 machine. 2. Install the following extra packages required to build glibc-2.3.4-2.9.src.rpm: cpp.i386 3.4.3-22.1 glibc-kernheaders.i386 2.4-9.1.87 glibc-headers.i386 2.3.4-2.9 glibc-devel.i386 2.3.4-2.9 redhat-rpm-config.noarch 8.0.32.1-1 gcc.i386 3.4.3-22.1 rpm-build.i386 4.3.3-9_nonptl gd.i386 2.0.28-4 zlib-devel.i386 1.2.1.2-1 libpng-devel.i386 2:1.2.7-1 libselinux-devel.i386 1.19.1-7 texinfo.i386 4.7-5 gd-devel.i386 2.0.28-4 3. rpmbuild --rebuild --target i586 glibc-2.3.4-2.9.src.rpm Actual results: Build exits with the following error: make[2]: Entering directory `/home/builder/building/BUILD/glibc-2.3-20050218T0151/elf' mkdir /home/builder/rpmbuild/BUILD/glibc-2.3-20050218T0151/build-i586-linux/elf dl-open.c: In function `dl_open_worker': dl-open.c:636: error: syntax error at end of input Expected results: Normal build completion Additional info: --taget i686 and --target i386 build fine in this configuration. Tried building as both root and a normal user (named builder).
Created attachment 115654 [details] glibc buildlog with error
Created attachment 115655 [details] rpm-tmp.81647 This is the /var/tmp/rpm-tmp script that is running when the error occurs.
Only i386 and i686 are supported and tested build targets for IA-32 glibc, with i586 you are on your own. E.g. you need to add i586 to most of the places where i686 appears in the spec file, test it, etc. If you come up with a tested spec patch (and perhaps other small non-intrusive patches for the sources), it might be considered, but we are not going to work on that ourselves. RHEL4 requires i686+ CPU and even if you install it in an unsupported configuration (i586) and take care of building your own kernel etc., i586 is covered by the glibc-2*.i386.rpm that newly in RHEL4 provides also NPTL support.
I remember reading somewhere that i386 build of glibc for Fedora Core 3 was "hacked" to use i486 instructions for NPTL support (so basically, FC3 i386 glibc doesn't really work on true Intel 80386 processors). Does RHEL4 glibc contains same hacks? Or is all this just an urban legend?
Well, RHEL4/FC3 glibc-2*.i386 on true i386 CPU will just not support NPTL.
So, this means that if RHEL4 SRPM package is compiled for i386 architecture, it will have fully working NPTL support when run on an i586 or compatible processor? Or are there some "redhat internal" tricks in play here? ;-)
Yes, it means if you install the *.i386.rpm glibc you should have fully working NPTL on i586 CPU (or i486). It is not supported configuration for RHEL4, but it is supposed to work (at least nobody complained that it does not work).