httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
Subject Ouch! New stuff in unix/os.h
Date Tue, 03 Mar 1998 15:31:32 GMT

I have a problem with this bit of code from unix/os.h:

 * Abstraction layer for dynamic loading of modules (mod_so.c)
#if defined(LINUX) || defined(__FreeBSD__) || defined(SOLARIS) || \
    defined(__bsdi__) || defined(IRIX)
# define HAS_DLFCN

As a module author, you are now forcing me to figure out which OS I am
building my module under and I need to -D on of the above symbols before
including os.h.  This may be ok for the weird Apache Configure script, 
but in an autoconf world everything works in terms of capabilities, not
on an OS-by-OS model.

Now, if the above was limited to symbols created by the compiler on the
various platforms, I could live with it, but gcc on Solaris 2.5.1, for example,
does not define SOLARIS.  

Right now the result is that mod_php3 does not compile.  This is the

gcc -O2 -I.   -I/export/home/rasmus/apache-1.3/src/include
-I/export/home/rasmus/apache-1.3/src/os/unix     -I/usr/local/include/mysql    
     -c internal_functions.c -o internal_functions.o
In file included from internal_functions.c:51:
/usr/include/dlfcn.h:53: warning: `RTLD_NOW' redefined
/export/home/rasmus/apache-1.3/src/os/unix/os.h:56: warning: this is the
location of the previous definition
In file included from internal_functions.c:51:
/usr/include/dlfcn.h:34: conflicting types for `dlerror'
/export/home/rasmus/apache-1.3/src/os/unix/os.h:45: previous declaration of
make: *** [internal_functions.o] Error 1


-------  End Forwarded Message  -------

View raw message