[GRASS-dev] [GRASS GIS] #3273: Fails to build with GCC 7

GRASS GIS trac at osgeo.org
Tue Jan 31 11:14:40 PST 2017


#3273: Fails to build with GCC 7
------------------------+-------------------------
  Reporter:  sebastic   |      Owner:  grass-dev@…
      Type:  defect     |     Status:  new
  Priority:  normal     |  Milestone:  7.2.1
 Component:  Compiling  |    Version:  7.2.0
Resolution:             |   Keywords:
       CPU:  x86-64     |   Platform:  Linux
------------------------+-------------------------

Comment (by wenzeslaus):

 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?

--
Ticket URL: <https://trac.osgeo.org/grass/ticket/3273#comment:1>
GRASS GIS <https://grass.osgeo.org>



More information about the grass-dev mailing list