[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