Closed Bug 286016 Opened 20 years ago Closed 20 years ago

Build fails with GCC 4.0 (prerelease)

Categories

(Firefox Build System :: General, defect)

x86
Linux
defect
Not set
normal

Tracking

(Not tracked)

RESOLVED DUPLICATE of bug 284386

People

(Reporter: bjackson0971, Assigned: chase)

Details

User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8b2) Gecko/20050313 Firefox/1.0+ Build Identifier: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8b2) Gecko/20050313 Firefox/1.0+ Firefox build fails in mozilla/security/nss/cmd/shlibsign/mangle with GCC 4.0 snapshots. It appears to be looking for a Linux2.6_x86_glibc_PTH_DBG.OBJ directory rather than Linux2.6_x86_glibc_PTH_OPT.OBJ. Reproducible: Always Steps to Reproduce: 1. Download and install GCC 4.0 snapshot from ftp://gcc.gnu.org/pub/gcc/snapshots/ 2. Add gcc4 bin directory to PATH and run make -f client.mk build Actual Results: gmake[5]: Entering directory `/home/bsjacks/mozilla/security/nss/cmd/shlibsign/mangle' gcc -o Linux2.6_x86_glibc_PTH_OPT.OBJ/mangle.o -c -O2 -fPIC -DLINUX1_2 -Di386 -D_XOPEN_SOURCE -DLINUX2_1 -ansi -Wall -pipe -DLINUX -Dlinux -D_POSIX_SOURCE -D_BSD_SOURCE -DHAVE_STRERROR -DXP_UNIX -DSHLIB_SUFFIX=\"so\" -DSHLIB_PREFIX=\"lib\" -UDEBUG -DNDEBUG -D_REENTRANT -I/home/bsjacks/mozilla/dist/include -I../../../../../dist/public/nss -I../../../../../dist/private/nss -I../../../../../dist/include -I/home/bsjacks/mozilla/dist/include/nspr -I/home/bsjacks/mozilla/dist/include/dbm mangle.c /usr/bin/gmake -j1: *** No rule to make target /home/bsjacks/mozilla/dist/lib/libnss.a. Stop. gmake[5]: *** [/home/bsjacks/mozilla/dist/lib/libnss.a] Error 1 gmake[5]: Leaving directory `/home/bsjacks/mozilla/security/nss/cmd/shlibsign/mangle' Sun Mar 13 19:35:44 CST 2005 Linux2.6_x86_glibc_PTH_OPT.OBJ/shlibsign -v -i /home/bsjacks/mozilla/dist/lib/libsoftokn3.so Generating DSA Key Pair....done Library File: ../../security/nss/lib/softoken/Linux2.6_x86_glibc_PTH_OPT.OBJ/libsoftokn3.so 540710 bytes Check File: ../../security/nss/lib/softoken/Linux2.6_x86_glibc_PTH_OPT.OBJ/libsoftokn3.chk Link: libsoftokn3.chk hash: 20 bytes b6 c9 18 00 6f 27 51 47 40 72 29 92 0b 14 a2 7f 8c de ba 5a signature: 40 bytes 22 13 fc e6 e5 1c 51 4e f9 4d ba b0 68 fe 3a bf a0 38 e6 c4 4a 60 94 3c 01 b2 4f 06 d7 20 93 0e 70 10 5a 85 03 34 a7 24 gmake[4]: Leaving directory `/home/bsjacks/mozilla/security/nss/cmd/shlibsign' /home/bsjacks/mozilla/config/nsinstall -R -m 755 ../../dist/lib/libnssckbi.so ../../dist/gre /home/bsjacks/mozilla/config/nsinstall -R -m 644 ../../dist/lib/libsoftokn3.chk ../../dist/gre /home/bsjacks/mozilla/config/nsinstall -R -m 755 ../../dist/lib/libsoftokn3.so ../../dist/gre /home/bsjacks/mozilla/config/nsinstall -R -m 755 ../../dist/lib/libnss3.so ../../dist/gre /home/bsjacks/mozilla/config/nsinstall: cannot access ../../dist/lib/libnss3.so: No such file or directory gmake[3]: *** [libs] Error 1 gmake[3]: Leaving directory `/home/bsjacks/mozilla/security/manager' gmake[2]: *** [tier_50] Error 2 gmake[2]: Leaving directory `/home/bsjacks/mozilla' make[1]: *** [default] Error 2 make[1]: Leaving directory `/home/bsjacks/mozilla' make: *** [build] Error 2 Expected Results: Expect build to finish. Note: Firefox used to build with GCC 4.0 snapshots from February, but began failing this month. I will post my .mozconfig, build script etc. if this cannot be reproduced.
I've looked into it, and if you log the build you can see that when building nss there is an error. Specificly, when compiling security/nss/lib/certhigh/certhigh.c In file included from ../../../../dist/private/nss/nsspki1.h:57, from ../../../../dist/private/nss/nsspki.h:56, from certhigh.c:46: ../../../../dist/private/nss/oiddata.h:46: error: array type has incomplete element type The problem code is extern const NSSOID nss_builtin_oids[]; which is a problem because NSSOID is an opaque structure, and this NOT valid C code and was an undocumented extension to gcc which has since been removed. See the following gcc thread for more info. http://gcc.gnu.org/ml/gcc/2005-02/msg00053.html This doesn't seem to be a problem because nss_buildin_oids is never used outside of lib/pki1/ which is where the complete definition to NSSOID is. So the solution is either to move nss_builtin_oids into some other private header or switch the definition of nss_builtin_oids to be a pointer.
I was just looking around, and part of the patch for Bug 284809 moves the definition of nss_builtin_oids into security/nss/lib/pki1/pki1.h . Perhaps that is the correct fix.
Should this bug be marked as a dup of 284386? https://bugzilla.mozilla.org/show_bug.cgi?id=284386
I'm seeing something very similar to this on Win32
*** This bug has been marked as a duplicate of 284386 ***
Status: UNCONFIRMED → RESOLVED
Closed: 20 years ago
Resolution: --- → DUPLICATE
Component: Build Config → General
Product: Firefox → Firefox Build System
You need to log in before you can comment on or make changes to this bug.