diff --git a/doc/README.build.posix.html b/doc/README.build.posix.html index 777f4b75bb..976fc22724 100644 --- a/doc/README.build.posix.html +++ b/doc/README.build.posix.html @@ -1,777 +1,860 @@ - - - - - - - - - - - - - - - -

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 that 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
+
+
+    
+        
+
+        
+    
+    
+        

+ 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 autotools to create "configure". + Modern LINUX distributions will already have the GNU autotools + installed, but if you are attempting to build on + AIX, HP-UX, or Solaris, you may need to install the + necessary GNU utilities. +

+

+ The table below shows the versions of the GNU tools that 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. +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ 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 + + no +
+ --prefix + + Installation location + + /usr/local/firebird +
+ --with-editline + + Advanced editing and command retrieval for ISQL + + no +
+ --with-ipc-name + + Specify local IPC name + + 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. +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ 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), Itanium + + aCC C++ Compiler 6.23 + + Frequently Tested +
+ HP-UX 11.31 (11i v3), PA-RISC + + aCC C++ Compiler 3.85 + + Frequently Tested +
+ HP-UX 11.23 (11i v2), Itanium + + aCC C++ Compiler 6.23 + + Rarely Tested +
+ HP-UX 11.23 (11i v2), PA-RISC + + 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 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 aCC C++ + 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 CXXFLAGS=+DD64
+
+

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

+

+ Compiler version was HP ANSI C++ A.06.23. +

+

+ 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 aCC C++ + 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 CXXFLAGS=+DD64
+
+

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

+

+ Compiler version was HP ANSI C++ A.03.85. Note, A.03.85 is + the latest and last release of the aCC compiler on PA-RISC. +

+

+ 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 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 CFLAGS="-m64 -xarch=sse2a"
+   export CXXFLAGS="-m64 -xarch=sse2a"
+
+

+ Autoconf Environment Variables Solaris 10, AMD64 +

+

+ Firebird requires Solaris 10 or later when using Sun Studio on + Solaris AMD64. Solaris 9 is not supported on 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 + 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 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
+
+ +