Closed Bug 97456 Opened 23 years ago Closed 23 years ago

build error on BSD/OS 4.3 (beta3)

Categories

(NSPR :: NSPR, defect, P2)

4.1.2
Other
BSDI
defect

Tracking

(Not tracked)

RESOLVED FIXED

People

(Reporter: lidl, Assigned: wtc)

Details

Attachments

(1 file)

There is problem building the nspr libraries on BSD/OS 4.3 (beta3).
Since BSD/OS is due to be released in the next couple of months,
it would be nice to get this patch into the nspr library before
it hits the streets.

The issue is that the "builtin" prototype for getprotobyname_r
is wrong for BSD/OS.  With this patch in place, the system builds
under both BSD/OS 4.2 and BSD/OS 4.3 (beta3).

Patch attachement follows for whatever version of nspr is current
as of this morning, according to the tip of the mozilla CVS tree.
Thanks for the patch.

What is the function prototype of getprotobyname_r()
on BSD/OS?

In what release of BSD/OS was getprotobyname_r() first
introduced?  Does your patch break the old BSD/OS
releases that don't have getprotobyname_r()?

Is there a system macro that gives the BSD/OS version
number?
Well, let's see, in order, your answers are:

struct protoent *getprotobyname_r __P((const char *,
                                struct protoent *, char *, int));

(On BSD/OS 4.2 and 4.3)

I don't know if the getprotobyname_r function was in BSD/OS 4.1
or not.  It wasn't in 4.0.1 or any earlier release.  It is definately
there in 4.2 and 4.3.

I don't know if my patch will break BSD/OS 3.1 or BSD/OS 4.0.1 -- it
probably will.  Given that both 3.1 and 4.0.1 are no longer supported
versions, I'm not too worried about it.  Given the serious nature of
some of the bugs in the pthreads library in all releases before 4.2,
I think the point is moot.

I have built the browser under both BSD/OS 4.2 and 4.3 with my patch
installed.  It works great under 4.2 with my patch.  The 4.3 build
doesn't work if I have --enable-crypto turned on, but I'm sure that
is a different problem.

As for a feature macro under BSD/OS, you can include <sys/param.h>
and look at _BSDI_VERSION to figure out what version of BSD/OS you have:

#define _BSDI_VERSION	199501 /* 2.0.1 */
#define _BSDI_VERSION	199701 /* 3.1 */
#define _BSDI_VERSION	199802 /* 4.0.1 */
#define _BSDI_VERSION	199910 /* 4.1 */
#define _BSDI_VERSION	200005 /* 4.2 */
#define _BSDI_VERSION	200105 /* 4.3 (probably) */

The above list isn't complete, but good enough.

Thanks a lot for answering my questions.

Your fix has been checked in on the tip of NSPR.

I am going to request approval to check in the fix
on the NSPR branch used by the Mozilla client.
Status: UNCONFIRMED → ASSIGNED
Ever confirmed: true
Priority: -- → P2
Target Milestone: --- → 4.2
a=asa on behalf of drivers.
Fix checked in on the NSPRPUB_PRE_4_2_CLIENT_BRANCH
of NSPR.
Status: ASSIGNED → RESOLVED
Closed: 23 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: