[pkg-firebird-general] Firebird pkg on SPARC

Damyan Ivanov dam at modsoftsys.com
Wed Mar 14 23:02:36 CET 2007


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

- -=| Daniel Smolik, 14.03.2007 23:14 |=-
> I would like to help developing FB pkg. I am not programmer but good
> tester and have big experience with compiling under Linux.
> I am specialy interested to debian SPARC package. If you would like test
> some on SPARC let m know.

Thanks for the generous offer :)

After your help on 1.5.3-sparc front, can you help me get 2.0 built also?

Currently, as you've already read, the build of 2.0.1rc1 fails with bus
error at the first call of "create_db". create_db is a small,
statically-linked program, whose purpose is to simply create an empty
database file. For some reason, this program generates a BUS error on
sparc, meaning that it accesses memory which is not properly aligned.

(please don't get offended if I am too verbose in my explanations below.
I don't assume anything about your abilities/knowledge. The only reason
to be verbose is to ensure you have enough information to understand
what I mean)

Why 1.5 builds ok and 2.0 fails is a mistery to me. I have zero
experience with sparc, but from what I've heard, CPU has some
constraints when accessing memory. For example, it requires that if a
program accesses a 4-byte memory value that that value must start at an
address that is multiple of 4 (like 0, 4, 8, etc). If a program tries to
fetch a 4-byte value from address 3, it receives a BUS error.

So, there is something wrong in the 2.0-related changes (probably not
caused by debian patches) that make firebird2.0 access unaligned memory.
To see what exactly happens, upstream developers need a backtrace.

Backtrace is a list of source lines, which the program was executing at
the moment of the bus error. To get it, please do the following on sparc.

1. Get the sources. The easiest way is to run "dget -x
http://your.mirror.here/debian/pool/main/f/firebird2.0/firebird2.0_2.0.0.12748.ds1-5.dsc".
dget is in the "devscripts" debian package. It will download the source
package and extract it into ./firebird2.0-2.0.0.12748.ds1
2. cd firebird2.0-2.0.0.12748.ds1
3. Check that all packages needed for the build are present
  dpkg-checkbuilddeps
4. disable the autoboot debian patch
  edit debian/patches/series and place a dash before the line
"autoboot.patch"
5. apply all patches
  quilt push -a
3. run "./autogen.sh --enable-debug"
  (this will require that autoconf is installed)
4. run "make"
.. eventually, make is interrupted because of the bus error of create_db
5. get a backtrace: (gdb is in the gdb debian package)
  export FIREBIRD=./gen/firebird
  gdb gen/firebird/bin/create_db
  ... gdb prints some messages ...
  (gdb) run empty.fdb
Program received signal SIGBUS, Bus error.
  (gdb) bt
  ... gdb shows the backtrace ...

All this is much easier if you have someone to ask when stuck. Please
feel free to contact me on my Jabber ID "dam at jabber.minus273.org" or on
IRC (I am "dam" on server irc.debian.org, usually I hang on
#debian-devel). If you prefer some other instant messaging protocol -
please say so and I'll try to reach you.

Thank you for your help so far and please keep it coming :)


	dam
- --
Damyan Ivanov                           Modular Software Systems
phone +359(2)928-2611, 929-3993              fax +359(2)920-0994
mobile +359(88)856-6067              JID dam at jabber.minus273.org
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.6 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFF+HD8Hqjlqpcl9jsRApMKAJ9QsptQplEQpg40t9Tb/GiqE3PVTwCgxj3M
E0c//2ve5tcPJChP+uLhDmk=
=TquS
-----END PGP SIGNATURE-----



More information about the pkg-firebird-general mailing list