Closed
Bug 52398
Opened 25 years ago
Closed 25 years ago
FreeBSD needs USE_PTHREADS on by default to compile NSS 3.1
Categories
(NSS :: Libraries, defect, P3)
Tracking
(Not tracked)
RESOLVED
FIXED
3.1
People
(Reporter: tstromberg, Assigned: wtc)
Details
Attachments
(1 file)
build under FreeBSD 5 breaks because USE_PTHREADS are not defined by default,
and it tries to link with pthreads anyways. In BSD, you have to specify a
re-entrant libc (-lc_r) to use pthreads.
To fix, set USE_PTHREADS=1
build breakage follows:
gmake[2]: Entering directory `/usr/src/moz-crypto/mozilla/security/nss/cmd/atob'
gcc -o FreeBSD5.0_OPT.OBJ/atob.o -c -O -fPIC -Di386 -ansi -Wall -pipe -DFREEBSD
-DHAVE_STRERROR -DHAVE_BSD_FLOCK -DXP_UNIX -DNSPR20 -UDEBUG -DNDEBUG
-I/usr/X11R6/include -I../../../../dist/FreeBSD5.0_OPT.OBJ/include
-I../../../../dist/public/security -I../../../../dist/private/security
-I../../../../dist/public/seccmd -I../../../../dist/public/dbm atob.c
gcc -o FreeBSD5.0_OPT.OBJ/atob -O -fPIC -Di386 -ansi -Wall -pipe -DFREEBSD
-DHAVE_STRERROR -DHAVE_BSD_FLOCK -DXP_UNIX -DNSPR20 -UDEBUG -DNDEBUG
-I/usr/X11R6/include -I../../../../dist/FreeBSD5.0_OPT.OBJ/include
-I../../../../dist/public/security -I../../../../dist/private/security
-I../../../../dist/public/seccmd -I../../../../dist/public/dbm
FreeBSD5.0_OPT.OBJ/atob.o ../../../../dist/FreeBSD5.0_OPT.OBJ/lib/libsmime.a
../../../../dist/FreeBSD5.0_OPT.OBJ/lib/libssl.a
../../../../dist/FreeBSD5.0_OPT.OBJ/lib/libjar.a
../../../../dist/FreeBSD5.0_OPT.OBJ/lib/libzlib.a
../../../../dist/FreeBSD5.0_OPT.OBJ/lib/libnss.a
../../../../dist/FreeBSD5.0_OPT.OBJ/lib/libssl.a
../../../../dist/FreeBSD5.0_OPT.OBJ/lib/libsectool.a
../../../../dist/FreeBSD5.0_OPT.OBJ/lib/libpkcs7.a
../../../../dist/FreeBSD5.0_OPT.OBJ/lib/libcerthi.a
../../../../dist/FreeBSD5.0_OPT.OBJ/lib/libpk11wrap.a
../../../../dist/FreeBSD5.0_OPT.OBJ/lib/libcryptohi.a
../../../../dist/FreeBSD5.0_OPT.OBJ/lib/libcerthi.a
../../../../dist/FreeBSD5.0_OPT.OBJ/lib/libpk11wrap.a
../../../../dist/FreeBSD5.0_OPT.OBJ/lib/libsoftoken.a
../../../../dist/FreeBSD5.0_OPT.OBJ/lib/libcertdb.a
../../../../dist/FreeBSD5.0_OPT.OBJ/lib/libswfci.a
../../../../dist/FreeBSD5.0_OPT.OBJ/lib/libfreebl.a
../../../../dist/FreeBSD5.0_OPT.OBJ/lib/libfreebl.a
../../../../dist/FreeBSD5.0_OPT.OBJ/lib/libsecutil.a
../../../../dist/FreeBSD5.0_OPT.OBJ/lib/libdbm.a
-L../../../../dist/FreeBSD5.0_OPT.OBJ/lib/ -lplc4 -lplds4 -lnspr4 -lc
../../../../dist/FreeBSD5.0_OPT.OBJ/lib//libnspr4.so: undefined reference to
`pthread_cond_signal'
../../../../dist/FreeBSD5.0_OPT.OBJ/lib//libnspr4.so: undefined reference to
`pthread_attr_destroy'
../../../../dist/FreeBSD5.0_OPT.OBJ/lib//libnspr4.so: undefined reference to
`pthread_create'
../../../../dist/FreeBSD5.0_OPT.OBJ/lib//libnspr4.so: undefined reference to
`pthread_getspecific'
../../../../dist/FreeBSD5.0_OPT.OBJ/lib//libnspr4.so: undefined reference to
`pthread_attr_init'
../../../../dist/FreeBSD5.0_OPT.OBJ/lib//libnspr4.so: undefined reference to
`pthread_condattr_init'
../../../../dist/FreeBSD5.0_OPT.OBJ/lib//libnspr4.so: undefined reference to
`pthread_equal'
../../../../dist/FreeBSD5.0_OPT.OBJ/lib//libnspr4.so: undefined reference to
`pthread_getschedparam'
../../../../dist/FreeBSD5.0_OPT.OBJ/lib//libnspr4.so: undefined reference to
`pthread_attr_setscope'
../../../../dist/FreeBSD5.0_OPT.OBJ/lib//libnspr4.so: undefined reference to
`pthread_cond_broadcast'
../../../../dist/FreeBSD5.0_OPT.OBJ/lib//libnspr4.so: undefined reference to
`pthread_once'
../../../../dist/FreeBSD5.0_OPT.OBJ/lib//libnspr4.so: undefined reference to
`pthread_attr_setinheritsched'
../../../../dist/FreeBSD5.0_OPT.OBJ/lib//libnspr4.so: undefined reference to
`pthread_setschedparam'
../../../../dist/FreeBSD5.0_OPT.OBJ/lib//libnspr4.so: undefined reference to
`pthread_key_create'
../../../../dist/FreeBSD5.0_OPT.OBJ/lib//libnspr4.so: undefined reference to
`pthread_kill'
../../../../dist/FreeBSD5.0_OPT.OBJ/lib//libnspr4.so: undefined reference to
`pthread_attr_setstacksize'
../../../../dist/FreeBSD5.0_OPT.OBJ/lib//libnspr4.so: undefined reference to
`pthread_cond_init'
../../../../dist/FreeBSD5.0_OPT.OBJ/lib//libnspr4.so: undefined reference to
`pthread_mutex_unlock'
../../../../dist/FreeBSD5.0_OPT.OBJ/lib//libnspr4.so: undefined reference to
`pthread_self'
../../../../dist/FreeBSD5.0_OPT.OBJ/lib//libnspr4.so: undefined reference to
`pthread_mutexattr_init'
../../../../dist/FreeBSD5.0_OPT.OBJ/lib//libnspr4.so: undefined reference to
`pthread_mutex_destroy'
../../../../dist/FreeBSD5.0_OPT.OBJ/lib//libnspr4.so: undefined reference to
`pthread_mutex_lock'
../../../../dist/FreeBSD5.0_OPT.OBJ/lib//libnspr4.so: undefined reference to
`pthread_cond_wait'
../../../../dist/FreeBSD5.0_OPT.OBJ/lib//libnspr4.so: undefined reference to
`pthread_mutex_trylock'
../../../../dist/FreeBSD5.0_OPT.OBJ/lib//libnspr4.so: undefined reference to
`pthread_cond_destroy'
../../../../dist/FreeBSD5.0_OPT.OBJ/lib//libnspr4.so: undefined reference to
`pthread_mutex_init'
../../../../dist/FreeBSD5.0_OPT.OBJ/lib//libnspr4.so: undefined reference to
`pthread_attr_setschedparam'
../../../../dist/FreeBSD5.0_OPT.OBJ/lib//libnspr4.so: undefined reference to
`pthread_attr_setdetachstate'
../../../../dist/FreeBSD5.0_OPT.OBJ/lib//libnspr4.so: undefined reference to
`pthread_join'
../../../../dist/FreeBSD5.0_OPT.OBJ/lib//libnspr4.so: undefined reference to
`pthread_cond_timedwait'
../../../../dist/FreeBSD5.0_OPT.OBJ/lib//libnspr4.so: undefined reference to
`pthread_attr_getschedparam'
../../../../dist/FreeBSD5.0_OPT.OBJ/lib//libnspr4.so: undefined reference to
`pthread_setspecific'
gmake[2]: *** [FreeBSD5.0_OPT.OBJ/atob] Error 1
gmake[2]: Leaving directory `/usr/src/moz-crypto/mozilla/security/nss/cmd/atob'
gmake[1]: *** [libs] Error 2
gmake[1]: Leaving directory `/usr/src/moz-crypto/mozilla/security/nss/cmd'
gmake: *** [libs] Error 2
| Reporter | ||
Comment 1•25 years ago
|
||
the makefiles should probably use -pthread rather then -lc / -lc_r, this appears
to work.
| Assignee | ||
Updated•25 years ago
|
Status: UNCONFIRMED → NEW
Ever confirmed: true
Target Milestone: --- → 3.1
| Assignee | ||
Comment 2•25 years ago
|
||
As a preparatory step, I added a new file FreeBSD.mk, which
contains the config stuff common to all versions of FreeBSD.mk.
FreeBSD2.mk now merely includes FreeBSD.mk.
Status: NEW → ASSIGNED
| Assignee | ||
Comment 3•25 years ago
|
||
| Assignee | ||
Comment 4•25 years ago
|
||
The other changes I merged from NSPR's FreeBSD.mk
are:
1. support for alpha;
2. support for both a.out and ELF shared libraries.
The fix is checked into rev. 1.3 of mozilla/security/coreconf/FreeBSD.mk.
You need to log in
before you can comment on or make changes to this bug.
Description
•