Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 642750

Summary: sci-geosciences/grass-7.2.0 with gcc 7 - ValueError: invalid literal for long() with base 8: '08420217248550443400745280086994171'
Product: Gentoo Linux Reporter: Martin von Gagern <Martin.vGagern>
Component: Current packagesAssignee: Sam Jorna (wraeth) <wraeth>
Status: RESOLVED FIXED    
Severity: normal CC: jstein, kredba, sci-geosciences, thomas.bettler
Priority: Normal Keywords: PATCH
Version: unspecified   
Hardware: All   
OS: Linux   
Whiteboard: ~arch only
Package list:
Runtime testing required: ---
Bug Depends on: 645892    
Bug Blocks: 617524    

Description Martin von Gagern 2017-12-30 18:25:23 UTC
sci-geosciences/grass-7.2.0 fails to re-build for me:

Traceback (most recent call last):
  File "./ctypesgen.py", line 139, in <module>
    descriptions = ctypesgencore.parser.parse(options.headers, options)
  File "/var/tmp/portage/sci-geosciences/grass-7.2.0/work/grass-7.2.0/lib/python/ctypes/ctypesgencore/parser/__init__.py"
, line 22, in parse
    parser.parse()
  File "/var/tmp/portage/sci-geosciences/grass-7.2.0/work/grass-7.2.0/lib/python/ctypes/ctypesgencore/parser/datacollecti
ngparser.py", line 74, in parse
    ctypesparser.CtypesParser.parse(self, fname, None)
  File "/var/tmp/portage/sci-geosciences/grass-7.2.0/work/grass-7.2.0/lib/python/ctypes/ctypesgencore/parser/cparser.py",
 line 120, in parse
    self.preprocessor_parser.parse(filename)
  File "/var/tmp/portage/sci-geosciences/grass-7.2.0/work/grass-7.2.0/lib/python/ctypes/ctypesgencore/parser/preprocessor
.py", line 218, in parse
    token = self.lexer.token()
  File "/var/tmp/portage/sci-geosciences/grass-7.2.0/work/grass-7.2.0/lib/python/ctypes/ctypesgencore/parser/preprocessor
.py", line 63, in token
    result = lex.Lexer.token(self)
  File "/var/tmp/portage/sci-geosciences/grass-7.2.0/work/grass-7.2.0/lib/python/ctypes/ctypesgencore/parser/lex.py", lin
e 355, in token
    newtok = func(tok)
  File "/var/tmp/portage/sci-geosciences/grass-7.2.0/work/grass-7.2.0/lib/python/ctypes/ctypesgencore/parser/pplexer.py", line 262, in t_ANY_int
    g1 = str(long(g1, 8))
ValueError: invalid literal for long() with base 8: '08420217248550443400745280086994171'
make[6]: *** [Makefile:102: OBJ.x86_64-pc-linux-gnu/date.py] Error 1
make[6]: Leaving directory '/var/tmp/portage/sci-geosciences/grass-7.2.0/work/grass-7.2.0/lib/python/ctypes'

The build does not terminate straight away (which I consider a bad sign, who knows what other errors might go undetected…), but later down I get things like

    import grass.lib.gis as libgis
ImportError: No module named lib.gis

The issue is described upstream, related to gcc 7, and has a fix there:
https://trac.osgeo.org/grass/ticket/3331
https://trac.osgeo.org/grass/changeset/71219

So I fixed this locally using a user patch which could be included in portage:

# mkdir -p /etc/portage/patches/sci-geosciences/grass-7.2.0
# svn diff -c 71219 https://svn.osgeo.org/grass/grass/branches \
  > /etc/portage/patches/sci-geosciences/grass-7.2.0/commit71219.patch
Comment 1 Thomas Bettler 2018-02-01 20:21:31 UTC
This issue will be obsolete with grass-7.4
see bug #645892
Comment 2 Larry the Git Cow gentoo-dev 2018-04-04 21:09:44 UTC
The bug has been closed via the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=6ca4bd78d32c439cb0bdae189d3d309787fbbdb1

commit 6ca4bd78d32c439cb0bdae189d3d309787fbbdb1
Author:     Andreas Sturmlechner <asturm@gentoo.org>
AuthorDate: 2018-04-04 20:42:47 +0000
Commit:     Andreas Sturmlechner <asturm@gentoo.org>
CommitDate: 2018-04-04 21:09:32 +0000

    sci-geosciences/grass: Fix build with GCC-7
    
    Thanks-to: Martin von Gagern <Martin.vGagern@gmx.net>
    Closes: https://bugs.gentoo.org/642750
    Package-Manager: Portage-2.3.28, Repoman-2.3.9

 sci-geosciences/grass/files/grass-7.2.0-gcc7.patch | 94 ++++++++++++++++++++++
 sci-geosciences/grass/grass-7.2.0-r1.ebuild        |  1 +
 2 files changed, 95 insertions(+)