[pkg-firebird-general] Bug#874517: firebird3.0 FTCBFS: lots of issues in configure.ac
Damyan Ivanov
dmn at debian.org
Thu Sep 7 13:20:03 UTC 2017
Control: retitle -1 firebird3.0 FTCBFS: executes built binaries
Control: tags -1 -patch
-=| Helmut Grohne, 06.09.2017 21:19:11 +0200 |=-
> Source: firebird3.0
> Version: 3.0.2.32703.ds4-9
> Tags: patch upstream
> User: helmutg at debian.org
> Usertags: rebootstrap
>
> firebird3.0 fails to cross build from source, because configure.ac has a
> lot of issues. It confuses "build" and "host" and uses AC_RUN_IFELSE in
> a number of places. The attached patch addresses and explains these
> issues in detail.
Thanks. That failed for me when building natively with
unsupported platform
I applied the following additional patch in order to get it to build
natively:
--- a/configure.ac
+++ b/configure.ac
@@ -85,7 +85,9 @@ STD_EDITLINE=false
dnl Test for special ar options?
AR_OPT_CHECK=false
+if test -z "$host" ; then host="$build"; fi
+
host_quadruplet=$(echo "$host" | sed 's/^\(@<:@^-@:>@*\)-\(@<:@^-@:>@*\)-\(@<:@^-@:>@*\)$/\1-pc-\2-\3/')
echo "considering >$build< >$host< >$host_quadruplet<"
case "$host_quadruplet" in
@@ -484,7 +488,7 @@ dnl CPU_TYPE=ppc64
;;
*)
- AC_MSG_ERROR(unsupported platform ${build})
+ AC_MSG_ERROR(unsupported platform ${host_quadruplet})
;;
esac
The updated patch is available at
https://anonscm.debian.org/cgit/pkg-firebird/3.0.git/tree/debian/patches/out/cross-configure.patch
> debian/rules also confuses build and host when determining whether
> to pass --enable-raw-devices. It should be querying DEB_HOST_ARCH_OS
> here.
Thanks, fixed.
> After fixing these issues, a cross build of firebird3.0 gets a lot
> further and finally fails executing "lockfile". That's a program from
> procmail, which is (implicitly) marked Multi-Arch: no. Presumably
> procmail needs to become Multi-Arch: foreign or firebird3.0 needs to
> stop using procmail for file locking.
lockfile usage was introduced in a debian patch (since firebird 2.5)
that enables building in parallel with -j. It was needed because parts
of the upstream build system use the just compiled firebird database
engine, and that usage needed to be serialized.
In firebird 3.0, however, it seems the engine copes with being used in
parallel, so I dropped the patch, as well as the procmail
build-dependency.
However, I think that this will not solve the cross-building problem,
since the upstream build still relies on executing just built
binaries, e.g. gpre -- a source preprocessor, and the engine itself.
Adjusting bug metadata accordingly.
-- Damyan
More information about the pkg-firebird-general
mailing list