[GRASS-dev] compilation of grass on AIX 7.1

Glynn Clements glynn at gclements.plus.com
Mon Jun 10 06:41:35 PDT 2013

Markus Neteler wrote:

> diff OBJ.powerpc-ibm-aix7.1.0.0/test.tmp test64.ok
> diff: Missing newline at the end of file OBJ.powerpc-ibm-aix7.1.0.0/test.tmp.
> diff: Missing newline at the end of file test64.ok.

Using cmp (as per r56674) is the right thing to do here.

> cd /gpfs/home/neteler/software/grass-7.0.svn/lib/rst/interp_float/

> point2d.c: In function 'IL_check_at_points_2d':
> point2d.c:54:43: error: expected identifier or '(' before numeric constant

Yet more AIX namespace pollution.

The only long-term solution to this problem is to figure out what else
is required to get GRASS to compile with e.g. -std=c89 or -std=c99. I
thought that we'd solved this already (other than what to do about the
TIOCGWINSZ issue in lib/gis/ls.c).

Renaming variables to avoid conflicts will be a never-ending game of

> cd /gpfs/home/neteler/software/grass-7.0.svn/db/drivers/sqlite

> ld: 0711-317 ERROR: Undefined symbol: .pthread_mutex_unlock
> ld: 0711-317 ERROR: Undefined symbol: .pthread_mutex_trylock

Something (probably SQLite) needs -lpthread, but it isn't present in
the link command. I don't know why the configure check succeeded.

> -bash-3.2$ cd /gpfs/home/neteler/software/grass-7.0.svn/db/drivers/ogr

> : && gcc -L/gpfs/home/neteler/software/grass-7.0.svn/dist.powerpc-ibm-aix7.1.0.0/lib

> ld: 0711-317 ERROR: Undefined symbol: vtable for __cxxabiv1::__class_type_info

> --> I see that   -lstdc++ is missing?!

> -bash-3.2$ grep stdc include/Make/Platform.make
> CFLAGS              = -lstdc++

WTF? -l switches don't belong in CFLAGS.

> It also comes up here:
> -bash-3.2$ cd /gpfs/home/neteler/software/grass-7.0.svn/display/d.grid

> ld: 0711-317 ERROR: Undefined symbol: typeinfo for std::exception

> --> I see that   -lstdc++ is missing.

Probably due to GDAL, pulled in by GPROJDEPS.

> The same applies to

I suspect that GDALLIBS should include -lstdc++. That's arguably a bug
in the gdal-config script. In practice it will only matter if GDAL is
a static library; shared libraries record their dependencies.

Glynn Clements <glynn at gclements.plus.com>

More information about the grass-dev mailing list