Source: sisl
Version: 4.6.0-1
Severity: important
Tags: patch
User: debian-gl...@lists.debian.org
Usertags: 2.27

sisl 4.6.0-1 fails to build with glibc 2.27 (2.27-0experimental0 from
experimental):

| [  3%] Building C object CMakeFiles/sisl.dir/src/mk_cv_cycl.c.o
| /usr/bin/cc  -I/<<PKGBUILDDIR>>/include  -g -O2 
-fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat 
-Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2   -o 
CMakeFiles/sisl.dir/src/mk_cv_cycl.c.o   -c /<<PKGBUILDDIR>>/src/mk_cv_cycl.c
| In file included from /<<PKGBUILDDIR>>/src/crvcrvtang.c:49:0:
| /<<PKGBUILDDIR>>/src/crvcrvtang.c: In function 'crv_crv_tang':
| /<<PKGBUILDDIR>>/include/sislP.h:365:23: error: 'MAXDOUBLE' undeclared (first 
use in this function); did you mean 'DOUBLE'?
|  #define HUGE          MAXDOUBLE
|                        ^
| /<<PKGBUILDDIR>>/src/crvcrvtang.c:171:19: note: in expansion of macro 'HUGE'
|    tprev = (double)HUGE;
|                    ^~~~
| /<<PKGBUILDDIR>>/include/sislP.h:365:23: note: each undeclared identifier is 
reported only once for each function it appears in
|  #define HUGE          MAXDOUBLE
|                        ^
| /<<PKGBUILDDIR>>/src/crvcrvtang.c:171:19: note: in expansion of macro 'HUGE'
|    tprev = (double)HUGE;
|                    ^~~~
| CMakeFiles/sisl.dir/build.make:113: recipe for target 
'CMakeFiles/sisl.dir/src/crvcrvtang.c.o' failed
| make[3]: *** [CMakeFiles/sisl.dir/src/crvcrvtang.c.o] Error 1
| make[3]: *** Waiting for unfinished jobs....
| In file included from /<<PKGBUILDDIR>>/src/crvarctang.c:49:0:
| /<<PKGBUILDDIR>>/src/crvarctang.c: In function 'crv_arc_tang':
| /<<PKGBUILDDIR>>/include/sislP.h:365:23: error: 'MAXDOUBLE' undeclared (first 
use in this function); did you mean 'DOUBLE'?
|  #define HUGE          MAXDOUBLE
|                        ^
| /<<PKGBUILDDIR>>/src/crvarctang.c:174:19: note: in expansion of macro 'HUGE'
|    tprev = (double)HUGE;
|                    ^~~~
| /<<PKGBUILDDIR>>/include/sislP.h:365:23: note: each undeclared identifier is 
reported only once for each function it appears in
|  #define HUGE          MAXDOUBLE
|                        ^
| /<<PKGBUILDDIR>>/src/crvarctang.c:174:19: note: in expansion of macro 'HUGE'
|    tprev = (double)HUGE;
|                    ^~~~
| CMakeFiles/sisl.dir/build.make:89: recipe for target 
'CMakeFiles/sisl.dir/src/crvarctang.c.o' failed
| make[3]: *** [CMakeFiles/sisl.dir/src/crvarctang.c.o] Error 1
| In file included from /<<PKGBUILDDIR>>/src/intjoinper.c:51:0:
| /<<PKGBUILDDIR>>/src/intjoinper.c: In function 'int_join_per':
| /<<PKGBUILDDIR>>/include/sislP.h:365:23: error: 'MAXDOUBLE' undeclared (first 
use in this function); did you mean 'DOUBLE'?
|  #define HUGE          MAXDOUBLE
|                        ^
| /<<PKGBUILDDIR>>/src/intjoinper.c:183:23: note: in expansion of macro 'HUGE'
|       legal_min[kp] = -HUGE;
|                        ^~~~
| /<<PKGBUILDDIR>>/include/sislP.h:365:23: note: each undeclared identifier is 
reported only once for each function it appears in
|  #define HUGE          MAXDOUBLE
|                        ^
| /<<PKGBUILDDIR>>/src/intjoinper.c:183:23: note: in expansion of macro 'HUGE'
|       legal_min[kp] = -HUGE;
|                        ^~~~
| CMakeFiles/sisl.dir/build.make:281: recipe for target 
'CMakeFiles/sisl.dir/src/intjoinper.c.o' failed
| make[3]: *** [CMakeFiles/sisl.dir/src/intjoinper.c.o] Error 1
| make[3]: Leaving directory '/<<PKGBUILDDIR>>/obj-x86_64-linux-gnu'
| CMakeFiles/Makefile2:70: recipe for target 'CMakeFiles/sisl.dir/all' failed
| make[2]: *** [CMakeFiles/sisl.dir/all] Error 2
| make[2]: Leaving directory '/<<PKGBUILDDIR>>/obj-x86_64-linux-gnu'
| Makefile:154: recipe for target 'all' failed
| make[1]: *** [all] Error 2
| make[1]: Leaving directory '/<<PKGBUILDDIR>>/obj-x86_64-linux-gnu'
| dh_auto_build: cd obj-x86_64-linux-gnu && make -j16 returned exit code 2
| debian/rules:16: recipe for target 'build-arch' failed
| make: *** [build-arch] Error 2
| dpkg-buildpackage: error: debian/rules build-arch subprocess returned exit 
status 2

A full build log is available there:
http://aws-logs.debian.net/2018/02/07/glibc-exp/sisl_4.6.0-1_unstable_glibc-exp.log

Starting with glibc 2.27, support for SVID error handling has been
removed, including the corresponding constants. This causes this package
to FTBFS. The attached patch fixes that by defining the constants if
they are not defined instead of on a fixed list of systems.
diff -Nru sisl-4.6.0/debian/patches/no-svid.patch 
sisl-4.6.0/debian/patches/no-svid.patch
--- sisl-4.6.0/debian/patches/no-svid.patch     1970-01-01 01:00:00.000000000 
+0100
+++ sisl-4.6.0/debian/patches/no-svid.patch     2018-02-24 02:05:09.000000000 
+0100
@@ -0,0 +1,35 @@
+SVID error handling has been removed from glibc 2.27 onwards. Check for
+corresponding defines instead of hardcoding a list of systems.
+
+--- sisl-4.6.0.orig/include/sislP.h
++++ sisl-4.6.0/include/sislP.h
+@@ -81,14 +81,28 @@
+ #include <limits.h>
+ 
+ /* Get system spesific values */
+-#if defined(_MSC_VER) || defined(__BORLANDC__) || defined(__MINGW32__) || 
defined(__APPLE__)
++#if !defined(MAXDOUBLE)
+ #  define MAXDOUBLE   1.79769313486231570e+308
++#endif
++#if !defined(MAXFLOAT)
+ #  define MAXFLOAT    ((float)3.40282346638528860e+38)
++#endif
++#if !defined(MINDOUBLE)
+ #  define MINDOUBLE   2.22507385850720140e-308
++#endif
++#if !defined(MINFLOAT)
+ #  define MINFLOAT    ((float)1.17549435082228750e-38)
++#endif
++#if !defined(M_PI)
+ #  define M_PI        3.14159265358979323846
++#endif
++#if !defined(M_PI_2)
+ #  define M_PI_2      1.57079632679489661923
++#endif
++#if !defined(M_SQRT2)
+ #  define M_SQRT2     1.41421356237309504880
++#endif
++#if !defined(M_SQRT1_2)
+ #  define M_SQRT1_2   0.70710678118654752440
+ #endif
+ 
diff -Nru sisl-4.6.0/debian/patches/series sisl-4.6.0/debian/patches/series
--- sisl-4.6.0/debian/patches/series    1970-01-01 01:00:00.000000000 +0100
+++ sisl-4.6.0/debian/patches/series    2018-02-24 02:05:09.000000000 +0100
@@ -0,0 +1 @@
+no-svid.patch

Reply via email to