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

Reply via email to