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.