Symptom
To operate the SAP Content Server for UNIX platforms, you require Apache Web Server 1.3.xx (where xx is Version 22 or higher). This note describes the compiler settings for the relevant ANSI C compilers of the different supported platforms and special situations that may occur when you generate the Apache Web server. To understand this note, you must be familiar with the commands of the UNIX operating system and of the development tools.
Reason and Prerequisites
To generate the Apache Web server, you require the following software components:
a source distribution of the Apache Web Server Release 1.3.xx or 2.0.xx or 2.2.xx
a correctly installed ANSI C compiler for the relevant platform, including the relevant tools such as make, ld, ar and so on
In particular, you must ensure that the compiler can create executable 64-bit code. The only exception applies to Linux (IA32) platforms.
The compiler switches listed below are relevant for the compiler of the relevant operating system vendor. GNU compilers are supported only for Linux distributions. Please set the C/C++ compilers accordingly via the variables CC and CXX.
The following steps were tested using a Bourne shell.
You must unpack the source distribution in a temporary directory. If not specified otherwise, all commands are executed in the root directory of the source distribution, even if the scripts are located in subdirectories of the source distribution. Do not use administrator rights to execute any part of the generation. This prevents unintended installations in system directories.
In addition to this note, you must read the notes and installation guidelines contained in the distribution.
Every HP-UX system has pre-installed a compilation tool-chain, however, this tool-chain is not usable for usual programs, it is rather used _only_ for building the HP-UX kernel when the HP-UX system is updated. If you check the version output of cc, it will list a (bundled) compiler. So a HP full complilation suite should be used to build the apache. For e.g: HP Compiler suite version:aCC A.06.16.01.
Solution
1. Overview:
The Apache Web server is generated in three steps. Furthermore, you can generate a binary distribution in one step. The binary distribution has the advantage that you must specify the installation directory only at the time of the installation. Furthermore, you can install the exact same software level on several hosts after you created such a distribution once.
2. Detailed description of the generation in three steps
a) Generating the make environment (configure step)
With the script "Configure", you create the make files for the individual server components. You can use call parameters and environment variables to control the generation of the make files.
For information about the variables that you must set BEFORE executing the configure script, see the section "Compiler switches and linker switches for the different platforms".
To enable the content server or the cache server module to run on the Web server, you MUST activate Dynamic Shared Object (DSO) support (using the parameter "--enable-shared=max").
The configure call is identical for all platforms except hpia64:
For Apache 1.3:
configure --prefix=
For Apache 2.0/2.2 on hpia64:
configure --prefix=
--with-mpm=prefork
For Apache 2.0/2.2 on all other platforms:
configure --prefix=
--with-mpm=prefork --with-expat=builtin
You can use the switch "--prefix" to set the absolute installation directory. The system copies all files that are required at runtime to this directory in the subsequent installation step. If you want to use a variable installation directory, you must create a binary distribution.
With "--with-mpm=prefork" we recommend configuring apache in prefork mode
as Unix inherently supports multiprocessing. You can also use the
setting "--with-mpm=worker" if you wish to run apache in multithreaded mode
b) Generating the binary files (compile step)
You can use the call "make" to start the translation run of the source code. This step may take some minutes.
c) Installing the binary files (install step)
You can use the command "make install" to copy all binary files, the default Web site, the online documentation and so on to the installation directory that you have specified in the configure step.
3. Creating a binary distribution
For the binary distribution, you must also set the required compiler parameters and linker parameters as environment variables before you call the generation commands.
The script "./src/helpers/binbuild. sh" (Apache 1.3)
"./build/binbuild.sh" (Apache 2.0/2.2)
executes the three phases configure, make and install. In the step install, the binary distribution is created as a tape archive (tar). The script outputs the name and storage location of the archive. The binary distribution created using "binbuild.sh" supports Dynamic Shared Objects (DSO).
After you unpacked the tar archive in the target host, perform the final installation using the following script:
./install-bindist.sh
If you do not specify < InstDir>, the system installs the Web server in the directory /usr/local. Especially when you use the user root to execute this script, the Web server may easily be installed in an unrequired location and it may be difficult to remove the Web server again from this location. Therefore, we recommend that you perform the installation using the user ID under which the Web server is to run in the future. In this way, all group rights and owner rights are correctly assigned from the beginning.
4. Compiler switches and linker switches for the different platforms:
All additional compiler switchers and linker switches are set using the environment variables CFLAGS (compiler), LDFLAGS (linker) and EXTRA_LDFLAGS_SHLIB (linker indicators for shared libraries).
These variables must be exported.
a) Linux 32-bit (iA32)
For both Apache 1.3 and Apache 2.0/2.2
Additional switches are not required.
b) Linux IA64 (64-bit)
For both Apache 1.3 and Apache 2.0/2.2
LDFLAGS="-L/lib64"
c) Linux PPC64 (64-bit)
For both Apache 1.3 and Apache 2.0/2.2
CFLAGS="-m64", LDFLAGS="-m64 -L/lib64"
d) Linux x86_64 (64-bit)
For both Apache 1.3 and Apache 2.0/2.2
LDFLAGS="-L/lib64"
e) HP-UX ('PA-RISC' 64-bit)
For both Apache 1.3 and Apache 2.0/2.2
CFLAGS="+DA2.0W", LDFLAGS="+DA2.0W -lcl"
f) HP-UX (IA64 64-bit)
For both Apache 1.3 and Apache 2.0/2.2
CFLAGS="+DD64 +DSitanium2", LDFLAGS="+DD64 +DSitanium2"
PLEASE ALSO REFER THE ATTACHED NOTE 940584 ON THIS PLATFORM
g) SUN Solaris_64
For both Apache 1.3 and Apache 2.0/2.2
CFLAGS="-m64"
h) SUN SolarisX64
CFLAGS="-m64"
i) IBM AIX 5.1 and 5.2 (64-bit)
For Apache 1.3 only
CFLAGS="-q64", LDFLAGS="-q64", EXTRA_LDFLAGS_SHLIB="-b64"
For IBM, you must adjust the make file templates to correctly call the program "ar". Use the following command
find . -name *.tmpl -print
to display all the make file templates. The archiving program "ar" requires the switch "-Xany" to correctly create 64-bit archive files.
In the templates, search the command "ar cr" and replace it with "ar -Xany cr". Save your changes. Alternatively, you can also create the following shell script that automatically implements the changes in all templates:
x=`find . -name *.tmpl -print`
for i in $x
do
cat $i | sed -e 's@ar cr@ar -Xany cr@g' > $i.sav
mv $i.sav $i
done
Due to an inaccuracy in the configure script, AFTER you called "Configure", you must manually change the command "ar cr" to "ar -Xany cr" in the file ./src/modules/standard/Makefile.
For Apache 2.0/2.2 only
CFLAGS="-q64", LDFLAGS="-q64", EXTRA_LDFLAGS_SHLIB="-b64", OBJECT_MODE=64
More details refer snote : 664384