Opened 15 years ago

Closed 15 years ago

Last modified 15 years ago

#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)

debug.log (61.1 KB) - added by objectivecanine@… 15 years ago.
Build log for failed nss install

Download all attachments as: .zip

Change History (11)

comment:1 Changed 15 years ago by tobypeterson

I cannot repro. Will need a debug log:

sudo port clean nss
sudo port -d install nss

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.

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...

comment:5 Changed 15 years ago by tobypeterson

Possibly fixed by r54941.

Changed 15 years ago by objectivecanine@…

Attachment: debug.log added

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 Changed 15 years ago by tobypeterson

Resolution: fixed
Status: newclosed

Yeah, thought so. Speculative build fix ftw!

comment:10 in reply to:  9 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!

Note: See TracTickets for help on using tickets.