Subject Linux building howto
Author Dean Anderson
This might make a good entry in the FAQ (for building 0.9.4 on Linux)
My next question is how you build/bootstap on a new platform...


I got codes.tgz from ftp.interbase.com://pub/products/release/Misc/codes.tgz
I created a user called interbase, group interbase
I got the interbase from CVS. I highly recommend making a tar of the CVS
tree before building. It might be better to make another (non-master source
directory), but this works....

Install Interbase 6.0 (not 6.0.1).
Startup the interbase server. It will give a message saying "cant start
server". But if it runs, and works, its ok. Its running if you see
ps ax|grep ib
28268 pts/3 S 0:00 /usr/interbase/bin/ibguard -f
28269 ? S 0:00 /usr/interbase/bin/ibserver
28270 ? S 0:00 /usr/interbase/bin/ibserver
28273 ? S 0:00 /usr/interbase/bin/ibserver

export ISC_USER=sysdba
export ISC_PASSWORD=masterkey
PATH=$PATH:.

757 cd jrd
760 cp /opt/interbase/isc4.gdb isc.gdb
761 cd ../qli
762 cp /opt/interbase/help/help.gdb help.gdb
763 cd ../jrd
775 /opt/interbase/bin/isql -i ../builds_win32/original/metadata.sql
776 ls -l metadata.gdb
777 ln -s metadata.gdb yachts.gdb
781 cd ..
784 mkdir codes
786 cd codes
787 tar xzf ../../codes.tgz
788 cd ../msgs
790 /opt/interbase/bin/gbak -C ../codes/msg.gbak msg.gdb
791 cd ..

chmod 755 setup_dirs

setup_dirs LINUX DEV `pwd`

build_kit builds SUPER

Then the interbase directory contains a distribution. Now install it:

(as root, do the following:)
mv /opt/interbase /opt/xinterbase
mkdir /opt/interbase
cd interbase
tar cf - . | (cd /opt/interbase; tar xBpf -)

run install script. Possibly, there may be a problem with the old shared
library being in memory. I think there is an ldconfig command to unload it,
but it will unload overnight if the server isn't running. Else a reboot will
do.

Now you should be running the built server. I copied the examples directory
over from the 6.0 distribution, and after a minor change to the makefile,
most of the demo apps build and run. Quite pleasing experience, really.

In the makefile add a "-o" as follows:

.c.o:
$(CC) $< $(CFLAGS) -o $@


You can check the version by:
[interbase@citation examples]$ /opt/interbase/bin/isql employee.gdb
Database: employee.gdb
SQL> show version;
ISQL Version: LI-T0.9.4.91 Firebird Test1
InterBase/linux Intel (access method), version "LI-T0.9.4.91 Firebird Test1"
on disk structure version 10.0
SQL>

[interbase@citation examples]$ /opt/interbase/bin/isql
citation:/opt/interbase/examples
/employee.gdb
Database: citation:/opt/interbase/examples/employee.gdb
SQL> show version;
ISQL Version: LI-T0.9.4.91 Firebird Test1
InterBase/linux Intel (access method), version "LI-T0.9.4.91 Firebird Test1"
InterBase/linux Intel (remote server), version "LI-T0.9.4.91 Firebird
Test1/tcp (citation.av8.net)/P10"
InterBase/linux Intel (remote interface), version "LI-T0.9.4.91 Firebird
Test1/tcp (citation.av8.net)/P10"
on disk structure version 10.0


There you were, looking at a freshly built firebird.

Thanks!

--Dean