[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