Closed Bug 20529 Opened 25 years ago Closed 25 years ago

NSPR no longer builds on OpenBSD 2.5

Categories

(NSPR :: NSPR, defect, P3)

Other
OpenBSD
defect

Tracking

(Not tracked)

VERIFIED FIXED

People

(Reporter: briano, Assigned: srinivas)

Details

When I left on sabbatical 2 months ago, I was able to build NSPR on
OpenBSD/x86 with no trouble.  Now it's broken.

From the Tinderbox log:
-----------------------
gmake[3]: Entering directory
`/usr/builds/tinderbox/SeaMonkey/OpenBSD_2.5_clobber/mozilla/nsprpub/pr/src/linking'
gcc -o OpenBSD2.5_DBG.OBJ/prlink.o -c  -g -fPIC  -ansi -Wall -pipe -DOPENBSD
-DHAVE_STRERROR -DHAVE_BSD_FLOCK -DFORCE_PR_LOG -DXP_UNIX -DDEBUG -UNDEBUG
-DDEBUG_cltbld -D_PR_LOCAL_THREADS_ONLY
-I/builds/tinderbox/SeaMonkey/nspr/include -I../../../pr/include
-I../../../pr/include/private  prlink.c
prlink.c: In function `pr_LoadLibraryByPathname':
prlink.c:702: `RTLD_NOW' undeclared (first use in this function)
prlink.c:702: (Each undeclared identifier is reported only once
prlink.c:702: for each function it appears in.)
gmake[3]: *** [OpenBSD2.5_DBG.OBJ/prlink.o] Error 1
Status: NEW → ASSIGNED
Status: ASSIGNED → RESOLVED
Closed: 25 years ago
Resolution: --- → INVALID
This false alarm is due to a change in our header
file and the fact that NSPR makefiles don't do
"make depend".  A clean rebuild will fix the problem.
I verified that NSPR builds on OpenBSD/x86 2.5.
Status: RESOLVED → REOPENED
Sorry, I spoke too fast.  This is a different
problem.  Please ignore my previous comments.
Status: REOPENED → RESOLVED
Closed: 25 years ago25 years ago
Resolution: INVALID → FIXED
cls@seawood.org already checked in a fix.
/cvsroot/mozilla/nsprpub/pr/src/linking/prlink.c, revision 3.31
Status: RESOLVED → REOPENED
There may still be a problem (I'm rebuilding nsprpub in my Tinderbox build
to be sure):

gcc -o OpenBSD2.5_DBG.OBJ/openbsd.o -c  -g -fPIC  -ansi -Wall -pipe -pthread
-DOPENBSD -DHAVE_STRERROR -DHAVE_BSD_FLOCK -DFORCE_PR_LOG -D_PR_PTHREADS
-UHAVE_CVAR_BUILT_ON_SEM -DXP_UNIX -DDEBUG -UNDEBUG -DDEBUG_cltbld
-I/builds/tinderbox/SeaMonkey/nspr/include -I../../../../pr/include
-I../../../../pr/include/private  openbsd.c
In file included from /usr/include/poll.h:7,
                 from openbsd.c:22:
/usr/include/sys/poll.h:33: redefinition of `struct pollfd'
/usr/include/sys/poll.h:51: conflicting types for `poll'
../../../../pr/include/md/_unixos.h:512: previous declaration of `poll'
gmake[4]: *** [OpenBSD2.5_DBG.OBJ/openbsd.o] Error 1
Resolution: FIXED → ---
Clearing FIXED resolution due to reopen.
My guess is that _openbsd.h needs to have

#define _PR_POLL_AVAILABLE

added to it.
Status: REOPENED → RESOLVED
Closed: 25 years ago25 years ago
Resolution: --- → FIXED
I noticed that you switched to the use-pthreads build.
I just fixed that as well.  The fix consists of changes
to the following files: _openbsd.h, ptio.c, ptsynch.c,
and pr/tests/Makefile.  I also fixed a related pthreads
build problem on FreeBSD (modified _freebsd.h).

The fix is also checked into the internal repository.
Setting OS field on unverified OpenBSD bugs so they can be found.
OS: other → OpenBSD
Verified that nspr builds on OpenBSD with latest sources.
Status: RESOLVED → VERIFIED
You need to log in before you can comment on or make changes to this bug.