Firebird 2.0 rc2 from source howto (ubuntu dapper drake)
This was tested on the Ubuntu Dapper Drake (that will be released this summer)
I assume you have installed the g++ compiler (with apt-get or synaptic)
download the Firebird 2.0 RC 2 kit from the nearest mirror
wget http://ovh.dl.sourceforge.net/sourceforge/firebird/Firebird-2.0.0.12654-ReleaseCandidate2.tar.bz2
tar -jxvf Firebird-2.0.0.12654-ReleaseCandidate2.tar.bz2
cd firebird-2.0.0.12654-ReleaseCandidate2/
sudo apt-get install libreadline5-dev bison
sh autogen.sh –prefix=/opt/firebird2 –enable-superserver
make
sudo make install
ps -awwwx | grep firebird (see if is working)
/opt/firebird2/bin/isql -u SYSDBA -p masterkey /opt/firebird2/examples/empbuild/employee.fdb
Database: /opt/firebird2/examples/empbuild/employee.fdb, User: SYSDBA
SQL> show tables ;
COUNTRY CUSTOMER
DEPARTMENT EMPLOYEE
EMPLOYEE_PROJECT JOB
PROJECT PROJ_DEPT_BUDGET
SALARY_HISTORY SALES
SQL>select * from sales;
Here is one screenshot
This doesn’t seem to work on AMD64. I’m using Kubuntu (Dapper). After performing a make, editing some source lines for precision problems, and make’ing successfully, I still get errors. Here’s my output for sudo make install:
> sudo make install
Password:
make -C gen install
make[1]: Entering directory `/d/installed_proggies/firebird-2.0.0.12654-ReleaseCandidate2/gen’
make -f ../gen/Makefile.install install
make[2]: Entering directory `/d/installed_proggies/firebird-2.0.0.12654-ReleaseCandidate2/gen’
(cd ../gen; ./install/makeInstallImage.sh)
cp: cannot stat `../doc/*.pdf’: No such file or directory
mkdir -p ../gen/FirebirdSS-debuginfo-2.0.0.12654-ReleaseCandidate2.amd64
for x in `(cd ../gen/buildroot; find)`; do
FIL=../gen/buildroot/$x;
D_FIL=../gen/FirebirdSS-debuginfo-2.0.0.12654-ReleaseCandidate2.amd64/`dirname ${x}`/.debug/`basename ${x}`.debug;
if [ ! -h $FIL ] && readelf -h $FIL > /dev/null 2> /dev/null; then
mkdir -p ../gen/FirebirdSS-debuginfo-2.0.0.12654-ReleaseCandidate2.amd64/`dirname $x`/.debug;
echo Generating external debug info for $x;
cp ${FIL} ${D_FIL};
if objcopy –add-gnu-debuglink ${D_FIL} ${FIL}; > /dev/null 2> /dev/null; then
echo Succeeded using objcopy from binutils;
else
echo Failed to set debug link for ${x};
fi;
echo Stripping unneeded symbols from ${x};
objcopy –strip-debug –strip-unneeded ${FIL};
fi;
done
Generating external debug info for ./opt/firebird/UDF/fbudf.so
Succeeded using objcopy from binutils
Stripping unneeded symbols from ./opt/firebird/UDF/fbudf.so
Generating external debug info for ./opt/firebird/UDF/ib_udf.so
Succeeded using objcopy from binutils
Stripping unneeded symbols from ./opt/firebird/UDF/ib_udf.so
Generating external debug info for ./opt/firebird/bin/qli
Succeeded using objcopy from binutils
Stripping unneeded symbols from ./opt/firebird/bin/qli
Generating external debug info for ./opt/firebird/bin/gbak
Succeeded using objcopy from binutils
Stripping unneeded symbols from ./opt/firebird/bin/gbak
Generating external debug info for ./opt/firebird/bin/gdef
Succeeded using objcopy from binutils
Stripping unneeded symbols from ./opt/firebird/bin/gdef
Generating external debug info for ./opt/firebird/bin/gfix
Succeeded using objcopy from binutils
Stripping unneeded symbols from ./opt/firebird/bin/gfix
Generating external debug info for ./opt/firebird/bin/gpre
Succeeded using objcopy from binutils
Stripping unneeded symbols from ./opt/firebird/bin/gpre
Generating external debug info for ./opt/firebird/bin/gsec
Succeeded using objcopy from binutils
Stripping unneeded symbols from ./opt/firebird/bin/gsec
Generating external debug info for ./opt/firebird/bin/isql
Succeeded using objcopy from binutils
Stripping unneeded symbols from ./opt/firebird/bin/isql
Generating external debug info for ./opt/firebird/bin/fbmgr.bin
Succeeded using objcopy from binutils
Stripping unneeded symbols from ./opt/firebird/bin/fbmgr.bin
Generating external debug info for ./opt/firebird/bin/gstat
Succeeded using objcopy from binutils
Stripping unneeded symbols from ./opt/firebird/bin/gstat
Generating external debug info for ./opt/firebird/bin/fbguard
Succeeded using objcopy from binutils
Stripping unneeded symbols from ./opt/firebird/bin/fbguard
Generating external debug info for ./opt/firebird/bin/fbserver
Succeeded using objcopy from binutils
Stripping unneeded symbols from ./opt/firebird/bin/fbserver
Generating external debug info for ./opt/firebird/bin/gsplit
Succeeded using objcopy from binutils
Stripping unneeded symbols from ./opt/firebird/bin/gsplit
Generating external debug info for ./opt/firebird/bin/fb_lock_print
Succeeded using objcopy from binutils
Stripping unneeded symbols from ./opt/firebird/bin/fb_lock_print
Generating external debug info for ./opt/firebird/lib/libib_util.so
Succeeded using objcopy from binutils
Stripping unneeded symbols from ./opt/firebird/lib/libib_util.so
Generating external debug info for ./opt/firebird/lib/libicudata.so.30.0
Succeeded using objcopy from binutils
Stripping unneeded symbols from ./opt/firebird/lib/libicudata.so.30.0
Generating external debug info for ./opt/firebird/lib/libfbclient.so.2.0.0
Succeeded using objcopy from binutils
Stripping unneeded symbols from ./opt/firebird/lib/libfbclient.so.2.0.0
Generating external debug info for ./opt/firebird/lib/libicuuc.so.30.0
Succeeded using objcopy from binutils
Stripping unneeded symbols from ./opt/firebird/lib/libicuuc.so.30.0
Generating external debug info for ./opt/firebird/lib/libicui18n.so.30.0
Succeeded using objcopy from binutils
Stripping unneeded symbols from ./opt/firebird/lib/libicui18n.so.30.0
Generating external debug info for ./opt/firebird/intl/fbintl
Succeeded using objcopy from binutils
Stripping unneeded symbols from ./opt/firebird/intl/fbintl
mkdir -p ../gen/FirebirdSS-debuginfo-2.0.0.12654-ReleaseCandidate2.amd64/usr/lib64/.debug
for x in `ls ../gen/FirebirdSS-debuginfo-2.0.0.12654-ReleaseCandidate2.amd64/opt/firebird/lib/.debug`; do
ln -f -s /opt/firebird/lib/.debug/`basename $x` ../gen/FirebirdSS-debuginfo-2.0.0.12654-ReleaseCandidate2.amd64/usr/lib64/.debug;
done
mkdir -p ../gen/FirebirdSS-2.0.0.12654-ReleaseCandidate2.amd64
cp -r ../gen/install/scripts ../gen/FirebirdSS-2.0.0.12654-ReleaseCandidate2.amd64
cp -r ../gen/install/scripts/tarMainInstall.sh ../gen/FirebirdSS-2.0.0.12654-ReleaseCandidate2.amd64/install.sh
chmod a+x ../gen/FirebirdSS-2.0.0.12654-ReleaseCandidate2.amd64/install.sh ../gen/FirebirdSS-2.0.0.12654-ReleaseCandidate2.amd64/scripts/*sh
(cd ../gen/FirebirdSS-2.0.0.12654-ReleaseCandidate2.amd64; tar -C ../buildroot -czf buildroot.tar.gz . )
(cd ../gen/FirebirdSS-2.0.0.12654-ReleaseCandidate2.amd64; tar -tzf buildroot.tar.gz > manifest.txt )
(cd ../gen/FirebirdSS-2.0.0.12654-ReleaseCandidate2.amd64; ./install.sh)
Firebird super 2.0.0.12654-ReleaseCandidate2.amd64 Installation
Press Enter to start installation or ^C to abort
Extracting install data
Updated /etc/services
Usage: useradd [options] LOGIN
Options:
-b, –base-dir BASE_DIR base directory for the new user account
home directory
-c, –comment COMMENT set the GECOS field for the new user account
-d, –home-dir HOME_DIR home directory for the new user account
-D, –defaults print or save modified default useradd
configuration
-e, –expiredate EXPIRE_DATE set account expiration date to EXPIRE_DATE
-f, –inactive INACTIVE set password inactive after expiration
to INACTIVE
-g, –gid GROUP force use GROUP for the new user account
-G, –groups GROUPS list of supplementary groups for the new
user account
-h, –help display this help message and exit
-k, –skel SKEL_DIR specify an alternative skel directory
-K, –key KEY=VALUE overrides /etc/login.defs defaults
-m, –create-home create home directory for the new user
account
-o, –non-unique allow create user with duplicate
(non-unique) UID
-p, –password PASSWORD use encrypted password for the new user
account
-s, –shell SHELL the login shell for the new user account
-u, –uid UID force use the UID for the new user account
chown: `firebird:firebird’: invalid user
chown: `firebird:firebird’: invalid user
chown: `firebird:firebird’: invalid user
chown: `firebird:firebird’: invalid user
chown: `firebird:firebird’: invalid user
chown: `firebird:firebird’: invalid user
chown: `firebird:firebird’: invalid user
Adding system startup for /etc/init.d/firebird …
/etc/rc0.d/K20firebird -> ../init.d/firebird
/etc/rc1.d/K20firebird -> ../init.d/firebird
/etc/rc6.d/K20firebird -> ../init.d/firebird
/etc/rc2.d/S14firebird -> ../init.d/firebird
/etc/rc3.d/S14firebird -> ../init.d/firebird
/etc/rc5.d/S14firebird -> ../init.d/firebird
chown: `firebird:firebird’: invalid user
Starting Firebird server: start-stop-daemon: user `firebird’ not found
(Success)
Fixing firebird’s shell to /bin/sh
usermod: user firebird does not exist
Starting Firebird server: start-stop-daemon: user `firebird’ not found
(Success)
Please enter new password for SYSDBA user: firebird
Unable to complete network request to host “localhost”.
Failed to establish a connection.
Connection refused
unable to open database
Please enter new password for SYSDBA user: firebird
This then becomes an infinite loop 🙁 Any help would be greatly appreciated.
try to add firebird user
and run the sudo make install again
That did it. Thanks!
sorry for the newbie post – but, after installing on Ubuntu 6.0 I can connect to server locally – and using Flamerobin, I can connect to server from windows client – and retrieve server version – but, I cannot connect to database or create database. TIA.
you need to create an directory lets say /opt/firebird2/databases where firebird user
can read write
You can test creating an empty database in /tmp for testing first
Thank you very much. I have fb SS version 2 running now on Ubuntu 6.0. I can connect using isql locally. Using a remote client (laptop with a 802.11g wireless – good connection), I can connect to the server but it is VERY slow(using isql and an application with .NET provider). Queries and results from stored procedures take several minutes – whereas the same applications on a Win XP server are instantaneous. The database on linux was created using a transportable backup from the Win XP server. TIA!
Replying to self. I found that the error was for file permission on the database file
using
$chmod o+rw
fixed the issue. Thanks!