Closed Bug 80809 Opened 24 years ago Closed 24 years ago

nss does not compile using gcc on IRIX

Categories

(NSS :: Build, defect, P2)

3.2.1
SGI
IRIX
defect

Tracking

(Not tracked)

RESOLVED FIXED

People

(Reporter: jayvdb, Assigned: wtc)

References

Details

Attachments

(4 files)

NSS has configure.in code to handle gcc on IRIX, however the Makefile.in in lib/freebl has MIPSpro arguments without a test for gcc, hence trying to get gcc to understand the option -n32, and the more comical blurt of gcc saying it doesnt recognise language ansi. cd freebl; gmake libs gmake[2]: Entering directory `/projects/sise/mozilla/devel/workpits/moz/0.9_release_gcc/workarea/security/nss /lib/freebl' gcc -x assembler-with-cpp -o mpi_mips.o -O -OPT:Olimit=4000 -dollar -fullwarn - xansi -n32 -mips3 - c /projects/sise/mozilla/devel/workpits/moz/0.9_release_gcc/mozilla/security/nss /lib/freebl/mpi/mpi_mips.s gcc: unrecognized option `-n32' gcc: language ansi not recognized gcc: /projects/sise/mozilla/devel/workpits/moz/0.9_release_gcc/mozilla/security/ nss/lib/freebl/mpi/mpi_mips.s: linker input file unused since linking not done rm -f libfreebl.a /usr/bin/ar cr libfreebl.a ./ldvector.o ./prng_fips1861.o ./sha_fast.o ./md2.o ./md5.o ./alg226 8.o ./arcfour.o ./arcfive.o ./desblapi.o ./des.o ./rijndael.o ./dh.o ./pqg.o ./d sa.o ./rsa.o ./mpprime.o ./mpmontg.o ./mplogic.o ./mpi.o ./mpi_mips.o /usr/bin/ar: Error: ./mpi_mips.o cannot open /bin/true libfreebl.a ../../coreconf/nsinstall/nsinstall -R -m 664 ./libfreebl.a ../../dist/./lib gmake[2]: Leaving directory `/projects/sise/mozilla/devel/workpits/moz/0.9_release_gcc/workarea/security/nss /lib/freebl'
Also needed to change AS, as gcc -x assembler-with-cpp results in similar incompatibilities between GNU cpp and SGI cpp as demonstrated in bug 28711 .
Which version of NSS is being used?
I found this problem in whilst working on 0.9, however from what I can see the latest source has the same problem ... only in lib/freebl/Makefile instead of lib/freebl/Makefile.in
Sounds like you're trying to build PSM, not NSS. That's a PSM bug.
Yes, I am building mozilla 0.9 with PSM, however that involves building NSS.
Are you able to build NSS according to the instructions given in http://www.mozilla.org/projects/security/pki/nss/buildnss_32.html#build PSM uses different makefiles than the normal NSS builds. If you're able to build NSS with the instructions given in the web site above but not as part of PSM, then you've found a problem with the PSM build system for NSS.
Using those instructions for compiling NSS using GCC on IRIX, nsinstall core dump. However, as expected they work for MIPSpro. So I built nss using MIPSpro, symbolic linked coreconf/nsinstall/IRIX6.5_DBG.OBJ to coreconf/nsinstall/IRIX6.5_gcc_DBG.OBJ , applied the patch to bug 28711 in nspr, and ended up with the exact same problem, only to the Makefile instead of the Makefile.in . This process did highlight one problem in that the defines to identify GCC are different between the two build systems. GNU_CC (configure & Makefile.in) NS_USE_CC (config.mk & Makefile)
Attached patch Makefile.inSplinter Review
GNU cpp produces an output incompatible with SGI cpp (which gets called from SGI 'as' when using gcc -x assembler-with-cpp) gcc option "-Wp,-P " this problem. SGI as handles spaces before a hash ' #' differently than GNU cpp , so we also need '-Wp,-traditional' to tell GNU to be nice to existing .s files which are expecting SGI's cpp. This .s file could work with gcc -x assembler (as in the first two patches); but that solution would demand no one in the future could add pre-processor directives without having to work all this out again. So it seems the only way to get these two cpp's to live happily is via these two flags.
Marking NEW while this is sorted out.
Status: UNCONFIRMED → NEW
Ever confirmed: true
Can I ask what has yet to be sorted out?
I checked in John's patch (id=34492) for lib/freebl/Makefile on the NSS_3_2_BRANCH and the trunk of NSS. I updated the NSS_CLIENT_TAG on that file. (lib/freebl/Makefile.in is experimental and is not supported.)
Status: NEW → RESOLVED
Closed: 24 years ago
Priority: -- → P2
Resolution: --- → FIXED
Target Milestone: --- → 3.2.2
Version: 4.0 → 3.2.1
lib/freebl/Makefile.in is used by the mozilla build environment, and hence attachment 34491 [details] [diff] [review] is of concern to SGI, as currently SGI is only building NSS as part of mozilla. 34492 was to keep both Makefiles in sync.
Blocks: 28709
John: The NSS_AUTOCONF_BRANCH is an unofficial, experimental branch. The NSS team does not support that branch and strongly its use. If you want to participate in that experiment, you can ask cls@seawood.org and bryner@netscape.com to check in that patch for you.
The fix is not in 3.2.2 but is in 3.3 and on the 3.2 branch. Since we are not planning to make any new 3.2.x releases, I am setting the target milestone to 3.3.
Component: Libraries → Build
Target Milestone: 3.2.2 → 3.3
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: