Source: firebird3.0
Severity: serious
Tags: upstream
Justification: fails to build from source
Usertags: powerpc


firebird3.0 currently fails to build from source since the gpre
command segfaults during build:

sh -x -c "lockfile -1 /«PKGBUILDDIR»/gen/Release/firebird/bin/build-db.lock && 
/«PKGBUILDDIR»/gen/Release/firebird/bin/gpre_current -m -z -n 
/«PKGBUILDDIR»/src/yvalve/blob.epp /«PKGBUILDDIR»/temp/Release/yvalve/blob.cpp; 
res=\$?; rm -f /«PKGBUILDDIR»/gen/Release/firebird/bin/build-db.lock; exit 
+ lockfile -1 /«PKGBUILDDIR»/gen/Release/firebird/bin/build-db.lock
+ /«PKGBUILDDIR»/gen/Release/firebird/bin/gpre_current -m -z -n 
/«PKGBUILDDIR»/src/yvalve/blob.epp /«PKGBUILDDIR»/temp/Release/yvalve/blob.cpp
gpre version LI-V3.0.1.32609 Firebird 3.0
Segmentation fault
+ res=139
+ rm -f /«PKGBUILDDIR»/gen/Release/firebird/bin/build-db.lock
+ exit 139

I have done some debugging and from the backtrace it's obvious that
the crash occurs in glibc:

(sid_powerpc-dchroot)glaubitz@partch:~/firebird3.0-$ gdb 
GNU gdb (Debian 7.11.1-2) 7.11.1
Copyright (C) 2016 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "powerpc-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
Find the GDB manual and other documentation resources online at:
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from 
(gdb) run
Starting program: 
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/powerpc-linux-gnu/".
gpre:  no source file named.

Program received signal SIGSEGV, Segmentation fault.
0x0fa79960 in _IO_wsetb () from /lib/powerpc-linux-gnu/
(gdb) bt
#0  0x0fa79960 in _IO_wsetb () from /lib/powerpc-linux-gnu/
#1  0x0fa88dac in ?? () from /lib/powerpc-linux-gnu/
#2  0x0fa3cd58 in ?? () from /lib/powerpc-linux-gnu/
#3  0x0fa3ce30 in exit () from /lib/powerpc-linux-gnu/
#4  0x10027f28 in CPR_exit (stat=263831632) at ./src/gpre/gpre.cpp:978
Backtrace stopped: previous frame inner to this frame (corrupt stack?)

This looks similar to the FTBFS of lua5.3 on powerpc [1] which is
triggered by the use of a version script for the linker and, in
fact, firebird3.0 is using such scripts. Now, this actually reminded
me of another similar problem we had on sparc back then [2] which
is the missing _IO_stdin_used symbol in the version script. lua5.2
was affected by that problem as well and Aurelien Jarno fixed that
by adding that symbol to the version script [3].

I tried the fix from [3] in firebird3.0, but unfortunately it
doesn't help. Currently, I'm out of ideas but it would be great
to see this fixed as this also affects m68k for which I have
added platform support to firebird upstream [4,5].



> [1]
> [2]
> [3]
> [4]
> [5]

 .''`.  John Paul Adrian Glaubitz
 : :' :  Debian Developer -
 `. `'   Freie Universitaet Berlin -
   `-    GPG: 62FF 8A75 84E0 2956 9546  0006 7426 3B37 F5B5 F913

Reply via email to