Portability fixes for SCO OpenServer
Russ Allbery
rra at stanford.edu
Sat Apr 1 04:16:49 UTC 2000
I've just checked in changes necessary for INN to build on SCO OpenServer,
including checking sys/bitypes.h (not sys/intypes.h -- sorry, mistake in
the commit message) for int32_t since otherwise it gets included from
arpa/inet.h and produces compile errors when it conflicts with INN's
definition of int32_t.
There's still an annoying problem with the build on OpenServer; under
OpenServer (but not under UnixWare), the default cc requires -O be given
when -Kalloca is given (which is now added by default by configure since
the parsers generated by bison need it). However, there appears to be a
bug in the compiler that causes it to miscompile nnrpd/commands.c under
-O, generating the error:
Assembler: commands.c
aline 1505 : Syntax error
I had to get around this by cd'ing into nnrpd, running:
make COPT=-g commands.o
and then cd'ing back to the top level and running make again. That seems
to have done the trick. I'll make a note to add this to the FAQ. On
OpenServer, to build with cc, you have to use:
env CC=cc CFLAGS=-O ./configure --with-sendmail=/usr/lib/sendmail
The gcc build, for what it's worth, looks cleaner, but of course if you
want to use --with-perl you want to build with the same compiler that you
built Perl with. It's also worth noting that with a shared Perl library,
Perl doesn't apparently generate the right link magic to include the path
to the dynamic Perl libraries; you need to either set LD_RUN_PATH before
building or LD_LIBRARY_PATH before running any binaries so that they can
find the Perl libraries. (The former is preferred, since then the path is
encoded into the binaries and you don't have to remember to set
LD_LIBRARY_PATH later.)
Thanks to Boyd Gerber for access to a machine to find and fix this
problem!
--
Russ Allbery (rra at stanford.edu) <http://www.eyrie.org/~eagle/>
More information about the inn-workers
mailing list