[Debian-med-packaging] Bug#890631: trinityrnaseq: FTBFS with glibc 2.27: cannot find -lieee

Aurelien Jarno aurel32 at debian.org
Fri Feb 16 23:26:39 UTC 2018


Source: trinityrnaseq
Version: 2.2.0+dfsg-4
Severity: important
Tags: patch
User: debian-glibc at lists.debian.org
Usertags: 2.27

trinityrnaseq 2.2.0+dfsg-4 fails to build with glibc 2.27
(2.27-0experimental0 from experimental):

| make[2]: Entering directory '/<<BUILDDIR>>/trinityrnaseq-2.2.0+dfsg/Chrysalis'
| Makefile:80: ----------------------------------------------------------
| Makefile:81: using g++ version 7 
| Makefile:82: --------------------------------------------------------
| ./MakeDepend.cc: In member function 'bool makefile_builder::dependency::operator<(const makefile_builder::dependency&) const':
| ./MakeDepend.cc:93:47: warning: suggest parentheses around '&&' within '||' [-Wparentheses]
|                 dependent_ == other.dependent_ &&
|                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~
|                 provider_ < other.provider_ ); }
|                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~     
| ./MakeDepend.cc: In member function 'bool makefile_builder::subdir_and_target::operator<(const makefile_builder::subdir_and_target&) const':
| ./MakeDepend.cc:130:41: warning: suggest parentheses around '&&' within '||' [-Wparentheses]
|                 subdir_ == other.subdir_ &&
|                 ~~~~~~~~~~~~~~~~~~~~~~~~~^~
|                 target_ < other.target_ ); }
|                 ~~~~~~~~~~~~~~~~~~~~~~~   
| ./MakeDepend.cc: In function 'int main(int, char**)':
| ./MakeDepend.cc:223:20: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
|    char * options = "Ad:g:u:fh";
|                     ^~~~~~~~~~~
| ./MakeDepend.cc: In member function 'void makefile_builder::DumpDependencies(const string&)':
| ./MakeDepend.cc:491:46: warning: suggest parentheses around '&&' within '||' [-Wparentheses]
|        if ( ! this->FileIsSource( dependent ) && ! this->FileIsHeader( dependent ) ||
|             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| ./MakeDepend.cc:493:44: warning: suggest parentheses around '&&' within '||' [-Wparentheses]
|             this->FileIsHeader( dependent ) && this->FileIsSource( provider ) ) {
|             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| ./MakeDepend.cc: In member function 'bool makefile_builder::FileIsHeader(const string&) const':
| ./MakeDepend.cc:1339:32: warning: suggest parentheses around '&&' within '||' [-Wparentheses]
|    return ( filename.size() > 2 &&
|             ~~~~~~~~~~~~~~~~~~~~^~
|      ( CompareSubstring( filename, filename.size() - 2, 2, ".h" ) == 0 ) ||
|      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| /usr/bin/ld: cannot find -lieee
| collect2: error: ld returned 1 exit status
| make[2]: *** [MakeDepend] Error 1

A full build logs is available there:
http://aws-logs.debian.net/2018/02/07/glibc-exp/trinityrnaseq_2.2.0+dfsg-4_unstable_glibc-exp.log

Starting with glibc 2.27, support for the "ieee" library (part of SVID
specification) has been removed. The libieee.a library is therefore not
shipped anymore. In the trinityrnaseq case, GCC tries to link with this
library due to the use of the -mieee-fp option. Removing this option
from the Makefile is enough to fix the issue. This is what the attached
patch does.
-------------- next part --------------
diff -Nru trinityrnaseq-2.5.1+dfsg/debian/patches/disable-libieee trinityrnaseq-2.5.1+dfsg/debian/patches/disable-libieee
--- trinityrnaseq-2.5.1+dfsg/debian/patches/disable-libieee
+++ trinityrnaseq-2.5.1+dfsg/debian/patches/disable-libieee
@@ -0,0 +1,55 @@
+--- trinityrnaseq-2.5.1+dfsg.orig/Chrysalis/Makefile_g++_i386
++++ trinityrnaseq-2.5.1+dfsg/Chrysalis/Makefile_g++_i386
+@@ -11,7 +11,7 @@ XERCES_INC	= -ISpines
+ # Need to use old Compaq assembler:
+ SYS_OPT		+= 
+ 
+-SYS_LANG	+= -mieee-fp
++SYS_LANG	+= 
+ 
+ SYS_INCS	+=
+ 
+--- trinityrnaseq-2.5.1+dfsg.orig/Chrysalis/Makefile_g++_i686
++++ trinityrnaseq-2.5.1+dfsg/Chrysalis/Makefile_g++_i686
+@@ -9,7 +9,7 @@ XERCES_LIB	= -L$(LIB) -lxerces-c1_5_1-i6
+ # Need to use old Compaq assembler:
+ SYS_OPT		+= 
+ 
+-SYS_LANG	+= -mieee-fp
++SYS_LANG	+= 
+ 
+ SYS_INCS	+=
+ 
+--- trinityrnaseq-2.5.1+dfsg.orig/Chrysalis/Makefile_g++_i86pc
++++ trinityrnaseq-2.5.1+dfsg/Chrysalis/Makefile_g++_i86pc
+@@ -9,7 +9,7 @@ XERCES_LIB	= -L$(LIB) -lxerces-c1_5_1-i8
+ # Need to use old Compaq assembler:
+ SYS_OPT		+= 
+ 
+-SYS_LANG	+= -mieee-fp
++SYS_LANG	+= 
+ 
+ SYS_INCS	+=
+ 
+--- trinityrnaseq-2.5.1+dfsg.orig/Chrysalis/Makefile_g++_x86_64
++++ trinityrnaseq-2.5.1+dfsg/Chrysalis/Makefile_g++_x86_64
+@@ -11,7 +11,7 @@ XERCES_INC	= -ISpines
+ # Need to use old Compaq assembler:
+ SYS_OPT		+= 
+ 
+-SYS_LANG	+= -mieee-fp
++SYS_LANG	+=
+ 
+ SYS_INCS	+=
+ 
+--- trinityrnaseq-2.5.1+dfsg.orig/Chrysalis/Makefile_g++_x86_64_mpi
++++ trinityrnaseq-2.5.1+dfsg/Chrysalis/Makefile_g++_x86_64_mpi
+@@ -11,7 +11,7 @@ XERCES_INC	= -ISpines
+ # Need to use old Compaq assembler:
+ SYS_OPT		+= 
+ 
+-SYS_LANG	+= -mieee-fp
++SYS_LANG	+= 
+ 
+ SYS_INCS	+=
+ 
diff -Nru trinityrnaseq-2.5.1+dfsg/debian/patches/series trinityrnaseq-2.5.1+dfsg/debian/patches/series
--- trinityrnaseq-2.5.1+dfsg/debian/patches/series
+++ trinityrnaseq-2.5.1+dfsg/debian/patches/series
@@ -9,3 +9,4 @@
 build_with_gcc6.patch
 NeedlemanWunschGotohBanded.patch
 remove_anaconda_hashbang
+disable-libieee


More information about the Debian-med-packaging mailing list