Skip to content

[Bug] Ubuntu: libgrass_interface_generator does not build #2629

Description

@BadAssassin

Describe the bug
python/libgrass_interface_generator does not compile under Ubuntu 20.04.5LTS. Build errors with "double free or corruption. Aborted"

To Reproduce
cd python/libgrass_interface_generator
make

Expected behavior
No errors.

System description (please complete the following information):

  • Operating System: Ubuntu 20.04.5LTS running under Win11 WSL
  • GRASS GIS version - 8.3dev - latest commit

Additional context
Output:

make /home/brad/grass/dist.x86_64-pc-linux-gnu/etc/python/grass/lib
make[1]: Entering directory '/home/brad/grass/python/libgrass_interface_generator'
make[1]: '/home/brad/grass/dist.x86_64-pc-linux-gnu/etc/python/grass/lib' is up to date.
make[1]: Leaving directory '/home/brad/grass/python/libgrass_interface_generator'
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 /home/brad/grass/dist.x86_64-pc-linux-gnu/etc/python/grass/lib/date.py /home/brad/grass/dist.x86_64-pc-linux-gnu/etc/python/grass/lib/gis.py /home/brad/grass/dist.x86_64-pc-linux-gnu/etc/python/grass/lib/raster.py /home/brad/grass/dist.x86_64-pc-linux-gnu/etc/python/grass/lib/gmath.py /home/brad/grass/dist.x86_64-pc-linux-gnu/etc/python/grass/lib/proj.py /home/brad/grass/dist.x86_64-pc-linux-gnu/etc/python/grass/lib/imagery.py /home/brad/grass/dist.x86_64-pc-linux-gnu/etc/python/grass/lib/vector.py /home/brad/grass/dist.x86_64-pc-linux-gnu/etc/python/grass/lib/rtree.py /home/brad/grass/dist.x86_64-pc-linux-gnu/etc/python/grass/lib/display.py /home/brad/grass/dist.x86_64-pc-linux-gnu/etc/python/grass/lib/stats.py /home/brad/grass/dist.x86_64-pc-linux-gnu/etc/python/grass/lib/dbmi.py /home/brad/grass/dist.x86_64-pc-linux-gnu/etc/python/grass/lib/raster3d.py /home/brad/grass/dist.x86_64-pc-linux-gnu/etc/python/grass/lib/arraystats.py /home/brad/grass/dist.x86_64-pc-linux-gnu/etc/python/grass/lib/cluster.py /home/brad/grass/dist.x86_64-pc-linux-gnu/etc/python/grass/lib/vedit.py /home/brad/grass/dist.x86_64-pc-linux-gnu/etc/python/grass/lib/segment.py /home/brad/grass/dist.x86_64-pc-linux-gnu/etc/python/grass/lib/rowio.py /home/brad/grass/dist.x86_64-pc-linux-gnu/etc/python/grass/lib/temporal.py /home/brad/grass/dist.x86_64-pc-linux-gnu/etc/python/grass/lib/ogsf.py /home/brad/grass/dist.x86_64-pc-linux-gnu/etc/python/grass/lib/nviz.py /home/brad/grass/dist.x86_64-pc-linux-gnu/etc/python/grass/lib/date.pyc /home/brad/grass/dist.x86_64-pc-linux-gnu/etc/python/grass/lib/gis.pyc /home/brad/grass/dist.x86_64-pc-linux-gnu/etc/python/grass/lib/raster.pyc /home/brad/grass/dist.x86_64-pc-linux-gnu/etc/python/grass/lib/gmath.pyc /home/brad/grass/dist.x86_64-pc-linux-gnu/etc/python/grass/lib/proj.pyc /home/brad/grass/dist.x86_64-pc-linux-gnu/etc/python/grass/lib/imagery.pyc /home/brad/grass/dist.x86_64-pc-linux-gnu/etc/python/grass/lib/vector.pyc /home/brad/grass/dist.x86_64-pc-linux-gnu/etc/python/grass/lib/rtree.pyc /home/brad/grass/dist.x86_64-pc-linux-gnu/etc/python/grass/lib/display.pyc /home/brad/grass/dist.x86_64-pc-linux-gnu/etc/python/grass/lib/stats.pyc /home/brad/grass/dist.x86_64-pc-linux-gnu/etc/python/grass/lib/dbmi.pyc /home/brad/grass/dist.x86_64-pc-linux-gnu/etc/python/grass/lib/raster3d.pyc /home/brad/grass/dist.x86_64-pc-linux-gnu/etc/python/grass/lib/arraystats.pyc /home/brad/grass/dist.x86_64-pc-linux-gnu/etc/python/grass/lib/cluster.pyc /home/brad/grass/dist.x86_64-pc-linux-gnu/etc/python/grass/lib/vedit.pyc /home/brad/grass/dist.x86_64-pc-linux-gnu/etc/python/grass/lib/segment.pyc /home/brad/grass/dist.x86_64-pc-linux-gnu/etc/python/grass/lib/rowio.pyc /home/brad/grass/dist.x86_64-pc-linux-gnu/etc/python/grass/lib/temporal.pyc /home/brad/grass/dist.x86_64-pc-linux-gnu/etc/python/grass/lib/ogsf.pyc /home/brad/grass/dist.x86_64-pc-linux-gnu/etc/python/grass/lib/nviz.pyc
make[1]: Entering directory '/home/brad/grass/python/libgrass_interface_generator'
test -d OBJ.x86_64-pc-linux-gnu || mkdir -p OBJ.x86_64-pc-linux-gnu
GISRC=/home/brad/grass/dist.x86_64-pc-linux-gnu/demolocation/.grassrc83 GISBASE=/home/brad/grass/dist.x86_64-pc-linux-gnu PATH="/home/brad/grass/dist.x86_64-pc-linux-gnu/bin:/home/brad/grass/dist.x86_64-pc-linux-gnu/bin:/home/brad/grass/dist.x86_64-pc-linux-gnu/scripts:$PATH" PYTHONPATH="/home/brad/grass/dist.x86_64-pc-linux-gnu/etc/python:/home/brad/grass/dist.x86_64-pc-linux-gnu/gui/wxpython:$PYTHONPATH" LD_LIBRARY_PATH="/home/brad/grass/dist.x86_64-pc-linux-gnu/bin:/home/brad/grass/dist.x86_64-pc-linux-gnu/bin:/home/brad/grass/dist.x86_64-pc-linux-gnu/scripts:/home/brad/grass/dist.x86_64-pc-linux-gnu/lib:/home/brad/grass/dist.x86_64-pc-linux-gnu/lib:" LC_ALL=C LANG=C LANGUAGE=C ./run.py --no-embed-preamble --strip-build-path "/home/brad/grass/dist.x86_64-pc-linux-gnu" --cpp "gcc -E -I/home/brad/grass/dist.x86_64-pc-linux-gnu/include -I/home/brad/grass/dist.x86_64-pc-linux-gnu/include -D__GLIBC_HAVE_LONG_LONG" -lgrass_datetime.8.3 /home/brad/grass/dist.x86_64-pc-linux-gnu/include/grass/datetime.h /home/brad/grass/dist.x86_64-pc-linux-gnu/include/grass/defs/datetime.h -o OBJ.x86_64-pc-linux-gnu/date.py
INFO: Status: Preprocessing /tmp/tmpoe2fngnr.h
INFO: Status: gcc -E -I/home/brad/grass/dist.x86_64-pc-linux-gnu/include -I/home/brad/grass/dist.x86_64-pc-linux-gnu/include -D__GLIBC_HAVE_LONG_LONG -U GNUC -dD "-D__extension__=" "-D__const=const" "-D__asm__(x)=" "-D__asm(x)=" "-DCTYPESGEN=1" "/tmp/tmpoe2fngnr.h"
INFO: Status: Parsing /tmp/tmpoe2fngnr.h
INFO: Status: Processing description list.
INFO: Status: Writing to OBJ.x86_64-pc-linux-gnu/date.py.
INFO: Status: Wrapping complete.
GISRC=/home/brad/grass/dist.x86_64-pc-linux-gnu/demolocation/.grassrc83 GISBASE=/home/brad/grass/dist.x86_64-pc-linux-gnu PATH="/home/brad/grass/dist.x86_64-pc-linux-gnu/bin:/home/brad/grass/dist.x86_64-pc-linux-gnu/bin:/home/brad/grass/dist.x86_64-pc-linux-gnu/scripts:$PATH" PYTHONPATH="/home/brad/grass/dist.x86_64-pc-linux-gnu/etc/python:/home/brad/grass/dist.x86_64-pc-linux-gnu/gui/wxpython:$PYTHONPATH" LD_LIBRARY_PATH="/home/brad/grass/dist.x86_64-pc-linux-gnu/bin:/home/brad/grass/dist.x86_64-pc-linux-gnu/bin:/home/brad/grass/dist.x86_64-pc-linux-gnu/scripts:/home/brad/grass/dist.x86_64-pc-linux-gnu/lib:/home/brad/grass/dist.x86_64-pc-linux-gnu/lib:" LC_ALL=C LANG=C LANGUAGE=C ./run.py --no-embed-preamble --strip-build-path "/home/brad/grass/dist.x86_64-pc-linux-gnu" --cpp "gcc -E -I/home/brad/grass/dist.x86_64-pc-linux-gnu/include -I/home/brad/grass/dist.x86_64-pc-linux-gnu/include -D__GLIBC_HAVE_LONG_LONG" -lgrass_gis.8.3 /home/brad/grass/dist.x86_64-pc-linux-gnu/include/grass/gis.h /home/brad/grass/dist.x86_64-pc-linux-gnu/include/grass/defs/gis.h /home/brad/grass/dist.x86_64-pc-linux-gnu/include/grass/colors.h /home/brad/grass/dist.x86_64-pc-linux-gnu/include/grass/defs/colors.h -o OBJ.x86_64-pc-linux-gnu/gis.py
INFO: Status: Preprocessing /tmp/tmptkl6a8fm.h
INFO: Status: gcc -E -I/home/brad/grass/dist.x86_64-pc-linux-gnu/include -I/home/brad/grass/dist.x86_64-pc-linux-gnu/include -D__GLIBC_HAVE_LONG_LONG -U GNUC -dD "-D__extension__=" "-D__const=const" "-D__asm__(x)=" "-D__asm(x)=" "-DCTYPESGEN=1" "/tmp/tmptkl6a8fm.h"
INFO: Status: Parsing /tmp/tmptkl6a8fm.h
ERROR: /usr/include/x86_64-linux-gnu/sys/cdefs.h:245: Syntax error at '\n'
INFO: Status: Processing description list.
WARNING: Could not parse macro "#define serialize_int32_le(buf,x) do { ( buf ) [ 0 ] = ( ( x ) >> 0 ) & 0xFF ; ( buf ) [ 1 ] = ( ( x ) >> 8 ) & 0xFF ; ( buf ) [ 2 ] = ( ( x ) >> 16 ) & 0xFF ; ( buf ) [ 3 ] = ( ( x ) >> 24 ) & 0xFF ; } while ( 0 )"
WARNING: Could not parse macro "#define serialize_int32_be(buf,x) do { ( buf ) [ 0 ] = ( ( x ) >> 24 ) & 0xFF ; ( buf ) [ 1 ] = ( ( x ) >> 16 ) & 0xFF ; ( buf ) [ 2 ] = ( ( x ) >> 8 ) & 0xFF ; ( buf ) [ 3 ] = ( ( x ) >> 0 ) & 0xFF ; } while ( 0 )"
INFO: Status: Writing to OBJ.x86_64-pc-linux-gnu/gis.py.
INFO: Status: Wrapping complete.
GISRC=/home/brad/grass/dist.x86_64-pc-linux-gnu/demolocation/.grassrc83 GISBASE=/home/brad/grass/dist.x86_64-pc-linux-gnu PATH="/home/brad/grass/dist.x86_64-pc-linux-gnu/bin:/home/brad/grass/dist.x86_64-pc-linux-gnu/bin:/home/brad/grass/dist.x86_64-pc-linux-gnu/scripts:$PATH" PYTHONPATH="/home/brad/grass/dist.x86_64-pc-linux-gnu/etc/python:/home/brad/grass/dist.x86_64-pc-linux-gnu/gui/wxpython:$PYTHONPATH" LD_LIBRARY_PATH="/home/brad/grass/dist.x86_64-pc-linux-gnu/bin:/home/brad/grass/dist.x86_64-pc-linux-gnu/bin:/home/brad/grass/dist.x86_64-pc-linux-gnu/scripts:/home/brad/grass/dist.x86_64-pc-linux-gnu/lib:/home/brad/grass/dist.x86_64-pc-linux-gnu/lib:" LC_ALL=C LANG=C LANGUAGE=C ./run.py --no-embed-preamble --strip-build-path "/home/brad/grass/dist.x86_64-pc-linux-gnu" --cpp "gcc -E -I/home/brad/grass/dist.x86_64-pc-linux-gnu/include -I/home/brad/grass/dist.x86_64-pc-linux-gnu/include -D__GLIBC_HAVE_LONG_LONG" -lgrass_raster.8.3 /home/brad/grass/dist.x86_64-pc-linux-gnu/include/grass/raster.h /home/brad/grass/dist.x86_64-pc-linux-gnu/include/grass/defs/raster.h -o OBJ.x86_64-pc-linux-gnu/raster.py
INFO: Status: Preprocessing /tmp/tmpk0ja388s.h
INFO: Status: gcc -E -I/home/brad/grass/dist.x86_64-pc-linux-gnu/include -I/home/brad/grass/dist.x86_64-pc-linux-gnu/include -D__GLIBC_HAVE_LONG_LONG -U GNUC -dD "-D__extension__=" "-D__const=const" "-D__asm__(x)=" "-D__asm(x)=" "-DCTYPESGEN=1" "/tmp/tmpk0ja388s.h"
INFO: Status: Parsing /tmp/tmpk0ja388s.h
ERROR: /usr/include/x86_64-linux-gnu/sys/cdefs.h:245: Syntax error at '\n'
INFO: Status: Processing description list.
INFO: Status: Writing to OBJ.x86_64-pc-linux-gnu/raster.py.
INFO: Status: Wrapping complete.
double free or corruption (out)
Aborted
make[1]: *** [Makefile:110: OBJ.x86_64-pc-linux-gnu/raster.py] Error 134
make[1]: Leaving directory '/home/brad/grass/python/libgrass_interface_generator'
make: *** [Makefile:86: default] Error 2

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

      Milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions