#20543 closed defect (fixed)
nss fails initial build at link phase
Reported by: | objectivecanine@… | Owned by: | macports-tickets@… |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | 1.7.1 |
Keywords: | Cc: | ||
Port: | nss |
Description (last modified by mf2k (Frank Schima))
While installing Pidgin via MacPorts on a brand new OSX installation, I get the following:
---> Building nss Error: Target org.macports.build returned: shell command "cd /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_net_nss/work/nss-3.12.3 && make -C mozilla/security/coreconf/nsinstall NSPR_LIB_DIR=/opt/local/lib/nspr NSS_USE_SYSTEM_SQLITE=1 USE_64=0 && make -C mozilla/security/dbm NSPR_LIB_DIR=/opt/local/lib/nspr NSS_USE_SYSTEM_SQLITE=1 USE_64=0 && make -C mozilla/security/nss NSPR_LIB_DIR=/opt/local/lib/nspr NSS_USE_SYSTEM_SQLITE=1 USE_64=0" returned error 2 Command output: _port_ArenaRelease in secport.o _PORT_ArenaUnmark_Util in secport.o _PORT_ArenaUnmark_Util in secport.o _SEC_Init in secinit.o _sec_port_read_utf8 in utf8.o _sec_port_ucs4_utf8_conversion_function in utf8.o _sec_port_ucs4_utf8_conversion_function in utf8.o _sec_port_ucs2_utf8_conversion_function in utf8.o _sec_port_ucs2_utf8_conversion_function in utf8.o _sec_port_ucs2_utf8_conversion_function in utf8.o _sec_port_iso88591_utf8_conversion_function in utf8.o "_PR_GetError", referenced from: _PORT_GetError_Util in secport.o "_PR_NewCondVar", referenced from: _NSSRWLock_New_Util in nssrwlk.o _NSSRWLock_New_Util in nssrwlk.o "_PR_GetEnv", referenced from: _SECOID_Init in secoid.o _SECOID_Init in secoid.o _PORT_FreeArena_Util in secport.o "_PR_ExplodeTime", referenced from: _DER_TimeToUTCTimeArena in dertime.o _DER_TimeToGeneralizedTimeArena_Util in dertime.o _CERT_UTCTime2FormattedAscii in sectime.o _CERT_GenTime2FormattedAscii_Util in sectime.o ld: symbol(s) not found collect2: ld returned 1 exit status make[2]: *** [Darwin9.7.0_gcc-4.0_DBG.OBJ/libnssutil3.dylib] Error 1 make[1]: *** [libs] Error 2 make: *** [libs] Error 2 Error: Status 1 encountered during processing.
This occurs on a 64-bit Intel system running 10.5.7.
Attachments (1)
Change History (11)
comment:1 Changed 15 years ago by tobypeterson
comment:2 Changed 15 years ago by objectivecanine@…
I'm running version 1.710 (as reported by 'port'.
I have a debug log now, and I waded into it, and I can give a more detailed explanation of the symptom:
nspr is compiled as an i386 binary, and nss is being compiled as an x86_64 one, and thus they don't link together:
/usr/bin/gcc-4.0 -arch x86_64 -dynamiclib -compatibility_version 1 -current_version 1 -install_name /opt/local/lib/nss/libnssutil3.dylib -headerpad_max_install_names -L/opt/local/lib/nspr -L/opt/local/lib/ -o Darwin9.7.0_gcc-4.0_DBG.OBJ/libnssutil3.dylib Darwin9.7.0_gcc-4.0_DBG.OBJ/quickder.o Darwin9.7.0_gcc-4.0_DBG.OBJ/secdig.o Darwin9.7.0_gcc-4.0_DBG.OBJ/derdec.o Darwin9.7.0_gcc-4.0_DBG.OBJ/derenc.o Darwin9.7.0_gcc-4.0_DBG.OBJ/dersubr.o Darwin9.7.0_gcc-4.0_DBG.OBJ/dertime.o Darwin9.7.0_gcc-4.0_DBG.OBJ/nssb64d.o Darwin9.7.0_gcc-4.0_DBG.OBJ/nssb64e.o Darwin9.7.0_gcc-4.0_DBG.OBJ/nssrwlk.o Darwin9.7.0_gcc-4.0_DBG.OBJ/nssilock.o Darwin9.7.0_gcc-4.0_DBG.OBJ/oidstring.o Darwin9.7.0_gcc-4.0_DBG.OBJ/portreg.o Darwin9.7.0_gcc-4.0_DBG.OBJ/secalgid.o Darwin9.7.0_gcc-4.0_DBG.OBJ/secasn1d.o Darwin9.7.0_gcc-4.0_DBG.OBJ/secasn1e.o Darwin9.7.0_gcc-4.0_DBG.OBJ/secasn1u.o Darwin9.7.0_gcc-4.0_DBG.OBJ/secitem.o Darwin9.7.0_gcc-4.0_DBG.OBJ/secoid.o Darwin9.7.0_gcc-4.0_DBG.OBJ/sectime.o Darwin9.7.0_gcc-4.0_DBG.OBJ/secport.o Darwin9.7.0_gcc-4.0_DBG.OBJ/secinit.o Darwin9.7.0_gcc-4.0_DBG.OBJ/templates.o Darwin9.7.0_gcc-4.0_DBG.OBJ/utf8.o -L../../../../dist/Darwin9.7.0_gcc-4.0_DBG.OBJ/lib -L/opt/local/lib/nspr -lplc4 -lplds4 -lnspr4 ld warning: in /opt/local/lib/nspr/libplc4.dylib, file is not of required architecture ld warning: in /opt/local/lib/nspr/libplds4.dylib, file is not of required architecture ld warning: in /opt/local/lib/nspr/libnspr4.dylib, file is not of required architecture
$ file /opt/local/lib/nspr/lib*dylib /opt/local/lib/nspr/libnspr4.dylib: Mach-O dynamically linked shared library i386 /opt/local/lib/nspr/libplc4.dylib: Mach-O dynamically linked shared library i386 /opt/local/lib/nspr/libplds4.dylib: Mach-O dynamically linked shared library i386
Note that I am _NOT_ building either as a +universal, and this machine _DOES NOT_ have x86_64 listed in macports.conf!
If you still want a debug log, let me know, and I can stick it somewhere -- I should be around the rest of the week, but it's a really long file and I did poke around changing a couple things after reading it the first time, and silly me, I didn't save it first. :)
comment:3 Changed 15 years ago by mf2k (Frank Schima)
Description: | modified (diff) |
---|
comment:4 Changed 15 years ago by tobypeterson
Debug output would be very helpful. You can just attach it...
Changed 15 years ago by objectivecanine@…
Build log for failed nss install
comment:6 Changed 15 years ago by objectivecanine@…
I didn't realize until you said so that I could attach a file.
I uninstalled and reinstalled MacPorts, and requested the install of just nss. It bombed again. I cleaned it, tried again with the command you'd wanted, log attached above. Hope this helps!
comment:7 Changed 15 years ago by tobypeterson
Probably didn't pick up the latest change - give it an hour, run selfupdate... hopefully it should work.
comment:8 Changed 15 years ago by objectivecanine@…
I did a 'port sync', then uninstalled the few installed packages, and tried again. Worked this time.
comment:9 follow-up: 10 Changed 15 years ago by tobypeterson
Resolution: | → fixed |
---|---|
Status: | new → closed |
Yeah, thought so. Speculative build fix ftw!
comment:10 Changed 15 years ago by objectivecanine@…
Replying to toby@…:
Yeah, thought so. Speculative build fix ftw!
Yes, so I guess nss _is_ all kinds of broken for universal builds. And me wanting everything 64-bit. Especially Ruby, though THAT'S another matter. :) I appreciate the rapid response, though!
I cannot repro. Will need a debug log:
Also would be helpful to know what version of Xcode you're running, and whether you have MacPorts 1.7.1 or a trunk install.