]> granicus.if.org Git - apache/blob - README.platforms
Follow up to r1789213: more accurate CHANGES entry.
[apache] / README.platforms
1
2                           Apache HTTP Server
3
4   Platform specific notes:
5   ------------------------
6
7 ================
8   Darwin (OS X):
9    Apache 2 relies heavily on the use of autoconf and libtool to
10    provide a build environment.  Darwin provides these tools as part
11    of the Developers Tools package. Under Darwin, however, GNUlibtool
12    is installed as 'glibtool' to avoid conflicting with the Darwin
13    'libtool' program.  Apache 2 knows about this so that's not a
14    problem.
15
16    As of OS X 10.2 (Jaguar), the bundled versions work perfectly. Partly
17    this is due to the fact that /bin/sh is now 'bash' and not 'zsh' as
18    well as the fact that the bundled versions are up-to-date: 
19    autoconf 2.52 and (g)libtool 1.4.2.
20
21    You will note that GNU libtool should actually be installed as
22    glibtool, to avoid conflict with a Darwin program of the same
23    name.
24
25    There have been some reports that autoconf 2.52 prevents Apache's
26    build system from correctly handling passing multi-value envvars
27    to the build system (eg: CFLAGS="-g -O3" ./configure),  causing
28    errors.  Use of bash does not seem to help in this situation.  If
29    this affects you, downgrading to autoconf 2.13 (which is installed
30    on Darwin) will help.
31
32    With Leopard (at least up to 10.5.2), when running configure
33    you will likely see errors such as:
34
35       rm: conftest.dSYM: is a directory
36
37    This is a known issue and will be fixed in a later version of the
38    autoconf suite. These errors can be safely ignored.
39
40    For later versions of OS X, (10.8 and 10.9), be sure to have Xcode
41    AND Xcode Command Line Tools installed. httpd will built both with
42    gcc and clang.
43    
44 ==========
45   FreeBSD:
46    autoconf 2.52 creates scripts that are incompatible with the Posix
47    shell implementation (/bin/sh) on FreeBSD.  Be sure to use v2.13
48    of autoconf.
49
50    Threaded MPMs are not supported on FreeBSD 4.x.  Current releases of
51    FreeBSD 5.x (5.2 or later) support threaded MPMs correctly.  You must pass
52    '--enable-threads=yes' to APR's configure in order to enable threads.
53    Additionally, you must use libthr or libkse via libmap.conf as the default
54    libc_r is still broken as of this writing.  Please consult the man page for
55    libmap.conf for more details about configuring libthr or libkse.
56 ================
57   HP-UX:
58    The dlopen() system call in HP-UX has problems when loading/unloading
59    C++ modules. The problem can be resolved by using shl_load() instead
60    of dlopen(). This is fixed in the Apache 2.0.44 release.
61    To enable loading of C++ modules, the httpd binary has to be linked with
62    the following libraries :
63
64    HP-UX (11.0 / 11i):
65       When using shl_load        : "cpprt0_stub.s -lcl"
66       When using dlopen          : "cpprt0_stub.s -lcl -lCsup"
67
68    HP-UX (11i version 1.5 and greater):
69       When using dlopen/shl_load : "cpprt0_stub.s -lcl -lunwind"
70
71    The cpprt0_stub.s can be downloaded from the web site :
72       http://h21007.www2.hp.com/hpux-devtools/CXX/hpux-devtools.0107/0083.html
73
74    Compile cpprt0_stub.s with the PIC option
75      cc -c +z cpprt0_stub.s
76        - OR -
77      gcc -c -fPIC cpprt0_stub.s
78 ================
79   AIX, using the vendor C compiler with optimization:
80     There is an issue with compiling server/core.c with optimization enabled
81     which has been seen with C for AIX 5.0.2.3 and above.  (5.0.2.0, 5.0.2.1,
82     and 5.0.2.2 have an additional problem with Apache 2.0.x, so either upgrade 
83     the compiler or don't use optimization in order to avoid it.)
84
85     cc_r works fine with -O2 but xlc_r does not.  In order to use xlc_r with
86     -O2, apply the patch at 
87
88     http://www.apache.org/dist/httpd/patches/apply_to_2.0.49/aix_xlc_optimization.patch
89
90     (That patch works with many recent levels of Apache 2+.)
91
92 ================
93   Solaris:
94
95     On Solaris, better performance may be achieved by using the Sun Studio
96     compiler instead of gcc.  As of version 11, it is now free (registration
97     required).  Download the compiler from:
98
99     http://developers.sun.com/prodtech/cc/downloads/index.jsp
100
101     If you use Sun Studio, the following compiler flags (CFLAGS) are
102     recommended:
103
104       -XO4 -xchip=generic
105
106 ================
107   Ubuntu:
108
109     You will need to ensure that you have either libtool 1.5.6
110     or 2.2.6b, or later. Expat 2.0.1 and PCRE 8.02 are also
111     recommended to be installed. If building PCRE from source,
112     you'll also need g++.