Ticket #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 macsforever2000@…) (diff)
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
Change History
comment:2 Changed 4 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:4 Changed 4 years ago by toby@…
Debug output would be very helpful. You can just attach it...
Changed 4 years ago by objectivecanine@…
Build log for failed nss install
comment:6 Changed 4 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 4 years ago by toby@…
Probably didn't pick up the latest change - give it an hour, run selfupdate... hopefully it should work.
comment:8 Changed 4 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 4 years ago by toby@…
- Status changed from new to closed
- Resolution set to fixed
Yeah, thought so. Speculative build fix ftw!
comment:10 in reply to: ↑ 9 Changed 4 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.