Permalink
Cannot retrieve contributors at this time
Name already in use
A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
apache-httpd/README.platforms
Go to fileThis commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
112 lines (86 sloc)
4.31 KB
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Apache HTTP Server | |
Platform specific notes: | |
------------------------ | |
================ | |
Darwin (OS X): | |
Apache 2 relies heavily on the use of autoconf and libtool to | |
provide a build environment. Darwin provides these tools as part | |
of the Developers Tools package. Under Darwin, however, GNUlibtool | |
is installed as 'glibtool' to avoid conflicting with the Darwin | |
'libtool' program. Apache 2 knows about this so that's not a | |
problem. | |
As of OS X 10.2 (Jaguar), the bundled versions work perfectly. Partly | |
this is due to the fact that /bin/sh is now 'bash' and not 'zsh' as | |
well as the fact that the bundled versions are up-to-date: | |
autoconf 2.52 and (g)libtool 1.4.2. | |
You will note that GNU libtool should actually be installed as | |
glibtool, to avoid conflict with a Darwin program of the same | |
name. | |
There have been some reports that autoconf 2.52 prevents Apache's | |
build system from correctly handling passing multi-value envvars | |
to the build system (eg: CFLAGS="-g -O3" ./configure), causing | |
errors. Use of bash does not seem to help in this situation. If | |
this affects you, downgrading to autoconf 2.13 (which is installed | |
on Darwin) will help. | |
With Leopard (at least up to 10.5.2), when running configure | |
you will likely see errors such as: | |
rm: conftest.dSYM: is a directory | |
This is a known issue and will be fixed in a later version of the | |
autoconf suite. These errors can be safely ignored. | |
For later versions of OS X, (10.8 and 10.9), be sure to have Xcode | |
AND Xcode Command Line Tools installed. httpd will built both with | |
gcc and clang. | |
========== | |
FreeBSD: | |
autoconf 2.52 creates scripts that are incompatible with the Posix | |
shell implementation (/bin/sh) on FreeBSD. Be sure to use v2.13 | |
of autoconf. | |
Threaded MPMs are not supported on FreeBSD 4.x. Current releases of | |
FreeBSD 5.x (5.2 or later) support threaded MPMs correctly. You must pass | |
'--enable-threads=yes' to APR's configure in order to enable threads. | |
Additionally, you must use libthr or libkse via libmap.conf as the default | |
libc_r is still broken as of this writing. Please consult the man page for | |
libmap.conf for more details about configuring libthr or libkse. | |
================ | |
HP-UX: | |
The dlopen() system call in HP-UX has problems when loading/unloading | |
C++ modules. The problem can be resolved by using shl_load() instead | |
of dlopen(). This is fixed in the Apache 2.0.44 release. | |
To enable loading of C++ modules, the httpd binary has to be linked with | |
the following libraries : | |
HP-UX (11.0 / 11i): | |
When using shl_load : "cpprt0_stub.s -lcl" | |
When using dlopen : "cpprt0_stub.s -lcl -lCsup" | |
HP-UX (11i version 1.5 and greater): | |
When using dlopen/shl_load : "cpprt0_stub.s -lcl -lunwind" | |
The cpprt0_stub.s can be downloaded from the web site : | |
http://h21007.www2.hp.com/hpux-devtools/CXX/hpux-devtools.0107/0083.html | |
Compile cpprt0_stub.s with the PIC option | |
cc -c +z cpprt0_stub.s | |
- OR - | |
gcc -c -fPIC cpprt0_stub.s | |
================ | |
AIX, using the vendor C compiler with optimization: | |
There is an issue with compiling server/core.c with optimization enabled | |
which has been seen with C for AIX 5.0.2.3 and above. (5.0.2.0, 5.0.2.1, | |
and 5.0.2.2 have an additional problem with Apache 2.0.x, so either upgrade | |
the compiler or don't use optimization in order to avoid it.) | |
cc_r works fine with -O2 but xlc_r does not. In order to use xlc_r with | |
-O2, apply the patch at | |
http://www.apache.org/dist/httpd/patches/apply_to_2.0.49/aix_xlc_optimization.patch | |
(That patch works with many recent levels of Apache 2+.) | |
================ | |
Solaris: | |
On Solaris, better performance may be achieved by using the Sun Studio | |
compiler instead of gcc. As of version 11, it is now free (registration | |
required). Download the compiler from: | |
http://developers.sun.com/prodtech/cc/downloads/index.jsp | |
If you use Sun Studio, the following compiler flags (CFLAGS) are | |
recommended: | |
-XO4 -xchip=generic | |
================ | |
Ubuntu: | |
You will need to ensure that you have either libtool 1.5.6 | |
or 2.2.6b, or later. Expat 2.0.1 and PCRE 8.02 are also | |
recommended to be installed. If building PCRE from source, | |
you'll also need g++. |