You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@httpd.apache.org by Andrew Wilson <aw...@hyperreal.com> on 1996/01/02 21:17:23 UTC

UnixWare SVR4.2: Beware!!! (fwd)

Ack sent.  More UnixWare stuff, from the previous poster.  This
sounds like an important bit of info.  Is UnixWare the *only* OS
affected by this hairy library stuff?


Ay.

Forwarded message:
> From squeek!Kazule!crh@kksys.com  Fri Dec 29 15:10:40 1995
> Message-Id: <m0...@kksys.skypoint.net>
> Date: Fri, 29 Dec 1995 17:00:24 -0600 (CST)
> Reply-To: crh@ubiqx.mn.org (Christopher R Hertel)
> X-Mailer: ELM [version 2.4 PL17]
> Content-Type: text
> Content-Length: 1345
> From: "Christopher R. Hertel" <cr...@Kazule>
> To: squeek!apache.org!apache-bugs
> Subject: UnixWare SVR4.2: Beware!!!
> 
> Aiiiiigh!
> 
> Okay, a day or two ago I sent an E'mail discussing compiling Apache 1.0.0 
> under UnixWare.
> 
> Okay, I got it to compile.
> 
> Okay, so there were some weird bugs which I didn't tell you about because
> I didn't know about them...
> 
> For example, directory indexing didn't work.  I tracked it down to the 
> call to readdir() in mod_dir.c.  It was returning garbage records.  "How 
> could that be?" I wondered.  I tested readdir() in a simple program and 
> it worked fine.
> 
> After playing with it for a LONG time, I remembered the problems that I
> was having linking in the BSD stuff.  In particular, attempting to compile
> using the /usr/ucb/cc had failed because of incompatibilities between BSD
> and SVR4 include files.
> 
> So: I checked /usr/ucblib/libucb.a and--boing!--it has it's own version 
>     of readdir()!
> 
> Strangely, I could not find any documentation for the BSD version.  AIIIGH!
> 
> Result:  LINK ORDER IS IMPORTANT under UnixWare SVR4.2 1.1.2, SDK 1.1!
> 
> Here are some of the significant lines from my Configuration file:
> 
> LFLAGS=
> EXTRA_LIBS=
> AUX_CFLAGS= -DSVR4
> AUX_LIBS= -lsocket -lnsl -lc -L /usr/ucblib -ldbm -lucb
> 
> 
> Additional notes:
> 
> in order to include ndbm.h, I had to include it as:
> 
> #include "/usr/ucbinclude/ndbm.h"
> 
> On my system, there is no libndbm, it's libdbm.
> 
> I hope that this is of use.
> 
> Chris Hertel -)-----
> crh@ubiqx.mn.org
> 


Re: UnixWare SVR4.2: Beware!!! (fwd)

Posted by Brian Clapper <bm...@telebase.com>.
>>>>> "Andrew" == Andrew Wilson <aw...@hyperreal.com> writes:

Andrew> Ack sent.  More UnixWare stuff, from the previous poster.  This
Andrew> sounds like an important bit of info.  Is UnixWare the *only* OS
Andrew> affected by this hairy library stuff?

...

Andrew> > Here are some of the significant lines from my Configuration file:
Andrew> >
Andrew> > LFLAGS=
Andrew> > EXTRA_LIBS=
Andrew> > AUX_CFLAGS= -DSVR4
Andrew> > AUX_LIBS= -lsocket -lnsl -lc -L /usr/ucblib -ldbm -lucb

You have to be *really* careful with the UnixWare BSD compatibility
libraries.  I've had cases where I've blithely used "-L/usr/ucblib ..."
and had perfectly good software start dumping core, because I inadvertently
pulled in incompatible stdio routines.  The BSD compatibility library's
stdio routines appear to be just one of a set of things that aren't
compatible with the regular SVR4.2 routines in UnixWare.  Explicitly
specifying "-lc", as indicated above, sometimes solves the problems.  Other
times, it won't.  I've had cases where I've tracked down the exact BSD
routines being used (e.g., bcopy(), etc.), manually extracted just *those*
objects from /usr/ucblib/libucb.a, dropped them into a local library I
linked against, all so I could be absolutely positive I wasn't getting the
wrong stuff from the compatibility library.

It's a mess.
----
Brian Clapper, bmc@telebase.com, http://www.netaxs.com/~bmc/
UnixWare: Just Say No.