README.platforms revision 942f9b7d835bb864a76719c131efcf3861450c96
1476N/A
2887N/A Apache HTTP Server
1476N/A
1476N/A Platform specific notes:
1476N/A ------------------------
1476N/A
1476N/A================
1476N/A Darwin (OS X):
1476N/A Apache 2 relies heavily on the use of autoconf and libtool to
1476N/A provide a build environment. Darwin provides these tools as part
1476N/A of the Developers Tools package. Under Darwin, however, GNUlibtool
1476N/A is installed as 'glibtool' to avoid conflicting with the Darwin
1476N/A 'libtool' program. Apache 2 knows about this so that's not a
1476N/A problem.
1476N/A
1476N/A As of OS X 10.2 (Jaguar), the bundled versions work perfectly. Partly
1476N/A this is due to the fact that /bin/sh is now 'bash' and not 'zsh' as
1476N/A well as the fact that the bundled versions are up-to-date:
1476N/A autoconf 2.52 and (g)libtool 1.4.2.
1476N/A
1476N/A Earlier versions of OS X are not so fortunate, and the bundled tools
1476N/A are not only older versions, but also, for the most part, do not work
1476N/A well. If you are interested in developing under Darwin, we
1476N/A recommend that you obtain and install replacement versions of what
1476N/A are normally installed on Darwin (and OS X, as of v10.1.5). If
3215N/A you build your own versions of autoconf 2.52 and libtool 1.4.2, be
5822N/A aware that there are some Darwin specific patches to the official
1476N/A code that still must be applied for them to fully work. A useful
1476N/A page to check out is:
1476N/A
1476N/A http://fink.sourceforge.net/doc/porting/libtool.php
1476N/A
1476N/A Pier Fumagalli also provides pre-built Darwin packages of the
4616N/A patched autoconf and libtool suites, available at:
4616N/A
4616N/A http://www.apache.org/~pier/macosx/
4616N/A
4616N/A You will note that GNU libtool should actually be installed as
4616N/A glibtool, to avoid conflict with a Darwin program of the same
4616N/A name. Pier's packages have this change already. All files are
4616N/A installed under /usr/local/ so to use these versions, and be sure
4616N/A that /usr/local/bin is earlier in your PATH.
5822N/A
5822N/A There have been some reports that autoconf 2.52 prevents Apache's
5822N/A build system from correctly handling passing multi-value envvars
5822N/A to the build system (eg: CFLAGS="-g -O3" ./configure), causing
5822N/A errors. Use of bash does not seem to help in this situation. If
5822N/A this affects you, downgrading to autoconf 2.13 (which is installed
5822N/A on Darwin) will help.
5822N/A
4616N/A==========
1476N/A FreeBSD:
1476N/A autoconf 2.52 creates scripts that are incompatible with the Posix
1476N/A shell implementation (/bin/sh) on FreeBSD. Be sure to use v2.13
1476N/A of autoconf.
5822N/A
5822N/A Threaded MPMs are not supported on FreeBSD 4.x. Current releases of
5822N/A FreeBSD 5.x (5.2 or later) support threaded MPMs correctly. You must pass
4616N/A '--enable-threads=yes' to APR's configure in order to enable threads.
5822N/A Additionally, you must use libthr or libkse via libmap.conf as the default
5822N/A libc_r is still broken as of this writing. Please consult the man page for
5822N/A libmap.conf for more details about configuring libthr or libkse.
5822N/A================
5822N/A HP-UX:
5822N/A The dlopen() system call in HP-UX has problems when loading/unloading
5822N/A C++ modules. The problem can be resolved by using shl_load() instead
4616N/A of dlopen(). This is fixed in the Apache 2.0.44 release.
5822N/A To enable loading of C++ modules, the httpd binary has to be linked with
5822N/A the following libraries :
5822N/A
5822N/A HP-UX (11.0 / 11i):
5822N/A When using shl_load : "cpprt0_stub.s -lcl"
5822N/A When using dlopen : "cpprt0_stub.s -lcl -lCsup"
5822N/A
5822N/A HP-UX (11i version 1.5 and greater):
5822N/A When using dlopen/shl_load : "cpprt0_stub.s -lcl -lunwind"
5822N/A
5822N/A The cpprt0_stub.s can be downloaded from the web site :
5822N/A http://h21007.www2.hp.com/hpux-devtools/CXX/hpux-devtools.0107/0083.html
5822N/A
5822N/A Compile cpprt0_stub.s with the PIC option
5822N/A cc -c +z cpprt0_stub.s
5822N/A - OR -
5822N/A gcc -c -fPIC cpprt0_stub.s
5822N/A
5822N/A
5822N/A