Opened 8 years ago
Closed 7 years ago
#3273 closed defect (fixed)
Fails to build with GCC 7
Reported by: | Bas Couwenberg | Owned by: | |
---|---|---|---|
Priority: | critical | Milestone: | 7.2.2 |
Component: | Compiling | Version: | 7.2.0 |
Keywords: | Cc: | Bas Couwenberg | |
CPU: | x86-64 | Platform: | Linux |
Description
As reported by Matthias Klose in Debian Bug #853433:
The package fails to build in a test rebuild on at least amd64 with gcc-7/g++-7, but succeeds to build with gcc-6/g++-6. The severity of this report may be raised before the buster release. There is no need to fix this issue in time for the stretch release.
The full build log can be found at: http://people.debian.org/~doko/logs/gcc7-20170126/grass_7.2.0-1_unstable_gcc7.log The last lines of the build log are at the end of this report.
To build with GCC 7, either set CC=gcc-7 CXX=g++-7 explicitly, or install the gcc, g++, gfortran, ... packages from experimental.
apt-get -t=experimental install g++
Common build failures are new warnings resulting in build failures with -Werror turned on, or new/dropped symbols in Debian symbols files. For other C/C++ related build failures see the porting guide at http://gcc.gnu.org/gcc-7/porting_to.html
[...] can't handle line breaks in <dt>...</dt> make[6]: Leaving directory '/<<PKGBUILDDIR>>/man' make[5]: Leaving directory '/<<PKGBUILDDIR>>/man' make[4]: Leaving directory '/<<PKGBUILDDIR>>/man' make[4]: Entering directory '/<<PKGBUILDDIR>>/macosx' make[4]: Leaving directory '/<<PKGBUILDDIR>>/macosx' make[4]: Entering directory '/<<PKGBUILDDIR>>/mswindows' make[4]: Nothing to be done for 'first'. make[4]: Leaving directory '/<<PKGBUILDDIR>>/mswindows' make[3]: Leaving directory '/<<PKGBUILDDIR>>' make /<<PKGBUILDDIR>>/dist.x86_64-pc-linux-gnu/AUTHORS /<<PKGBUILDDIR>>/dist.x86_64-pc-linux-gnu/CHANGES /<<PKGBUILDDIR>>/dist.x86_64-pc-linux-gnu/CITING /<<PKGBUILDDIR>>/dist.x86_64-pc-linux-gnu/COPYING /<<PKGBUILDDIR>>/dist.x86_64-pc-linux-gnu/GPL.TXT /<<PKGBUILDDIR>>/dist.x86_64-pc-linux-gnu/INSTALL /<<PKGBUILDDIR>>/dist.x86_64-pc-linux-gnu/REQUIREMENTS.html /<<PKGBUILDDIR>>/dist.x86_64-pc-linux-gnu/contributors.csv /<<PKGBUILDDIR>>/dist.x86_64-pc-linux-gnu/contributors_extra.csv /<<PKGBUILDDIR>>/dist.x86_64-pc-linux-gnu/translators.csv make[3]: Entering directory '/<<PKGBUILDDIR>>' /usr/bin/install -c -m 644 AUTHORS /<<PKGBUILDDIR>>/dist.x86_64-pc-linux-gnu/AUTHORS /usr/bin/install -c -m 644 CHANGES /<<PKGBUILDDIR>>/dist.x86_64-pc-linux-gnu/CHANGES /usr/bin/install -c -m 644 CITING /<<PKGBUILDDIR>>/dist.x86_64-pc-linux-gnu/CITING /usr/bin/install -c -m 644 COPYING /<<PKGBUILDDIR>>/dist.x86_64-pc-linux-gnu/COPYING /usr/bin/install -c -m 644 GPL.TXT /<<PKGBUILDDIR>>/dist.x86_64-pc-linux-gnu/GPL.TXT /usr/bin/install -c -m 644 INSTALL /<<PKGBUILDDIR>>/dist.x86_64-pc-linux-gnu/INSTALL /usr/bin/install -c -m 644 REQUIREMENTS.html /<<PKGBUILDDIR>>/dist.x86_64-pc-linux-gnu/REQUIREMENTS.html /usr/bin/install -c -m 644 contributors.csv /<<PKGBUILDDIR>>/dist.x86_64-pc-linux-gnu/contributors.csv /usr/bin/install -c -m 644 contributors_extra.csv /<<PKGBUILDDIR>>/dist.x86_64-pc-linux-gnu/contributors_extra.csv /usr/bin/install -c -m 644 translators.csv /<<PKGBUILDDIR>>/dist.x86_64-pc-linux-gnu/translators.csv make[3]: Leaving directory '/<<PKGBUILDDIR>>' make manifests make[3]: Entering directory '/<<PKGBUILDDIR>>' make[3]: Nothing to be done for 'manifests'. make[3]: Leaving directory '/<<PKGBUILDDIR>>' GRASS GIS 7.2.0 exported compilation log -------------------------------------------------- Started compilation: Fri Jan 27 12:58:35 UTC 2017 -- Errors in: /<<PKGBUILDDIR>>/lib/python/ctypes -- In case of errors please change into the directory with error and run 'make'. If you get multiple errors, you need to deal with them in the order they appear in the error log. If you get an error building a library, you will also get errors from anything which uses the library. -- Finished compilation: Fri Jan 27 12:59:36 UTC 2017 Makefile:57: recipe for target 'default' failed make[2]: *** [default] Error 1 make[2]: Leaving directory '/<<PKGBUILDDIR>>' dh_auto_build: make -j64 returned exit code 2 debian/rules:110: recipe for target 'build-arch-stamp' failed make[1]: *** [build-arch-stamp] Error 2 make[1]: Leaving directory '/<<PKGBUILDDIR>>' debian/rules:37: recipe for target 'build' failed make: *** [build] Error 2 dpkg-buildpackage: error: debian/rules build gave error exit status 2
Attachments (1)
Change History (8)
by , 8 years ago
Attachment: | grass_7.2.0-1_unstable_gcc7.log.gz added |
---|
follow-up: 5 comment:1 by , 8 years ago
This is probably the error message:
ValueError: invalid literal for int() with base 8: '08420217248550443400745280086994171'
and in context:
GISRC=/<<PKGBUILDDIR>>/dist.x86_64-pc-linux-gnu/demolocation/.grassrc72 GISBASE=/<<PKGBUILDDIR>>/dist.x86_64-pc-linux-gnu PATH="/<<PKGBUILDDIR>>/dist.x86_64-pc-linux-gnu/bin:/<<PKGBUILDDIR>>/dist.x86_64-pc-linux-gnu/bin:/<<PKGBUILDDIR>>/dist.x86_64-pc-linux-gnu/scripts:$PATH" PYTHONPATH="/<<PKGBUILDDIR>>/dist.x86_64-pc-linux-gnu/etc/python:/<<PKGBUILDDIR>>/dist.x86_64-pc-linux-gnu/gui/wxpython:$PYTHONPATH" LD_LIBRARY_PATH="/<<PKGBUILDDIR>>/dist.x86_64-pc-linux-gnu/bin:/<<PKGBUILDDIR>>/dist.x86_64-pc-linux-gnu/bin:/<<PKGBUILDDIR>>/dist.x86_64-pc-linux-gnu/scripts:/<<PKGBUILDDIR>>/dist.x86_64-pc-linux-gnu/lib:/<<PKGBUILDDIR>>/dist.x86_64-pc-linux-gnu/lib:" LC_ALL=C ./ctypesgen.py --cpp "gcc -E -Wdate-time -D_FORTIFY_SOURCE=2 -I/<<PKGBUILDDIR>>/dist.x86_64-pc-linux-gnu/include -I/<<PKGBUILDDIR>>/dist.x86_64-pc-linux-gnu/include -D__GLIBC_HAVE_LONG_LONG" -lgrass_rowio.7.2.0 /<<PKGBUILDDIR>>/dist.x86_64-pc-linux-gnu/include/grass/rowio.h /<<PKGBUILDDIR>>/dist.x86_64-pc-linux-gnu/include/grass/defs/rowio.h -o OBJ.x86_64-pc-linux-gnu/rowio.py ... GISRC=/<<PKGBUILDDIR>>/dist.x86_64-pc-linux-gnu/demolocation/.grassrc72 GISBASE=/<<PKGBUILDDIR>>/dist.x86_64-pc-linux-gnu PATH="/<<PKGBUILDDIR>>/dist.x86_64-pc-linux-gnu/bin:/<<PKGBUILDDIR>>/dist.x86_64-pc-linux-gnu/bin:/<<PKGBUILDDIR>>/dist.x86_64-pc-linux-gnu/scripts:$PATH" PYTHONPATH="/<<PKGBUILDDIR>>/dist.x86_64-pc-linux-gnu/etc/python:/<<PKGBUILDDIR>>/dist.x86_64-pc-linux-gnu/gui/wxpython:$PYTHONPATH" LD_LIBRARY_PATH="/<<PKGBUILDDIR>>/dist.x86_64-pc-linux-gnu/bin:/<<PKGBUILDDIR>>/dist.x86_64-pc-linux-gnu/bin:/<<PKGBUILDDIR>>/dist.x86_64-pc-linux-gnu/scripts:/<<PKGBUILDDIR>>/dist.x86_64-pc-linux-gnu/lib:/<<PKGBUILDDIR>>/dist.x86_64-pc-linux-gnu/lib:" LC_ALL=C ./ctypesgen.py --cpp "gcc -E -Wdate-time -D_FORTIFY_SOURCE=2 -I/<<PKGBUILDDIR>>/dist.x86_64-pc-linux-gnu/include -I/<<PKGBUILDDIR>>/dist.x86_64-pc-linux-gnu/include -D__GLIBC_HAVE_LONG_LONG" -lgrass_nviz.7.2.0 /<<PKGBUILDDIR>>/dist.x86_64-pc-linux-gnu/include/grass/nviz.h /<<PKGBUILDDIR>>/dist.x86_64-pc-linux-gnu/include/grass/defs/nviz.h -o OBJ.x86_64-pc-linux-gnu/nviz.py python -t -3 -m py_compile /<<PKGBUILDDIR>>/dist.x86_64-pc-linux-gnu/etc/python/grass/lib/__init__.py python -t -3 -m py_compile /<<PKGBUILDDIR>>/dist.x86_64-pc-linux-gnu/etc/python/grass/lib/ctypes_preamble.py python -t -3 -m py_compile /<<PKGBUILDDIR>>/dist.x86_64-pc-linux-gnu/etc/python/grass/lib/ctypes_loader.py Status: Preprocessing /tmp/tmpWXgDtl.h Status: gcc -E -Wdate-time -D_FORTIFY_SOURCE=2 -I/<<PKGBUILDDIR>>/dist.x86_64-pc-linux-gnu/include -I/<<PKGBUILDDIR>>/dist.x86_64-pc-linux-gnu/include -D__GLIBC_HAVE_LONG_LONG -U __GNUC__ -dD "-Dinline=" "-D__inline__=" "-D__extension__=" "-D_Bool=uint8_t" "-D__const=const" "-D__asm__(x)=" "-D__asm(x)=" "-DCTYPESGEN=1" /tmp/tmpWXgDtl.h Traceback (most recent call last): File "./ctypesgen.py", line 139, in <module> descriptions = ctypesgencore.parser.parse(options.headers, options) File "/<<PKGBUILDDIR>>/lib/python/ctypes/ctypesgencore/parser/__init__.py", line 22, in parse parser.parse() File "/<<PKGBUILDDIR>>/lib/python/ctypes/ctypesgencore/parser/datacollectingparser.py", line 74, in parse ctypesparser.CtypesParser.parse(self, fname, None) File "/<<PKGBUILDDIR>>/lib/python/ctypes/ctypesgencore/parser/cparser.py", line 120, in parse self.preprocessor_parser.parse(filename) File "/<<PKGBUILDDIR>>/lib/python/ctypes/ctypesgencore/parser/preprocessor.py", line 218, in parse token = self.lexer.token() File "/<<PKGBUILDDIR>>/lib/python/ctypes/ctypesgencore/parser/preprocessor.py", line 63, in token result = lex.Lexer.token(self) File "/<<PKGBUILDDIR>>/lib/python/ctypes/ctypesgencore/parser/lex.py", line 355, in token newtok = func(tok) File "/<<PKGBUILDDIR>>/lib/python/ctypes/ctypesgencore/parser/pplexer.py", line 262, in t_ANY_int g1 = str(long(g1, 8)) ValueError: invalid literal for int() with base 8: '08420217248550443400745280086994171' Makefile:102: recipe for target 'OBJ.x86_64-pc-linux-gnu/rowio.py' failed make[8]: *** [OBJ.x86_64-pc-linux-gnu/rowio.py] Error 1 make[8]: *** Waiting for unfinished jobs....
I don't know how to find where this is coming from. My attempt:
> grep -IrnE 8420217248550443400745280086994171 /usr/include/boost/multiprecision/cpp_dec_float.hpp:2426: cpp_dec_float("1.08420217248550443400745280086994171142578125000...000e-19"),
Since it is in multiple files and the number is not in GRASS GIS source code, it is coming from a library header. Indeed 0842...
is not octal. Do we need new ctypes or is there something strange in some header?
comment:2 by , 8 years ago
Milestone: | 7.2.1 → 7.2.2 |
---|
comment:3 by , 7 years ago
GCC 7 is now the default compiler in Debian causing the issue to become Release Critical which will trigger to automatic removal of the package from Debian testing (and by extension from the next stable release) when the issue remains unfixed.
comment:4 by , 7 years ago
Priority: | normal → critical |
---|
follow-up: 6 comment:5 by , 7 years ago
Replying to wenzeslaus:
This is probably the error message:
ValueError: invalid literal for int() with base 8: '08420217248550443400745280086994171'
Isn't this the same issue in #3331 (where it was apparently fixed) ?
comment:6 by , 7 years ago
Replying to mlennert:
Replying to wenzeslaus:
This is probably the error message:
ValueError: invalid literal for int() with base 8: '08420217248550443400745280086994171'Isn't this the same issue in #3331 (where it was apparently fixed) ?
Yes, 7.2.2 will ship the fix. (also 7.0.6 if we ever release it...)
Full build log