diff --git a/doc/README.build.posix.html b/doc/README.build.posix.html new file mode 100644 index 0000000000..150a72c2b6 --- /dev/null +++ b/doc/README.build.posix.html @@ -0,0 +1,780 @@ + + + + + + + + + + + + + + + +

1.0 Introduction +

+

Firebird builds on many POSIX compatible Unix and Linux platforms. +This document describes the process for building on these systems and +lists the supported configurations - including compiler revision and +OS level for best results. +

+

2.0 Contents +

+

Introduction
Contents
Preparing +to Build Firebird

+ +

Supported Platforms +

+ +

3.0 Preparing to Build Firebird +

+

3.1 Generating a configure file with +autogen.sh +

+

Before building Firebird it is necessary to create the "configure" +script, if one is not included with your distrubtion. The configure +script is generated by running the "autogen.sh" script. +Autogen.sh is a shell script located in the root directory of the +Firebird build. +

+

Autogen.sh depends on the GNU toolchain to create "configure." +Modern LINUX distributions will already have the GNU toolchain +installed, but if you are attempting a build on a different POSIX +system, such as AIX, HP-UX, or Solaris, you may need to install the +necessary GNU utilities. +

+

The table below shows the versions of the GNU tools used to build +Firebird 2.5 on the UNIX hosts. These versions of the GNU tools are +what we use to build Firebird 2.5 on the different POSIX hosts. These +versions of the GNU tools are what we use to build Firebird 2.5 on +the different POSIX hosts. We take measures to make configure +buildable with as wide range of autotools as possible, but we can't +check all possible combinations.

+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+

GNU Tool +

+
+

Recommended + Version +

+
+

Notes +

+
+

m4 +

+
+

1.4.12 +

+
+

autoconf and + libtool depend on m4 +

+
+

gmake +

+
+

3.81 +

+
+

3.80 tested + ok, too +

+
+

autoconf +

+
+

2.63 +

+
+

2.56 is + minimum version per configure.in file +

+
+

automake +

+
+

1.10.1 +

+
+

1.10.2 + tested ok, too

+
+

libtool +

+
+

2.2.6a +

+
+

1.5.26 + tested ok, too

+
+
+

Recommended Version(s) of GNU Tool Chain Utilities +

+
./autogen.sh --with-system-editline=yes --with-system-icu --enable-debug

+Sample invocation of autogen with configure options +

+

Tip! It is possible to pass the configure options directly to +autogen, as shown in the example above. +

+

3.2 Running configure +

+

Once the "configure" script is generated, it can be run +repeatedly without re-running the autogen.sh script. This allows the +user to retest with different configuration options. You can always +get actual list options using './configure –help'.

+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+

Configure + Option +

+
+

Description +

+
+

Default + Value +

+
+

--enable-debug +

+
+

Build debug + version +

+
+

no +

+
+

--enable-raw-devices +

+
+

Enable + databases on raw devices +

+
+

yes +

+
+

--enable-superserver +

+
+

Build + SuperServer architecture instead Classic / SuperClassic

+
+

no +

+
+

--prefix +

+
+

Installation + location +

+
+

/usr/local/firebird +

+
+

--with-editline +

+
+

Advanced + editing and command retrieval for ISQL +

+
+

no +

+
+

--with-ipc-name +

+
+

Specify local + IPC name (mingw build only)

+
+

FirebirdIPI +

+
+

--with-system-editline +

+
+

Use system + version of editline, instead of bundled version of ICU +

+
+

no +

+
+

--with-system-icu +

+
+

Use system + version of ICU, instead of bundled version of ICU +

+
+

no +

+
+

--with-service-name +

+
+

Specify inet + service name +

+
+

gds_db +

+
+

--with-service-port +

+
+

Specify inet + service port +

+
+

3050 +

+
+

--with-gpre-ada +

+
+

Support ADA + in gpre +

+
+

no +

+
+

--with-gpre-cobol +

+
+

Support COBOL + in gpre +

+
+

no +

+
+

--with-gpre-fortran +

+
+

Support + FORTRAN in gpre +

+
+

no +

+
+

--with-gpre-pascal +

+
+

Support + PASCAL in gpre +

+
+

no +

+
+
+

Firebird Configure Options +

+

4.0 Supported Platforms +

+

This section lists platforms, compilers, and compiler options +where Firebird has been succesfully tested. Optional flags for +enthusiasts are provided. +

+

When Autoconf environment variables are provided, you must export +these before running configure. +

+

Unless otherwise noted, all builds are 64-bit. Linux 32-bit builds +are also frequently tested.

+

Firebird POSIX platforms +

+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+

AIX 6.1, + Power +

+
+

XL C++ + Compiler, 10.1 +

+
+

Frequently + Tested +

+
+

AIX 5.3, + Power +

+
+

XL C++ + Compiler, 10.1 +

+
+

Rarely + Tested +

+
+

HP-UX 11.31 + (11i v3), PA-RISC +

+
+

aCC C++ + Compiler 3.85 +

+
+

Frequently + Tested +

+
+

HP-UX 11.31 + (11i v3), Itanium +

+
+

aCC C++ + Compiler 3.85 +

+
+

Frequently + Tested +

+
+

HP-UX 11.23 + (11i v2), PA-RISC +

+
+

aCC C++ + Compiler 3.85 +

+
+

Rarely + Tested +

+
+

HP-UX 11.23 + (11i v2), Itanium +

+
+

aCC C++ + Compiler 3.85 +

+
+

Rarely + Tested +

+
+

Linux, Red + Hat Enterprise 5.3, AMD64 +

+
+

g++ 4.3.3 +

+
+

Frequently + Tested +

+
+

Linux, Open + SUSE 11.0, AMD64 +

+
+

g++ 4.3.3 +

+
+

Frequently + Tested +

+
+

Linux, Open + SUSE 10.2, AMD64 +

+
+

g++ 4.3.3 +

+
+

Frequently + Tested +

+
+

Solaris 10, + SPARC +

+
+

Sun Studio + 12, Update 1 +

+
+

Frequently + Tested +

+
+

Solaris 9 + SPARC +

+
+

Sun Studio + 12 +

+
+

Rarely + Tested +

+
+

Solaris 10, + AMD64 +

+
+

Sun Studio + 12, Update 1 +

+
+

Frequently + Tested +

+
+
+

4.1 AIX 6.1 on Power, IBM XL C++ +

+
   export CC=cc_r
+   export CXX=xlC_r
+   export CFLAGS=-q64
+   export CXXFLAGS=-q64

+Autoconf Environment Variables for AIX +

+

This configuration was also succesfully tested against AIX 5.3. +

+

Compiler version was XL C++ compiler, version 10.1.

+

4.2 HP-UX 11i v3 on Itanium, HP aC++ Compiler +

+
   export CC=cc
+   export CXX=aCC
+   export CFLAGS=+DD64
+   export CXXFLAGS=+DD64

+Autoconf Environment Variables for HP-UX 11i v3, Itanium +

+

Compiler version was HP ANSI C++ 3.85.

+

The default instruction set architecture for HP-UX Itanium is +blended. Enthusiasts may compile with +DSnative, which tunes for the +processor on which the compiler is running. +

+

4.3 HP-UX 11i v3 on PA-RISC, HP aC++ Compiler +

+
   export CC=cc
+   export CXX=aCC
+   export CFLAGS=+DD64
+   export CXXFLAGS=+DD64

+Autoconf Environment Variables for HP-UX 11iv3, PA-RISC +

+

Compiler version was HP ANSI C++ 3.85.

+

This configuration was also succesfully tested using HP-UX 11iv2. +

+

4.4 Linux on 64-bit AMD64, GNU C++ compiler +(g++) +

+

g++ 4.3.3 is reference compiler for Firebird 2.5. +

+

Firebird 2.5 has been tested on the following distributions: +

+ +

No Autoconf Environment variables are required to build on 64-bit +Linux when using g++. +

+

4.5 Linux on 32-bit i386, GNU C++ compiler +(g++) +

+

g++ 4.3.3 is reference compiler for Firebird 2.5. +

+

No Autoconf Environment variables are required to build on 32-bit +Linux when using g++. +

+

4.6 Solaris 10 on SPARC, Sun Studio 12 Update +1 +

+
   export CC=cc
+   export CXX=CC
+   export CFLAGS="-m64 -xarch=sparcvis"
+   export CXXFLAGS="-m64 -xarch=sparcvis"

+Autoconf Environment Variables for Solaris 10, SPARC +

+

This configuration was also tested on Solaris 9, SPARC, using Sun +Studio 12. +

+

Note! Sun Studio 12 is the last Sun Studio release to +support Solaris 9. Sun Studio "Update 1" requires Solaris +10 or greater. +

+

4.7 Solaris 10 on AMD64, Sun Studio 12 Update +1 +

+
   export CC=cc
+   export CXX=CC
+   export CFLAGS="-m64 -xarch=sse2a"
+   export CXXFLAGS="-m64 -xarch=sse2a"

+Autoconf Environment Variables Solaris 10, AMD64 +

+

Note! Firebird requires Solaris 10 when using Sun Studio on +Solaris AMD64 +

+

5.0 Testing in Place +

+

Firebird is using current (one being built) engine to complete +build, therefore successfully finished build is somewhat tested, but +it does not provide a "make check" option. This may be +added in a future release. +

+

After the build has finished, you may prepare your build in-place, +and run regession tests deploying it. +

+

To prepare you build for "in-place" testing, you need to +execute the following commands. This assumes that Firebird was +downloaded and built in the /u/fbtest/firebird2h1 directory: +

+
   cd /u/fbtest/firebird2h1/gen/firebird
+   export FIREBIRD=/u/fbtest/firebird2h1/gen/firebird
+   export PATH=$FIREBIRD/bin:$PATH
+   cp misc/firebird.conf .
+   cp misc/fbintl.conf intl
+   cp intl/libfbintl.so lib/fbintl.so
+   export LD_LIBRARY_PATH=$FIREBIRD/lib

+Commands for In Place Testing of Firebird +

+

Note! You may also need to edit the firebird.conf file and +change RemoteFileOpenAbility=1 if you are testing on an +NFS drive. PLEASE do NOT use this option in production unless you +really understand well what are you doing!

+

At this point you can run regression tests using ISQL client. +

+

6.0 Deploying +

+

The hard work is done. To install, just type +

+
make install
+ + \ No newline at end of file