[GRASS-dev] [GRASS GIS] #3354: errors building re: grass/src/grass-7.2.1/lib/python/ctypes

#3354: errors building re: grass/src/grass-7.2.1/lib/python/ctypes
-----------------------+-------------------------
Reporter: saultdon | Owner: grass-dev@…
     Type: defect | Status: new
Priority: normal | Milestone:
Component: Compiling | Version: 7.2.1
Keywords: | CPU: x86-64
Platform: Linux |
-----------------------+-------------------------
Afternoon,

I tried building 7.2.1 from the tar and am getting,

{{{
GRASS GIS 7.2.1 exported compilation log
--------------------------------------------------
Started compilation: Thu Jun 1 14:33:36 MST 2017
--
Errors in:
/tmp/makepkg/grass/src/grass-7.2.1/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.
--
}}}

So I did a `make` within that dir and get the following,

{{{
make /tmp/makepkg/grass/src/grass-7.2.1/dist.x86_64-pc-linux-
gnu/etc/python/grass/lib
make[1]: Entering directory
'/tmp/makepkg/grass/src/grass-7.2.1/lib/python/ctypes'
make[1]: '/tmp/makepkg/grass/src/grass-7.2.1/dist.x86_64-pc-linux-
gnu/etc/python/grass/lib' is up to date.
make[1]: Leaving directory
'/tmp/makepkg/grass/src/grass-7.2.1/lib/python/ctypes'
make OBJ.x86_64-pc-linux-gnu/date.py OBJ.x86_64-pc-linux-gnu/gis.py
OBJ.x86_64-pc-linux-gnu/raster.py OBJ.x86_64-pc-linux-gnu/gmath.py
OBJ.x86_64-pc-linux-gnu/proj.py OBJ.x86_64-pc-linux-gnu/imagery.py
OBJ.x86_64-pc-linux-gnu/vector.py OBJ.x86_64-pc-linux-gnu/rtree.py
OBJ.x86_64-pc-linux-gnu/display.py OBJ.x86_64-pc-linux-gnu/stats.py
OBJ.x86_64-pc-linux-gnu/dbmi.py OBJ.x86_64-pc-linux-gnu/raster3d.py
OBJ.x86_64-pc-linux-gnu/arraystats.py OBJ.x86_64-pc-linux-gnu/cluster.py
OBJ.x86_64-pc-linux-gnu/vedit.py OBJ.x86_64-pc-linux-gnu/segment.py
OBJ.x86_64-pc-linux-gnu/rowio.py OBJ.x86_64-pc-linux-gnu/temporal.py
OBJ.x86_64-pc-linux-gnu/ogsf.py OBJ.x86_64-pc-linux-gnu/nviz.py
/tmp/makepkg/grass/src/grass-7.2.1/dist.x86_64-pc-linux-
gnu/etc/python/grass/lib/date.py
/tmp/makepkg/grass/src/grass-7.2.1/dist.x86_64-pc-linux-
gnu/etc/python/grass/lib/gis.py
/tmp/makepkg/grass/src/grass-7.2.1/dist.x86_64-pc-linux-
gnu/etc/python/grass/lib/raster.py
/tmp/makepkg/grass/src/grass-7.2.1/dist.x86_64-pc-linux-
gnu/etc/python/grass/lib/gmath.py
/tmp/makepkg/grass/src/grass-7.2.1/dist.x86_64-pc-linux-
gnu/etc/python/grass/lib/proj.py
/tmp/makepkg/grass/src/grass-7.2.1/dist.x86_64-pc-linux-
gnu/etc/python/grass/lib/imagery.py
/tmp/makepkg/grass/src/grass-7.2.1/dist.x86_64-pc-linux-
gnu/etc/python/grass/lib/vector.py
/tmp/makepkg/grass/src/grass-7.2.1/dist.x86_64-pc-linux-
gnu/etc/python/grass/lib/rtree.py
/tmp/makepkg/grass/src/grass-7.2.1/dist.x86_64-pc-linux-
gnu/etc/python/grass/lib/display.py
/tmp/makepkg/grass/src/grass-7.2.1/dist.x86_64-pc-linux-
gnu/etc/python/grass/lib/stats.py
/tmp/makepkg/grass/src/grass-7.2.1/dist.x86_64-pc-linux-
gnu/etc/python/grass/lib/dbmi.py
/tmp/makepkg/grass/src/grass-7.2.1/dist.x86_64-pc-linux-
gnu/etc/python/grass/lib/raster3d.py
/tmp/makepkg/grass/src/grass-7.2.1/dist.x86_64-pc-linux-
gnu/etc/python/grass/lib/arraystats.py
/tmp/makepkg/grass/src/grass-7.2.1/dist.x86_64-pc-linux-
gnu/etc/python/grass/lib/cluster.py
/tmp/makepkg/grass/src/grass-7.2.1/dist.x86_64-pc-linux-
gnu/etc/python/grass/lib/vedit.py
/tmp/makepkg/grass/src/grass-7.2.1/dist.x86_64-pc-linux-
gnu/etc/python/grass/lib/segment.py
/tmp/makepkg/grass/src/grass-7.2.1/dist.x86_64-pc-linux-
gnu/etc/python/grass/lib/rowio.py
/tmp/makepkg/grass/src/grass-7.2.1/dist.x86_64-pc-linux-
gnu/etc/python/grass/lib/temporal.py
/tmp/makepkg/grass/src/grass-7.2.1/dist.x86_64-pc-linux-
gnu/etc/python/grass/lib/ogsf.py
/tmp/makepkg/grass/src/grass-7.2.1/dist.x86_64-pc-linux-
gnu/etc/python/grass/lib/nviz.py
/tmp/makepkg/grass/src/grass-7.2.1/dist.x86_64-pc-linux-
gnu/etc/python/grass/lib/__init__.py
/tmp/makepkg/grass/src/grass-7.2.1/dist.x86_64-pc-linux-
gnu/etc/python/grass/lib/ctypes_preamble.py
/tmp/makepkg/grass/src/grass-7.2.1/dist.x86_64-pc-linux-
gnu/etc/python/grass/lib/ctypes_loader.py
/tmp/makepkg/grass/src/grass-7.2.1/dist.x86_64-pc-linux-
gnu/etc/python/grass/lib/date.pyc
/tmp/makepkg/grass/src/grass-7.2.1/dist.x86_64-pc-linux-
gnu/etc/python/grass/lib/gis.pyc
/tmp/makepkg/grass/src/grass-7.2.1/dist.x86_64-pc-linux-
gnu/etc/python/grass/lib/raster.pyc
/tmp/makepkg/grass/src/grass-7.2.1/dist.x86_64-pc-linux-
gnu/etc/python/grass/lib/gmath.pyc
/tmp/makepkg/grass/src/grass-7.2.1/dist.x86_64-pc-linux-
gnu/etc/python/grass/lib/proj.pyc
/tmp/makepkg/grass/src/grass-7.2.1/dist.x86_64-pc-linux-
gnu/etc/python/grass/lib/imagery.pyc
/tmp/makepkg/grass/src/grass-7.2.1/dist.x86_64-pc-linux-
gnu/etc/python/grass/lib/vector.pyc
/tmp/makepkg/grass/src/grass-7.2.1/dist.x86_64-pc-linux-
gnu/etc/python/grass/lib/rtree.pyc
/tmp/makepkg/grass/src/grass-7.2.1/dist.x86_64-pc-linux-
gnu/etc/python/grass/lib/display.pyc
/tmp/makepkg/grass/src/grass-7.2.1/dist.x86_64-pc-linux-
gnu/etc/python/grass/lib/stats.pyc
/tmp/makepkg/grass/src/grass-7.2.1/dist.x86_64-pc-linux-
gnu/etc/python/grass/lib/dbmi.pyc
/tmp/makepkg/grass/src/grass-7.2.1/dist.x86_64-pc-linux-
gnu/etc/python/grass/lib/raster3d.pyc
/tmp/makepkg/grass/src/grass-7.2.1/dist.x86_64-pc-linux-
gnu/etc/python/grass/lib/arraystats.pyc
/tmp/makepkg/grass/src/grass-7.2.1/dist.x86_64-pc-linux-
gnu/etc/python/grass/lib/cluster.pyc
/tmp/makepkg/grass/src/grass-7.2.1/dist.x86_64-pc-linux-
gnu/etc/python/grass/lib/vedit.pyc
/tmp/makepkg/grass/src/grass-7.2.1/dist.x86_64-pc-linux-
gnu/etc/python/grass/lib/segment.pyc
/tmp/makepkg/grass/src/grass-7.2.1/dist.x86_64-pc-linux-
gnu/etc/python/grass/lib/rowio.pyc
/tmp/makepkg/grass/src/grass-7.2.1/dist.x86_64-pc-linux-
gnu/etc/python/grass/lib/temporal.pyc
/tmp/makepkg/grass/src/grass-7.2.1/dist.x86_64-pc-linux-
gnu/etc/python/grass/lib/ogsf.pyc
/tmp/makepkg/grass/src/grass-7.2.1/dist.x86_64-pc-linux-
gnu/etc/python/grass/lib/nviz.pyc
/tmp/makepkg/grass/src/grass-7.2.1/dist.x86_64-pc-linux-
gnu/etc/python/grass/lib/__init__.pyc
/tmp/makepkg/grass/src/grass-7.2.1/dist.x86_64-pc-linux-
gnu/etc/python/grass/lib/ctypes_preamble.pyc
/tmp/makepkg/grass/src/grass-7.2.1/dist.x86_64-pc-linux-
gnu/etc/python/grass/lib/ctypes_loader.pyc
make[1]: Entering directory
'/tmp/makepkg/grass/src/grass-7.2.1/lib/python/ctypes'
GISRC=/tmp/makepkg/grass/src/grass-7.2.1/dist.x86_64-pc-linux-
gnu/demolocation/.grassrc72
GISBASE=/tmp/makepkg/grass/src/grass-7.2.1/dist.x86_64-pc-linux-gnu
PATH="/tmp/makepkg/grass/src/grass-7.2.1/dist.x86_64-pc-linux-
gnu/bin:/tmp/makepkg/grass/src/grass-7.2.1/dist.x86_64-pc-linux-
gnu/bin:/tmp/makepkg/grass/src/grass-7.2.1/dist.x86_64-pc-linux-
gnu/scripts:$PATH"
PYTHONPATH="/tmp/makepkg/grass/src/grass-7.2.1/dist.x86_64-pc-linux-
gnu/etc/python:/tmp/makepkg/grass/src/grass-7.2.1/dist.x86_64-pc-linux-
gnu/gui/wxpython:$PYTHONPATH"
LD_LIBRARY_PATH="/tmp/makepkg/grass/src/grass-7.2.1/dist.x86_64-pc-linux-
gnu/bin:/tmp/makepkg/grass/src/grass-7.2.1/dist.x86_64-pc-linux-
gnu/bin:/tmp/makepkg/grass/src/grass-7.2.1/dist.x86_64-pc-linux-
gnu/scripts:/tmp/makepkg/grass/src/grass-7.2.1/dist.x86_64-pc-linux-
gnu/lib:/tmp/makepkg/grass/src/grass-7.2.1/dist.x86_64-pc-linux-
gnu/lib:.::/jre/lib" LC_ALL=C ./ctypesgen.py --cpp "gcc -E
-D_FORTIFY_SOURCE=2 -I/tmp/makepkg/grass/src/grass-7.2.1/dist.x86_64
-pc-linux-gnu/include -I/tmp/makepkg/grass/src/grass-7.2.1/dist.x86_64-pc-
linux-gnu/include -D__GLIBC_HAVE_LONG_LONG" -lgrass_datetime.7.2.1
/tmp/makepkg/grass/src/grass-7.2.1/dist.x86_64-pc-linux-
gnu/include/grass/datetime.h
/tmp/makepkg/grass/src/grass-7.2.1/dist.x86_64-pc-linux-
gnu/include/grass/defs/datetime.h -o OBJ.x86_64-pc-linux-gnu/date.py
Status: Preprocessing /tmp/tmpfcx1LI.h
Status: gcc -E -D_FORTIFY_SOURCE=2
-I/tmp/makepkg/grass/src/grass-7.2.1/dist.x86_64-pc-linux-gnu/include
-I/tmp/makepkg/grass/src/grass-7.2.1/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/tmpfcx1LI.h
Traceback (most recent call last):
   File "./ctypesgen.py", line 139, in <module>
     descriptions = ctypesgencore.parser.parse(options.headers, options)
   File
"/tmp/makepkg/grass/src/grass-7.2.1/lib/python/ctypes/ctypesgencore/parser/__init__.py",
line 22, in parse
     parser.parse()
   File
"/tmp/makepkg/grass/src/grass-7.2.1/lib/python/ctypes/ctypesgencore/parser/datacollectingparser.py",
line 74, in parse
     ctypesparser.CtypesParser.parse(self, fname, None)
   File
"/tmp/makepkg/grass/src/grass-7.2.1/lib/python/ctypes/ctypesgencore/parser/cparser.py",
line 120, in parse
     self.preprocessor_parser.parse(filename)
   File
"/tmp/makepkg/grass/src/grass-7.2.1/lib/python/ctypes/ctypesgencore/parser/preprocessor.py",
line 218, in parse
     token = self.lexer.token()
   File
"/tmp/makepkg/grass/src/grass-7.2.1/lib/python/ctypes/ctypesgencore/parser/preprocessor.py",
line 63, in token
     result = lex.Lexer.token(self)
   File
"/tmp/makepkg/grass/src/grass-7.2.1/lib/python/ctypes/ctypesgencore/parser/lex.py",
line 355, in token
     newtok = func(tok)
   File
"/tmp/makepkg/grass/src/grass-7.2.1/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[1]: *** [Makefile:102: OBJ.x86_64-pc-linux-gnu/date.py] Error 1
make[1]: Leaving directory
'/tmp/makepkg/grass/src/grass-7.2.1/lib/python/ctypes'
}}}

--
Ticket URL: <https://trac.osgeo.org/grass/ticket/3354&gt;
GRASS GIS <https://grass.osgeo.org>

#3354: errors building re: grass/src/grass-7.2.1/lib/python/ctypes
------------------------+---------------------------------
  Reporter: saultdon | Owner: grass-dev@…
      Type: defect | Status: new
  Priority: normal | Milestone:
Component: Compiling | Version: svn-releasebranch72
Resolution: | Keywords:
       CPU: x86-64 | Platform: Linux
------------------------+---------------------------------
Changes (by saultdon):

* version: 7.2.1 => svn-releasebranch72

--
Ticket URL: <https://trac.osgeo.org/grass/ticket/3354#comment:1&gt;
GRASS GIS <https://grass.osgeo.org>

#3354: errors building re: grass/src/grass-7.2.1/lib/python/ctypes
------------------------+---------------------------------
  Reporter: saultdon | Owner: grass-dev@…
      Type: defect | Status: new
  Priority: normal | Milestone:
Component: Compiling | Version: svn-releasebranch72
Resolution: | Keywords:
       CPU: x86-64 | Platform: Linux
------------------------+---------------------------------

Comment (by saultdon):

Some environment info that may be useful:

python2-ctypes 1.0.2

--
Ticket URL: <https://trac.osgeo.org/grass/ticket/3354#comment:2&gt;
GRASS GIS <https://grass.osgeo.org>

#3354: errors building re: grass/src/grass-7.2.1/lib/python/ctypes
------------------------+---------------------------------
  Reporter: saultdon | Owner: grass-dev@…
      Type: defect | Status: new
  Priority: normal | Milestone:
Component: Compiling | Version: svn-releasebranch72
Resolution: | Keywords:
       CPU: x86-64 | Platform: Linux
------------------------+---------------------------------

Comment (by neteler):

Do you use GCC7?

If yes, then this is a duplicate of #3331 (proposed fix therein).

--
Ticket URL: <https://trac.osgeo.org/grass/ticket/3354#comment:3&gt;
GRASS GIS <https://grass.osgeo.org>

#3354: errors building re: grass/src/grass-7.2.1/lib/python/ctypes
------------------------+---------------------------------
  Reporter: saultdon | Owner: grass-dev@…
      Type: defect | Status: new
  Priority: normal | Milestone:
Component: Compiling | Version: svn-releasebranch72
Resolution: | Keywords:
       CPU: x86-64 | Platform: Linux
------------------------+---------------------------------

Comment (by saultdon):

Yes, the system has gcc 7.1.1 installed.

When I build against the svn-releasebranch72 it says that the changeset is
at 71177 - so are those changes already made in this branch or do I have
to apply them manually to test?

--
Ticket URL: <https://trac.osgeo.org/grass/ticket/3354#comment:4&gt;
GRASS GIS <https://grass.osgeo.org>

#3354: errors building re: grass/src/grass-7.2.1/lib/python/ctypes
------------------------+---------------------------------
  Reporter: saultdon | Owner: grass-dev@…
      Type: defect | Status: closed
  Priority: normal | Milestone:
Component: Compiling | Version: svn-releasebranch72
Resolution: fixed | Keywords:
       CPU: x86-64 | Platform: Linux
------------------------+---------------------------------
Changes (by saultdon):

* status: new => closed
* resolution: => fixed

Comment:

Looks like applying the patch
https://trac.osgeo.org/grass/attachment/ticket/3331/ctypesgencore_preprocessor_fix.diff
from the ticket you mentioned has fixed it - thanks!

--
Ticket URL: <https://trac.osgeo.org/grass/ticket/3354#comment:5&gt;
GRASS GIS <https://grass.osgeo.org>

#3354: errors building re: grass/src/grass-7.2.1/lib/python/ctypes
------------------------+---------------------------------
  Reporter: saultdon | Owner: grass-dev@…
      Type: defect | Status: reopened
  Priority: normal | Milestone: 7.2.2
Component: Compiling | Version: svn-releasebranch72
Resolution: | Keywords:
       CPU: x86-64 | Platform: Linux
------------------------+---------------------------------
Changes (by neteler):

* status: closed => reopened
* resolution: fixed =>
* milestone: => 7.2.2

Comment:

Replying to [comment:5 saultdon]:
> Looks like applying the patch
https://trac.osgeo.org/grass/attachment/ticket/3331/ctypesgencore_preprocessor_fix.diff
from the ticket you mentioned has fixed it - thanks!

Well, not yet applied but I'll re-close this as a duplicate of #3331.

--
Ticket URL: <https://trac.osgeo.org/grass/ticket/3354#comment:6&gt;
GRASS GIS <https://grass.osgeo.org>

#3354: errors building re: grass/src/grass-7.2.1/lib/python/ctypes
------------------------+---------------------------------
  Reporter: saultdon | Owner: grass-dev@…
      Type: defect | Status: closed
  Priority: normal | Milestone: 7.2.2
Component: Compiling | Version: svn-releasebranch72
Resolution: duplicate | Keywords:
       CPU: x86-64 | Platform: Linux
------------------------+---------------------------------
Changes (by neteler):

* status: reopened => closed
* resolution: => duplicate

Comment:

duplicate of #3331

--
Ticket URL: <https://trac.osgeo.org/grass/ticket/3354#comment:7&gt;
GRASS GIS <https://grass.osgeo.org>