httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Brian Behlendorf <>
Subject Porting Apache 1.2b2 for NeXTStep 3.3 (fwd)
Date Fri, 20 Dec 1996 20:01:11 GMT

---------- Forwarded message ----------
Date: Mon, 16 Dec 1996 16:11:02 -0600
From: Eduardo Trevino <>
To: Apache Porting <>
Subject: Porting Apache 1.2b2 for NeXTStep 3.3

Hello, I've just compiled Apache 1.2b2 in a NeXTstation with NeXTStep 3.3.
I had to make several patches to the code in order to compile the server so
I'm sending you the steps I took for porting it to my system.

Well, first here is the 'hostinfo' output for my machine as the uname
command is missing.

------------------------------begin hostinfo output-------------------------
Mach kernel version:
         NeXT Mach 3.3: Mon Oct 24 13:56:37 PDT 1994;

Kernel configured for a single processor only.
1 processor is physically available.
Processor type: MC680x0 (68040)
Processor speed: 25 MHz
Processor active: 0
System type: 1
Board revision: 0x0
Primary memory available: 20.00 megabytes.
Default processor set: 56 tasks, 85 threads, 1 processors
Load average: 3.99, Mach factor: 0.20
--------------------------------end hostinfo output-------------------------

Here goes how I did the port:

1. I had to add DEF_WANTHSREGEX=yes to the Configure script, to make "yes"
the default for NeXT and use the regex included with the distribution.
Otherwise the compiler would complain about a missing type regex_t in

Then I ended with a identical Configure except for the NeXT block:


2. Then I ran Configure and did the make. When compiling http_main.c I got
the following errors:

/NextDeveloper/Headers/bsd/netinet/ip.h:127: undefined type, found `n_long'
/NextDeveloper/Headers/bsd/netinet/ip.h:127: undefined type, found `n_long'

I fixed that problem by adding the following lines in http_main.c just
after the #endif of the #ifdef SecureWare block and before the #include

        #if defined(NEXT)
        #include <sys/types.h>
        #include <netinet/in_systm.h>

The <netinet/in_systm.h> defines the type n_long as u_long and the
<sys/types.h> defines the u_long as unsigned long.

3. After that I did a make again; when compiling http_core.c I got the
following error:

http_core.c:975: undefined type, found `rlim_t'
http_core.c:976: undefined type, found `rlim_t'

To fix that, I added the following line at the end (but inside) of the
#elif defined(NEXT) block in conf.h:

        typedef int rlim_t;

4. I ran make one more time and, because of the modification of conf.h,
alloc.c and http_main.c got compiled again. All the other files got
compiled without doing more patches. However, I got some warnings that I
reproduce here:

------------------------------begin warnings------------------------------
cc -c -Iregex  -O2 -DNEXT -DSTATUS   util.c
util.c: In function `gname2id':
util.c:1109: warning: passing arg 1 of `getgrnam' discards `const' from
pointer target type
util.c: In function `get_virthost_addr':
util.c:1168: warning: passing arg 1 of `inet_addr' discards `const' from
pointer target type
util.c:1176: warning: passing arg 1 of `gethostbyname' discards `const'
from pointer target type
cc -c -Iregex  -O2 -DNEXT -DSTATUS   http_bprintf.c
http_bprintf.c:33: warning: redefinition of macro FALSE
/NextDeveloper/Headers/bsd/libc.p:33: warning: is the location of the
previous definition
http_bprintf.c:34: warning: redefinition of macro TRUE
/NextDeveloper/Headers/bsd/libc.p:34: warning: is the location of the
previous definition
--------------------------------end warnings------------------------------

I hope this information is useful for the next beta or the final release of
Apache 1.2.

Greetings and happy holidays,

Eduardo Trevino
Assistant to the Dean
Science and Humanities Division
ITESM, Monterrey, Mexico

Eduardo Trevino                                   ITESM/DCH Aulas III 201-C             Tel 358-2000 x4502 / Fax 359-1771

      "The consumer is not a moron--she is your wife".- David Ogilvy

View raw message