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!