Slamd64 and Firebird
I just installed Slamd64 version 12.2. I know that Slackware -current
is 64bit and Slackware 13.0 is out, but out-of-the-box 32bit compatibility
of Slamd64 is very tempting, so this is the first 64bit slackware I
installed.
Install went fine, and KDE is running in a matter of
seconds. Now, time to compile all the needed stuff for development.
Basically, all I need is Firebird, FlameRobin and PHP extension for
Firebird (i.e. InterBase).
1. Compiling Firebird
You could use the binaries on the website (which I learned later), but AMD64 seemed suspicious (I run Intel Core2Duo CPU), so I decided to compile. I downloaded the .tar.bz2 source package, unpacked it and run:
./configure —prefix=/opt/firebird
Well, I first ran —prefix=/opt, but that turned out to be a bad
idea :(
Anyway, configure went fine, and then I ran
make -j2
because I have two cores. However, this is not supported as some steps of build process are dependend on each other while that dependency is not listed in the Makefile. Alex Peshkov says this should be fixed for Firebird 3. So, make sure you only run
make
if you don’t want to see any errors. Once build is complete, run:
make dist
to create .tar.gz (and .rpm) packages. Just like official ones. Further
installation using this packages goes as usual (unpack + ./install.sh).
2. Compiling FlameRobin
This was the easiest step as everything works the same as on 32bit Slackware. Compile wxWidgets first and then FlameRobin - all as usual.
3. Compiling PHP extension for Firebird (InterBase)
Using the PHP 5.2.8 source and steps on this link:
http://www.firebirdfaq.org/faq191/
does not get you far because of some bug in PHP 5.2.8. Fix is
rather trivial. Before you run make,
edit the files:
/usr/include/php/Zend/zend.h /usr/include/php/main/php.h
And comment this line:
//#include <unix.h>.h>
Of course, PHP 5.2.8 still has
a bug with decimal numbers, so make sure you align those zeroes
in ibase_query.c and php_ibase_udf.c files.
After that, run
all the steps (phpize, configure, make) and copy interbase.so
to /usr/lib64/php/extensions. Restart Apache and enjoy!