[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
Whac-a-Mole.
> 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