]> granicus.if.org Git - apache/blobdiff - README.platforms
Update mergeinfo only: r1735891 was merged to 2.4.x in r1787728.
[apache] / README.platforms
index d5a9b6eaf6971cbdfc97b164daea565ec15de73a..a377079ff1458d9e95c3fa4bd82248b4a7ab102f 100644 (file)
@@ -4,30 +4,23 @@
   Platform specific notes:
   ------------------------
 
+================
   Darwin (OS X):
-   Apache 2.0 relies heavily on the use of autoconf and libtool to provide
-   a build environment.  Darwin provides these tools,  but they are
-   an earlier release,  and for the most part,  do not work well.
-   If you are interested in developing under Darwin,  we recommend
-   that you obtain and install replacement versions of what are
-   normally installed on Darwin (and OS X, as of v10.1.4).  If you
-   build your own versions of autoconf 2.52 and libtool 1.4.2,  be
-   aware that there are some Darwin specific patchs to the official
-   code that still must be applied for them to fully work.  A useful
-   page to check out is:
+   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.
 
-      http://fink.sourceforge.net/doc/porting/libtool.php
-
-   Pier Fumagalli also provides pre-built Darwin packages of the
-   patched autoconf and libtool suites,  available at:
-
-      http://www.apache.org/~pier/macosx/
+   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.  Pier's packages have this change already.  All files are
-   installed under /usr/local/ so to use these versions,  be sure that
-   /usr/local/bin is earlier in your PATH.
+   name.
 
    There have been some reports that autoconf 2.52 prevents Apache's
    build system from correctly handling passing multi-value envvars
    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++.