Source: trinityrnaseq Version: 2.2.0+dfsg-4 Severity: important Tags: patch User: debian-gl...@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.
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