Bug 256127

Summary: security/nss - linker command failed with exit code 1
Product: Ports & Packages Reporter: Weldon Godfrey <weldon>
Component: Individual Port(s)Assignee: Graham Perrin <grahamperrin>
Status: Closed Overcome By Events    
Severity: Affects Some People CC: gecko, weldon
Priority: ---    
Version: Latest   
Hardware: Any   
OS: Any   

Description Weldon Godfrey 2021-05-24 18:09:43 UTC
v3.65 on FreeBSD 12.2 amd64 fails to complile.   Noticed this while trying to upgrade bind.  I tried with completely clean ports collection.  Last version successfully installed on system was 3.63 (compiled from ports)

root@senna:/usr/ports/security/nss # uname -a
FreeBSD senna 12.2-RELEASE-p6 FreeBSD 12.2-RELEASE-p6 r369569 GENERIC  amd64



gmake[4]: Entering directory '/usr/ports/security/nss/work/nss-3.65/nss/cmd/derdump'
cc -B/usr/local/bin -o FreeBSD12.2_OPT.OBJ/dbtest.o -c -std=c99 -O2 -pipe  -I/usr/local/include/nspr -Wno-error=unused-function -fstack-protector-strong -fno-strict-aliasing   -fPIC -Wall -Wno-switch -DFREEBSD -DHAVE_STRERROR -DHAVE_BSD_FLOCK -Wall -Wshadow -Qunused-arguments -Wno-parentheses-equality -Wno-array-bounds -Wno-unevaluated-expression -DNSS_NO_GCC48 -DXP_UNIX -UDEBUG -DNDEBUG -D_THREAD_SAFE -D_REENTRANT -DNSS_NO_INIT_SUPPORT -DUSE_UTIL_DIRECTLY -DNO_NSPR_10_SUPPORT -DSSL_DISABLE_DEPRECATED_CIPHER_SUITE_NAMES -I./../dist/FreeBSD12.2_OPT.OBJ/include -I./../dist/public/ -I./../dist/private/   -fPIC -Wall -Wno-switch -DFREEBSD -DHAVE_STRERROR -DHAVE_BSD_FLOCK -Wall -Wshadow -Qunused-arguments -Wno-parentheses-equality -Wno-array-bounds -Wno-unevaluated-expression -DNSS_NO_GCC48 -DXP_UNIX -UDEBUG -DNDEBUG -D_THREAD_SAFE -D_REENTRANT -DNSS_NO_INIT_SUPPORT -DUSE_UTIL_DIRECTLY -DNO_NSPR_10_SUPPORT -DSSL_DISABLE_DEPRECATED_CIPHER_SUITE_NAMES -I./../dist/FreeBSD12.2_OPT.OBJ/include -I./../dist/public/ -I./../dist/private/   -fPIC -Wall -Wno-switch -DFREEBSD -DHAVE_STRERROR -DHAVE_BSD_FLOCK -Wall -Wshadow -Qunused-arguments -Wno-parentheses-equality -Wno-array-bounds -Wno-unevaluated-expression -DNSS_NO_GCC48 -DXP_UNIX -UDEBUG -DNDEBUG -D_THREAD_SAFE -D_REENTRANT -DNSS_NO_INIT_SUPPORT -DUSE_UTIL_DIRECTLY -DNO_NSPR_10_SUPPORT -DSSL_DISABLE_DEPRECATED_CIPHER_SUITE_NAMES -I../../dist/FreeBSD12.2_OPT.OBJ/include -I../../dist/public/ -I../../dist/private/ -I../../dist/public/nss -I../../dist/public/nspr -I../../dist/public/libdbm -I../../dist/FreeBSD12.2_OPT.OBJ/../public/security -I./include    -fPIC -Wall -Wno-switch -DFREEBSD -DHAVE_STRERROR -DHAVE_BSD_FLOCK -Wall -Wshadow -Qunused-arguments -Wno-parentheses-equality -Wno-array-bounds -Wno-unevaluated-expression -DNSS_NO_GCC48 -DXP_UNIX -UDEBUG -DNDEBUG -D_THREAD_SAFE -D_REENTRANT -DNSS_NO_INIT_SUPPORT -DUSE_UTIL_DIRECTLY -DNO_NSPR_10_SUPPORT -DSSL_DISABLE_DEPRECATED_CIPHER_SUITE_NAMES -I../../../dist/FreeBSD12.2_OPT.OBJ/include -I../../../dist/public/nss -I../../../dist/private/nss -I../../../dist/public/seccmd -I../../../dist/public/dbm  dbtest.c
/usr/local/bin/ld: ../../../dist/FreeBSD12.2_OPT.OBJ/lib/libnss3.so: undefined reference to `PR_ASSERT_ARG'
cc: error: linker command failed with exit code 1 (use -v to see invocation)
cc -B/usr/local/bin -o FreeBSD12.2_OPT.OBJ/derdump.o -c -std=c99 -O2 -pipe  -I/usr/local/include/nspr -Wno-error=unused-function -fstack-protector-strong -fno-strict-aliasing   -fPIC -Wall -Wno-switch -DFREEBSD -DHAVE_STRERROR -DHAVE_BSD_FLOCK -Wall -Wshadow -Qunused-arguments -Wno-parentheses-equality -Wno-array-bounds -Wno-unevaluated-expression -DNSS_NO_GCC48 -DXP_UNIX -UDEBUG -DNDEBUG -D_THREAD_SAFE -D_REENTRANT -DNSS_NO_INIT_SUPPORT -DUSE_UTIL_DIRECTLY -DNO_NSPR_10_SUPPORT -DSSL_DISABLE_DEPRECATED_CIPHER_SUITE_NAMES -I./../dist/FreeBSD12.2_OPT.OBJ/include -I./../dist/public/ -I./../dist/private/   -fPIC -Wall -Wno-switch -DFREEBSD -DHAVE_STRERROR -DHAVE_BSD_FLOCK -Wall -Wshadow -Qunused-arguments -Wno-parentheses-equality -Wno-array-bounds -Wno-unevaluated-expression -DNSS_NO_GCC48 -DXP_UNIX -UDEBUG -DNDEBUG -D_THREAD_SAFE -D_REENTRANT -DNSS_NO_INIT_SUPPORT -DUSE_UTIL_DIRECTLY -DNO_NSPR_10_SUPPORT -DSSL_DISABLE_DEPRECATED_CIPHER_SUITE_NAMES -I./../dist/FreeBSD12.2_OPT.OBJ/include -I./../dist/public/ -I./../dist/private/   -fPIC -Wall -Wno-switch -DFREEBSD -DHAVE_STRERROR -DHAVE_BSD_FLOCK -Wall -Wshadow -Qunused-arguments -Wno-parentheses-equality -Wno-array-bounds -Wno-unevaluated-expression -DNSS_NO_GCC48 -DXP_UNIX -UDEBUG -DNDEBUG -D_THREAD_SAFE -D_REENTRANT -DNSS_NO_INIT_SUPPORT -DUSE_UTIL_DIRECTLY -DNO_NSPR_10_SUPPORT -DSSL_DISABLE_DEPRECATED_CIPHER_SUITE_NAMES -I../../dist/FreeBSD12.2_OPT.OBJ/include -I../../dist/public/ -I../../dist/private/ -I../../dist/public/nss -I../../dist/public/nspr -I../../dist/public/libdbm -I../../dist/FreeBSD12.2_OPT.OBJ/../public/security -I./include    -fPIC -Wall -Wno-switch -DFREEBSD -DHAVE_STRERROR -DHAVE_BSD_FLOCK -Wall -Wshadow -Qunused-arguments -Wno-parentheses-equality -Wno-array-bounds -Wno-unevaluated-expression -DNSS_NO_GCC48 -DXP_UNIX -DNSPR20 -UDEBUG -DNDEBUG -D_THREAD_SAFE -D_REENTRANT -DNSS_NO_INIT_SUPPORT -DUSE_UTIL_DIRECTLY -DNO_NSPR_10_SUPPORT -DSSL_DISABLE_DEPRECATED_CIPHER_SUITE_NAMES -I../../../dist/FreeBSD12.2_OPT.OBJ/include -I../../../dist/public/nss  -I../../../dist/private/nss  -I../../../dist/public/seccmd -I../../../dist/public/dbm  derdump.c
/usr/local/bin/ld: ../../../dist/FreeBSD12.2_OPT.OBJ/lib/libnss3.so: undefined reference to `PR_ASSERT_ARG'
cc: error: linker command failed with exit code 1 (use -v to see invocation)
gmake[4]: *** [../../coreconf/rules.mk:165: FreeBSD12.2_OPT.OBJ/addbuiltin] Error 1
gmake[4]: Leaving directory '/usr/ports/security/nss/work/nss-3.65/nss/cmd/addbuiltin'
gmake[3]: *** [../coreconf/rules.mk:44: addbuiltin] Error 2
gmake[3]: *** Waiting for unfinished jobs....
gmake[4]: *** [../../coreconf/rules.mk:165: FreeBSD12.2_OPT.OBJ/atob] Error 1
gmake[4]: Leaving directory '/usr/ports/security/nss/work/nss-3.65/nss/cmd/atob'
gmake[3]: *** [../coreconf/rules.mk:44: atob] Error 2
/usr/local/bin/ld: ../../../dist/FreeBSD12.2_OPT.OBJ/lib/libnss3.so: undefined reference to `PR_ASSERT_ARG'
cc: error: linker command failed with exit code 1 (use -v to see invocation)
gmake[4]: *** [../../coreconf/rules.mk:165: FreeBSD12.2_OPT.OBJ/crlutil] Error 1
gmake[4]: Leaving directory '/usr/ports/security/nss/work/nss-3.65/nss/cmd/crlutil'
gmake[3]: *** [../coreconf/rules.mk:44: crlutil] Error 2
/usr/local/bin/ld: ../../../dist/FreeBSD12.2_OPT.OBJ/lib/libnss3.so: undefined reference to `PR_ASSERT_ARG'
cc: error: linker command failed with exit code 1 (use -v to see invocation)
gmake[4]: *** [../../coreconf/rules.mk:165: FreeBSD12.2_OPT.OBJ/certutil] Error 1
gmake[4]: Leaving directory '/usr/ports/security/nss/work/nss-3.65/nss/cmd/certutil'
gmake[3]: *** [../coreconf/rules.mk:44: certutil] Error 2
/usr/local/bin/ld: ../../../dist/FreeBSD12.2_OPT.OBJ/lib/libnss3.so: undefined reference to `PR_ASSERT_ARG'
/usr/local/bin/ld: ../../../dist/FreeBSD12.2_OPT.OBJ/lib/libnss3.so: undefined reference to `PR_ASSERT_ARG'
cc: error: linker command failed with exit code 1 (use -v to see invocation)
cc: error: linker command failed with exit code 1 (use -v to see invocation)
gmake[4]: *** [../../coreconf/rules.mk:165: FreeBSD12.2_OPT.OBJ/btoa] Error 1
gmake[4]: Leaving directory '/usr/ports/security/nss/work/nss-3.65/nss/cmd/btoa'
gmake[3]: *** [../coreconf/rules.mk:44: btoa] Error 2
gmake[4]: *** [../../coreconf/rules.mk:165: FreeBSD12.2_OPT.OBJ/crmftest] Error 1
gmake[4]: Leaving directory '/usr/ports/security/nss/work/nss-3.65/nss/cmd/crmftest'
gmake[3]: *** [../coreconf/rules.mk:44: crmftest] Error 2
rm -f FreeBSD12.2_OPT.OBJ/derdump
cc -B/usr/local/bin -o FreeBSD12.2_OPT.OBJ/derdump -O2 -pipe  -I/usr/local/include/nspr -Wno-error=unused-function -fstack-protector-strong -fno-strict-aliasing   -fPIC -Wall -Wno-switch -DFREEBSD -DHAVE_STRERROR -DHAVE_BSD_FLOCK -Wall -Wshadow -Qunused-arguments -Wno-parentheses-equality -Wno-array-bounds -Wno-unevaluated-expression -DNSS_NO_GCC48 -DXP_UNIX -UDEBUG -DNDEBUG -D_THREAD_SAFE -D_REENTRANT -DNSS_NO_INIT_SUPPORT -DUSE_UTIL_DIRECTLY -DNO_NSPR_10_SUPPORT -DSSL_DISABLE_DEPRECATED_CIPHER_SUITE_NAMES -I./../dist/FreeBSD12.2_OPT.OBJ/include -I./../dist/public/ -I./../dist/private/   -fPIC -Wall -Wno-switch -DFREEBSD -DHAVE_STRERROR -DHAVE_BSD_FLOCK -Wall -Wshadow -Qunused-arguments -Wno-parentheses-equality -Wno-array-bounds -Wno-unevaluated-expression -DNSS_NO_GCC48 -DXP_UNIX -UDEBUG -DNDEBUG -D_THREAD_SAFE -D_REENTRANT -DNSS_NO_INIT_SUPPORT -DUSE_UTIL_DIRECTLY -DNO_NSPR_10_SUPPORT -DSSL_DISABLE_DEPRECATED_CIPHER_SUITE_NAMES -I./../dist/FreeBSD12.2_OPT.OBJ/include -I./../dist/public/ -I./../dist/private/   -fPIC -Wall -Wno-switch -DFREEBSD -DHAVE_STRERROR -DHAVE_BSD_FLOCK -Wall -Wshadow -Qunused-arguments -Wno-parentheses-equality -Wno-array-bounds -Wno-unevaluated-expression -DNSS_NO_GCC48 -DXP_UNIX -UDEBUG -DNDEBUG -D_THREAD_SAFE -D_REENTRANT -DNSS_NO_INIT_SUPPORT -DUSE_UTIL_DIRECTLY -DNO_NSPR_10_SUPPORT -DSSL_DISABLE_DEPRECATED_CIPHER_SUITE_NAMES -I../../dist/FreeBSD12.2_OPT.OBJ/include -I../../dist/public/ -I../../dist/private/ -I../../dist/public/nss -I../../dist/public/nspr -I../../dist/public/libdbm -I../../dist/FreeBSD12.2_OPT.OBJ/../public/security -I./include    -fPIC -Wall -Wno-switch -DFREEBSD -DHAVE_STRERROR -DHAVE_BSD_FLOCK -Wall -Wshadow -Qunused-arguments -Wno-parentheses-equality -Wno-array-bounds -Wno-unevaluated-expression -DNSS_NO_GCC48 -DXP_UNIX -DNSPR20 -UDEBUG -DNDEBUG -D_THREAD_SAFE -D_REENTRANT -DNSS_NO_INIT_SUPPORT -DUSE_UTIL_DIRECTLY -DNO_NSPR_10_SUPPORT -DSSL_DISABLE_DEPRECATED_CIPHER_SUITE_NAMES -I../../../dist/FreeBSD12.2_OPT.OBJ/include -I../../../dist/public/nss  -I../../../dist/private/nss  -I../../../dist/public/seccmd -I../../../dist/public/dbm  FreeBSD12.2_OPT.OBJ/derdump.o  -fstack-protector-strong  ../../../dist/FreeBSD12.2_OPT.OBJ/lib/libsectool.a  -L../../../dist/FreeBSD12.2_OPT.OBJ/lib -L../../../dist/FreeBSD12.2_OPT.OBJ/lib -lnssutil3 -L/usr/local/lib -lplc4 -lplds4 -lnspr4  -lssl3 -lsmime3 -lnss3 -pthread
rm -f FreeBSD12.2_OPT.OBJ/dbtest
cc -B/usr/local/bin -o FreeBSD12.2_OPT.OBJ/dbtest -O2 -pipe  -I/usr/local/include/nspr -Wno-error=unused-function -fstack-protector-strong -fno-strict-aliasing   -fPIC -Wall -Wno-switch -DFREEBSD -DHAVE_STRERROR -DHAVE_BSD_FLOCK -Wall -Wshadow -Qunused-arguments -Wno-parentheses-equality -Wno-array-bounds -Wno-unevaluated-expression -DNSS_NO_GCC48 -DXP_UNIX -UDEBUG -DNDEBUG -D_THREAD_SAFE -D_REENTRANT -DNSS_NO_INIT_SUPPORT -DUSE_UTIL_DIRECTLY -DNO_NSPR_10_SUPPORT -DSSL_DISABLE_DEPRECATED_CIPHER_SUITE_NAMES -I./../dist/FreeBSD12.2_OPT.OBJ/include -I./../dist/public/ -I./../dist/private/   -fPIC -Wall -Wno-switch -DFREEBSD -DHAVE_STRERROR -DHAVE_BSD_FLOCK -Wall -Wshadow -Qunused-arguments -Wno-parentheses-equality -Wno-array-bounds -Wno-unevaluated-expression -DNSS_NO_GCC48 -DXP_UNIX -UDEBUG -DNDEBUG -D_THREAD_SAFE -D_REENTRANT -DNSS_NO_INIT_SUPPORT -DUSE_UTIL_DIRECTLY -DNO_NSPR_10_SUPPORT -DSSL_DISABLE_DEPRECATED_CIPHER_SUITE_NAMES -I./../dist/FreeBSD12.2_OPT.OBJ/include -I./../dist/public/ -I./../dist/private/   -fPIC -Wall -Wno-switch -DFREEBSD -DHAVE_STRERROR -DHAVE_BSD_FLOCK -Wall -Wshadow -Qunused-arguments -Wno-parentheses-equality -Wno-array-bounds -Wno-unevaluated-expression -DNSS_NO_GCC48 -DXP_UNIX -UDEBUG -DNDEBUG -D_THREAD_SAFE -D_REENTRANT -DNSS_NO_INIT_SUPPORT -DUSE_UTIL_DIRECTLY -DNO_NSPR_10_SUPPORT -DSSL_DISABLE_DEPRECATED_CIPHER_SUITE_NAMES -I../../dist/FreeBSD12.2_OPT.OBJ/include -I../../dist/public/ -I../../dist/private/ -I../../dist/public/nss -I../../dist/public/nspr -I../../dist/public/libdbm -I../../dist/FreeBSD12.2_OPT.OBJ/../public/security -I./include    -fPIC -Wall -Wno-switch -DFREEBSD -DHAVE_STRERROR -DHAVE_BSD_FLOCK -Wall -Wshadow -Qunused-arguments -Wno-parentheses-equality -Wno-array-bounds -Wno-unevaluated-expression -DNSS_NO_GCC48 -DXP_UNIX -UDEBUG -DNDEBUG -D_THREAD_SAFE -D_REENTRANT -DNSS_NO_INIT_SUPPORT -DUSE_UTIL_DIRECTLY -DNO_NSPR_10_SUPPORT -DSSL_DISABLE_DEPRECATED_CIPHER_SUITE_NAMES -I../../../dist/FreeBSD12.2_OPT.OBJ/include -I../../../dist/public/nss -I../../../dist/private/nss -I../../../dist/public/seccmd -I../../../dist/public/dbm  FreeBSD12.2_OPT.OBJ/dbtest.o  -fstack-protector-strong  ../../../dist/FreeBSD12.2_OPT.OBJ/lib/libsectool.a  -L../../../dist/FreeBSD12.2_OPT.OBJ/lib -L../../../dist/FreeBSD12.2_OPT.OBJ/lib -lnssutil3 -L/usr/local/lib -lplc4 -lplds4 -lnspr4  -lssl3 -lsmime3 -lnss3 -pthread
/usr/local/bin/ld: ../../../dist/FreeBSD12.2_OPT.OBJ/lib/libnss3.so: undefined reference to `PR_ASSERT_ARG'
cc: error: linker command failed with exit code 1 (use -v to see invocation)
gmake[4]: *** [../../coreconf/rules.mk:165: FreeBSD12.2_OPT.OBJ/derdump] Error 1
gmake[4]: Leaving directory '/usr/ports/security/nss/work/nss-3.65/nss/cmd/derdump'
gmake[3]: *** [../coreconf/rules.mk:44: derdump] Error 2
/usr/local/bin/ld: ../../../dist/FreeBSD12.2_OPT.OBJ/lib/libnss3.so: undefined reference to `PR_ASSERT_ARG'
cc: error: linker command failed with exit code 1 (use -v to see invocation)
gmake[4]: *** [../../coreconf/rules.mk:165: FreeBSD12.2_OPT.OBJ/dbtest] Error 1
gmake[4]: Leaving directory '/usr/ports/security/nss/work/nss-3.65/nss/cmd/dbtest'
gmake[3]: *** [../coreconf/rules.mk:44: dbtest] Error 2
gmake[3]: Leaving directory '/usr/ports/security/nss/work/nss-3.65/nss/cmd'
gmake[2]: *** [coreconf/rules.mk:44: cmd] Error 2
gmake[2]: Leaving directory '/usr/ports/security/nss/work/nss-3.65/nss'
gmake[1]: *** [manifest.mn:21: all] Error 2
gmake[1]: Leaving directory '/usr/ports/security/nss/work/nss-3.65/nss'
===> Compilation failed unexpectedly.
Try to set MAKE_JOBS_UNSAFE=yes and rebuild before reporting the failure to
the maintainer.
*** Error code 1

Stop.
Comment 1 Jan Beich freebsd_committer freebsd_triage 2021-05-24 18:36:38 UTC
3.65 builds fine for me and on the package cluster. Provide more details about your environment or switch to poudriere.

http://www.ipv6proxy.net/go.php?u=http://beefy6.nyi.freebsd.org/data/122amd64-default/7bfc2c072607/logs/nss-3.65.log
Comment 2 Weldon Godfrey 2021-05-24 19:19:54 UTC
Thank you, your log helped me figure out what is wrong, you need to update dependency in package for version of nspr



You are using v.4.30

I had v4.20



I updated to v4.30 of nspr, and did a make clean of nss and then make install and then it worked.





=======================<phase: lib-depends    >============================
===>   nss-3.65 depends on shared library: libnspr4.so - not found
===>   Installing existing package /packages/All/nspr-4.30.txz
[122amd64-default-job-04] Installing nspr-4.30...
[122amd64-default-job-04] Extracting nspr-4.30: .......... done
===>   nss-3.65 depends on shared library: libnspr4.so - found (/usr/local/lib/libnspr4.so)
===>   Returning to build of nss-3.65
===>   nss-3.65 depends on shared library: libsqlite3.so - not found
===>   Installing existing package /packages/All/sqlite3-3.35.5_1,1.txz
[122amd64-default-job-04] Installing sqlite3-3.35.5_1,1...
[122amd64-default-job-04] `-- Installing libedit-3.1.20210216,1...
[122amd64-default-job-04] `-- Extracting libedit-3.1.20210216,1: .......... done
[122amd64-default-job-04] Extracting sqlite3-3.35.5_1,1: .......... done
===>   nss-3.65 depends on shared library: libsqlite3.so - found (/usr/local/lib/libsqlite3.so)
===>   Returning to build of nss-3.65