Firebird News

Tuesday, December 01, 2009

Building Firebird 2.5 from debian git repository

sudo apt-get git-core devscripts
sudo apt-get build-dep firebird2.1

you need to check out the firebird 2.5 repository from debian git

git clone git://git.debian.org/pkg-firebird/2.5.git

cd 2.5

debuild -uc -us
and wait for it to build it for you
here are my results

ls ../*deb

../firebird2.5-classic_2.5.0.25784~rc1.ds1-1_amd64.deb
../firebird2.5-server-common_2.5.0.25784~rc1.ds1-1_amd64.deb
../firebird2.5-classic-common_2.5.0.25784~rc1.ds1-1_amd64.deb
../firebird2.5-super_2.5.0.25784~rc1.ds1-1_amd64.deb
../firebird2.5-common_2.5.0.25784~rc1.ds1-1_amd64.deb
../firebird2.5-superclassic_2.5.0.25784~rc1.ds1-1_amd64.deb
../firebird2.5-dev_2.5.0.25784~rc1.ds1-1_all.deb
../libfbclient2_2.5.0.25784~rc1.ds1-1_amd64.deb
../firebird2.5-doc_2.5.0.25784~rc1.ds1-1_all.deb ../libfbembed2.5_2.5.0.25784~rc1.ds1-1_amd64.deb
../firebird2.5-examples_2.5.0.25784~rc1.ds1-1_all.deb
../libib-util0_2.5.0.25784~rc1.ds1-1_amd64.deb

Also you can speed it up with make -j options: 
there is a patch applied that allows the build to be made
in parallel. Add -jX to dpkg-buildpackage or debuild command line to
use it. (X is to be replaced with the number of desired parallel build
processes)
Example:
you can add debuild -uc -us -j2

Install SuperServer and dependences

sudo dpkg -i firebird2.5-super_2.5.0.25784~rc1.ds1-1_amd64.deb libfbclient2_2.5.0.25784~rc1.ds1-1_amd64.deb libib-util0_2.5.0.25784~rc1.ds1-1_amd64.deb firebird2.5-common_2.5.0.25784~rc1.ds1-1_amd64.deb firebird2.5-common-doc_2.5.0.25784~rc1.ds1-1_all.deb firebird2.5-server-common_2.5.0.25784~rc1.ds1-1_amd64.deb

sudo su
dpkg-reconfigure firebird2.5-super
dpkg -i firebird2.5-examples_2.5.0.25784~rc1.ds1-1_all.deb
cat /usr/share/doc/firebird2.5-common-doc/examples/empbuild/employee.fdb.gz > gunzip > /tmp/employee.fdb

isql-fb
SQL>connect "/tmp/employee.fdb " user 'SYSDBA' password 'SYSDBApassword';

ps: for the moment i get an remote interface rejection so stay tuned

13 comments:

Radek Hnilica said...

I need help please.
the bulding of the package fails with an error:
Running autoreconf ...
autoreconf: Entering directory `.'
autoreconf: configure.in: not using Gettext
autoreconf: running: aclocal -I . --force
autoreconf: configure.in: tracing
autoreconf: configure.in: creating directory builds/make.new/config
autoreconf: cannot create builds/make.new/config: No such file or directory
autoreconf: running: libtoolize --copy --force
Putting files in AC_CONFIG_AUX_DIR, `builds/make.new/config'.
/usr/bin/libtoolize: line 347: cd: builds/make.new/config: No such file or directory
autoreconf: libtoolize failed with exit status: 1
make: *** [autogen-stamp] Error 1
dpkg-buildpackage: failure: debian/rules build gave error exit status 2
debuild: fatal error at line 1319:
dpkg-buildpackage -rfakeroot -D -us -uc -i failed

I use folowing commands for build:
# aptitude install libicu-dev libedit-dev git-core

$ mkdir $HOME/work/fb
$ cd $HOME/work/fb
$ git-clone git://git.debian.org/git/pkg-firebird/2.5
$ cd 2.5
$ LANG=en_US.UTF-8 debuild -i

I allso try command:
sh debian/get-orig-source.sh
before debuild -i
nothig helps.

mariuz said...

it's known issue with new autoconf

i have asked damyan to import the new version from cvs

this it might be related and see the configure.in from 2.1 (git )

real-dam said...

Radek, seems to work fine here:

Running autoreconf ...
autoreconf: Entering directory `.'
autoreconf: configure.in: not using Gettext
autoreconf: running: aclocal -I . --force
autoreconf: configure.in: tracing
autoreconf: running: libtoolize --copy --force
libtoolize: putting auxiliary files in AC_CONFIG_AUX_DIR, `builds/make.new/config'.
libtoolize: copying file `builds/make.new/config/ltmain.sh'
libtoolize: putting macros in AC_CONFIG_MACRO_DIR, `m4'.

Using the current Git (4aa5fa484551047a04bf5be4046c5cf0fd945c94)

Maybe the auto* dependencies need bumping, what are the versions you are using?

mariuz said...

I can confirm that compilation

debuild -i works on kubuntu karmic

What distro do you have ?

Radek Hnilica said...

I'm running on
debian lenny on amd64

Radek Hnilica said...

Said Debian Lenny, the autoconf and autoreconf versions are 2.61

Trying to build 2.1 with commands
mkdir $HOME/work/fb
$ cd $HOME/work/fb
$ git-clone git://git.debian.org/git/pkg-firebird/2.1
$ cd 2.1
$ LANG=en_US.UTF-8 debuild -i

got me after the critical point. the compilation is still running.

real-dam said...

If I downgrade libtool to Lenny the build fails during configure.

Can you install libtool from testing and try again?

I have bumped the build-dependency of the package. To get updates, please go to "2.5" directory and run "git pull" (this mis much more effective than cloning the whole repository over and over again).

Radek Hnilica said...

So, I added testing to apt.sources, made some pinning and install/upgrade libtool. Seems only 3 packages installed/upgraded on my system:

# aptitude install libtool

Mám:1 http://ftp.cz.debian.org squeeze/main libltdl7 2.2.6a-4 [295kB]
Mám:2 http://ftp.cz.debian.org squeeze/main libltdl-dev 2.2.6a-4 [194kB]
Mám:3 http://ftp.cz.debian.org squeeze/main libtool 2.2.6a-4 [522kB]

And now I'm able to compile and build the packages. Now I need install these and continue with experimenting. But that's another can of worms.

Thanks.

Radek Hnilica said...

Seems there is typo in debian/make_packages.sh. Compilation ends with error:

Creating firebird2.5-server-common content
debian/fbsvcbgr.1: No such file or directory at /usr/bin/dh_installman line 123, <COMPAT_IN> line 1.
make: *** [install] Error 2

I just manually correct the make_packages.sh. Building is still in progress.

real-dam said...

Yes, sorry for not pushing the obvious fix earlier. It is now on git.debian.org

Radek Hnilica said...

It compilled successfully. I also tryied to git pull and actual source also works.

I push the deb files in my repository and install fb on the target server.

# aptitude clean
# aptitude update
# aptitude install firebird2.5-super firebird2.5-doc

The following NEW packages will be installed:
firebird2.5-common{a} firebird2.5-doc firebird2.5-server-common{a}
firebird2.5-super libfbclient2.5{a} libib-util0{a} libicu38{a}
0 packages upgraded, 7 newly installed, 0 to remove and 0 not upgraded.
Need to get 15.0MB of archives. After unpacking 33.4MB will be used.

Created default security.fdb
Firebird 2.5 server manager not running..
Not starting Firebird 2.5 server manager (warning).
Use `dpkg-reconfigure firebird2.5-super' to enable. (warning).

I used the hint and run

# dpkg-reconfigure firebird2.5-super
Firebird 2.5 server manager not running..
Starting Firebird 2.5 server manager.../usr/lib/firebird/2.5/bin/fbmgr: line 4: /usr/lib/firebird/2.1/bin/fbmgr.bin: No such file or directory
/usr/lib/firebird/2.5/bin/fbmgr: line 4: exec: /usr/lib/firebird/2.1/bin/fbmgr.bin: cannot execute: No such file or directory
done.


As you can see there are refference to firebird/2.1 there.

real-dam said...

Nice :) (not really)

Now you know that I didn't have enough time to go where you reached.

Patches are welcome.

Or, you can try -classic and hope for more luck.

mariuz said...

I will try on my system to see what is going on and send the patches to damyan