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:

  1. 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.

    ReplyDelete
  2. 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 )

    ReplyDelete
  3. Anonymous7:23 AM

    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?

    ReplyDelete
  4. I can confirm that compilation

    debuild -i works on kubuntu karmic

    What distro do you have ?

    ReplyDelete
  5. I'm running on
    debian lenny on amd64

    ReplyDelete
  6. 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.

    ReplyDelete
  7. Anonymous12:02 AM

    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).

    ReplyDelete
  8. 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.

    ReplyDelete
  9. 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.

    ReplyDelete
  10. Anonymous12:53 AM

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

    ReplyDelete
  11. 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.

    ReplyDelete
  12. Anonymous7:32 AM

    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.

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

    ReplyDelete