[GRASS-dev] compilation of grass on AIX 7.1

Markus Neteler neteler at osgeo.org
Sun Jun 9 14:05:43 PDT 2013


Hi,

[side note: this system is a 3k-cores machine to which I kindly got
access, that's why
 I am interested to get GRASS 7 running there]

I am configuring on AIX 7.1 like this, using the "new" install-sh from
https://svn.met.no/viewvc/fimex/branches/version0_28_x/install-sh?view=co

gcc -v
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/opt/freeware/bin/../libexec/gcc/powerpc-ibm-aix7.1.0.0/4.6.1/lto-wrapper
Target: powerpc-ibm-aix7.1.0.0
Configured with: ../gcc-4.6.1/configure --with-as=/usr/bin/as
--with-ld=/usr/bin/ld --enable-languages=c,c++,fortran
--prefix=/opt/freeware --mandir=/opt/freeware/man
--infodir=/opt/freeware/info --enable-threads
--enable-version-specific-runtime-libs --disable-nls
--enable-decimal-float=dpd --host=powerpc-ibm-aix7.1.0.0
Thread model: aix
gcc version 4.6.1 (GCC)

# AIX 7.1 - grass7.svn:
PREFIX=$HOME/bin
CFLAGS="-lstdc++" ./configure \
  --prefix=$PREFIX \
  --disable-shared \
  --enable-largefile \
  --with-cxx \
  --with-proj-includes=$PREFIX/include/ \
  --with-proj-libs=$PREFIX/lib/ \
  --with-proj-share=$PREFIX/share/proj/ \
  --with-gdal=$PREFIX//bin/gdal-config \
  --with-sqlite \
  --with-sqlite-libs=$PREFIX/lib --with-sqlite-includes=$PREFIX/include \
  --with-tiff=no \
  --with-png=no \
  --with-fftw=no \
  --with-cairo=no \
  --with-opengl=no \
  --with-freetype=no


GRASS is now configured for:  powerpc-ibm-aix7.1.0.0
  Source directory:           /gpfs/home/neteler/software/grass-7.0.svn
  Build directory:            /gpfs/home/neteler/software/grass-7.0.svn
  Installation directory:     ${prefix}/grass-7.0.svn
  Startup script in directory:${exec_prefix}/bin
  C compiler:                 gcc -lstdc++
  C++ compiler:               c++ -g -O2
  Building shared libraries:  no
...

The compilation starts ok, then a few problems happen:
Errors in:
/gpfs/home/neteler/software/grass-7.0.svn/lib/vector/diglib
/gpfs/home/neteler/software/grass-7.0.svn/lib/rst/interp_float
/gpfs/home/neteler/software/grass-7.0.svn/db/drivers/sqlite
/gpfs/home/neteler/software/grass-7.0.svn/db/drivers/ogr
/gpfs/home/neteler/software/grass-7.0.svn/display/d.grid
/gpfs/home/neteler/software/grass-7.0.svn/display/d.path
...
/gpfs/home/neteler/software/grass-7.0.svn/general/g.copy
/gpfs/home/neteler/software/grass-7.0.svn/general/g.findfile
...
/gpfs/home/neteler/software/grass-7.0.svn/general/manage/lister
/gpfs/home/neteler/software/grass-7.0.svn/raster/r.carve
...
/gpfs/home/neteler/software/grass-7.0.svn/vector/v.build
/gpfs/home/neteler/software/grass-7.0.svn/vector/v.buffer
...
/gpfs/home/neteler/software/grass-7.0.svn/misc/m.transform
/gpfs/home/neteler/software/grass-7.0.svn/imagery/i.cca
/gpfs/home/neteler/software/grass-7.0.svn/imagery/i.cluster
...
/gpfs/home/neteler/software/grass-7.0.svn/ps/ps.map
.. (all Python dependent modules fail due to outdated Python there)

This long list can be reduced to perhaps "only" four problems.
I wonder if "--disable-shared" matters below.

In detail:

-bash-3.2$ cd /gpfs/home/neteler/software/grass-7.0.svn/lib/vector/diglib
-bash-3.2$ gmake
if [ "" != "" -a -f "".html ] ; then gmake html ; fi
==============TEST=============
gmake test
gmake[1]: Entering directory
`/gpfs/home/neteler/software/grass-7.0.svn/lib/vector/diglib'
: && gcc -L/gpfs/home/neteler/software/grass-7.0.svn/dist.powerpc-ibm-aix7.1.0.0/lib
-L/gpfs/home/neteler/software/grass-7.0.svn/dist.powerpc-ibm-aix7.1.0.0/lib
 -L/gpfs/home/neteler/software/grass-7.0.svn/dist.powerpc-ibm-aix7.1.0.0/lib
  -o OBJ.powerpc-ibm-aix7.1.0.0/test
==============TEST=============
gmake test
gmake[5]: Entering directory
`/gpfs/home/neteler/software/grass-7.0.svn/lib/vector/diglib'
gcc  -lstdc++
-I/gpfs/home/neteler/software/grass-7.0.svn/dist.powerpc-ibm-aix7.1.0.0/include
-I/gpfs/home/neteler/software/grass-7.0.svn/dist.powerpc-ibm-aix7.1.0.0/include
 -D_FILE_OFFSET_BITS=64 -I/gpfs/home/neteler/bin/include
-DPACKAGE=\""grasslibs"\"
-I/gpfs/home/neteler/software/grass-7.0.svn/dist.powerpc-ibm-aix7.1.0.0/include
-I/gpfs/home/neteler/software/grass-7.0.svn/dist.powerpc-ibm-aix7.1.0.0/include
-o OBJ.powerpc-ibm-aix7.1.0.0/test.o -c test.c
: && gcc -L/gpfs/home/neteler/software/grass-7.0.svn/dist.powerpc-ibm-aix7.1.0.0/lib
-L/gpfs/home/neteler/software/grass-7.0.svn/dist.powerpc-ibm-aix7.1.0.0/lib
 -L/gpfs/home/neteler/software/grass-7.0.svn/dist.powerpc-ibm-aix7.1.0.0/lib
  -o OBJ.powerpc-ibm-aix7.1.0.0/test OBJ.powerpc-ibm-aix7.1.0.0/test.o
   -lgrass_dig2.7.0.svn -lgrass_gis.7.0.svn -lgrass_datetime.7.0.svn
-lz     -liconv   -lm  -lgrass_rtree.7.0.svn -lgrass_gis.7.0.svn
-lgrass_datetime.7.0.svn   -lz     -liconv   -lm  -lm  -lm
-lgrass_gis.7.0.svn -lgrass_datetime.7.0.svn   -lz     -liconv   -lm
-lgrass_rtree.7.0.svn -lgrass_gis.7.0.svn -lgrass_datetime.7.0.svn
-lz     -liconv   -lm  -lm  -lm  -lm
cd OBJ.powerpc-ibm-aix7.1.0.0 &&
GISRC=/gpfs/home/neteler/software/grass-7.0.svn/dist.powerpc-ibm-aix7.1.0.0/demolocation/.grassrc70
GISBASE=/gpfs/home/neteler/software/grass-7.0.svn/dist.powerpc-ibm-aix7.1.0.0
PATH="/gpfs/home/neteler/software/grass-7.0.svn/dist.powerpc-ibm-aix7.1.0.0/bin:/gpfs/home/neteler/software/grass-7.0.svn/dist.powerpc-ibm-aix7.1.0.0/bin:$PATH"
PYTHONPATH="/gpfs/home/neteler/software/grass-7.0.svn/dist.powerpc-ibm-aix7.1.0.0/etc/python:/gpfs/home/neteler/software/grass-7.0.svn/dist.powerpc-ibm-aix7.1.0.0/etc/python:$PYTHONPATH"
LIBPATH="/gpfs/home/neteler/software/grass-7.0.svn/dist.powerpc-ibm-aix7.1.0.0/bin:/gpfs/home/neteler/software/grass-7.0.svn/dist.powerpc-ibm-aix7.1.0.0/lib:/gpfs/home/neteler/software/grass-7.0.svn/dist.powerpc-ibm-aix7.1.0.0/lib:-L/gpfs/home/neteler/software/grass-7.0.svn/dist.powerpc-ibm-aix7.1.0.0/lib
-L/gpfs/home/neteler/software/grass-7.0.svn/dist.powerpc-ibm-aix7.1.0.0/lib"
LC_ALL=C ./test
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.
1c1
< double  ��������double   |a2U��double   �double  double   double
|a2U�?double  ������� float       �� �float       ����float
��float       float       �float       ���?float       ��  off_t
  �off_t        �2��off_t        off_t         �[off_t        ��� long
        �long        �2��long        long         �[long        ���
int          �int         �2��int         int          �[int
��� short         �short         ��short         short         90short
        � char           �char           �char           char
 {char            double  ��������double  ��U2a| �double  � double
double   double  ?�U2a| �double   �������float       � ��float
����float       ��float       float       �float       ?���float
  ��off_t        � off_t        ��2�off_t        off_t        [� off_t
        ���long        � long        ��2�long        long        [�
long         ���int         � int         ��2�int         int
[� int          ���short         �short         ��short         short
       09short          �char           �char           �char
 char           {char
---
> double  ��������double   |a2U��double   �double  double   double   |a2U�?double  ������� float       �� �float       ����float       ��float       float       �float       ���?float       ��  off_t         �����off_t        �2������off_t        off_t         �[off_t        ��� long         �long        �2��long        long         �[long        ��� int          �int         �2��int         int          �[int         ��� short         �short         ��short         short         90short         � char           �char           �char           char           {char            double  ��������double  ��U2a| �double  � double  double   double  ?�U2a| �double   �������float       � ��float       ����float       ��float       float       �float       ?���float         ��off_t        ����� off_t        ������2�off_t        off_t        [� off_t         ���long        � long        ��2�long        long        [� long         ���int         � int         ��2�int         int         [� int          ���short         �short         ��short         short         09short          �char           �char           �char           char           {char
gmake[5]: *** [test] Error 1
gmake[5]: Leaving directory
`/gpfs/home/neteler/software/grass-7.0.svn/lib/vector/diglib'
gmake[4]: *** [default] Error 2
gmake[4]: Leaving directory
`/gpfs/home/neteler/software/grass-7.0.svn/lib/vector/diglib'

-bash-3.2$ file /usr/bin/diff
/usr/bin/diff: executable (RISC System/6000) or object module

I added two "file"  tests in the Makefile to see what's in:

file test64.ok
test64.ok: c program text with garbage
file OBJ.powerpc-ibm-aix7.1.0.0/test.tmp
OBJ.powerpc-ibm-aix7.1.0.0/test.tmp: c program text with garbage

--> No idea here.
=====================

cd /gpfs/home/neteler/software/grass-7.0.svn/lib/rst/interp_float/
gmake
...
gcc  -lstdc++
-I/gpfs/home/neteler/software/grass-7.0.svn/dist.powerpc-ibm-aix7.1.0.0/include
-I/gpfs/home/neteler/software/grass-7.0.svn/dist.powerpc-ibm-aix7.1.0.0/include
 -D_FILE_OFFSET_BITS=64 -I/gpfs/home/neteler/bin/include
-DPACKAGE=\""grasslibs"\"
-I/gpfs/home/neteler/software/grass-7.0.svn/dist.powerpc-ibm-aix7.1.0.0/include
-I/gpfs/home/neteler/software/grass-7.0.svn/dist.powerpc-ibm-aix7.1.0.0/include
-o OBJ.powerpc-ibm-aix7.1.0.0/matrix.o -c matrix.c
gcc  -lstdc++
-I/gpfs/home/neteler/software/grass-7.0.svn/dist.powerpc-ibm-aix7.1.0.0/include
-I/gpfs/home/neteler/software/grass-7.0.svn/dist.powerpc-ibm-aix7.1.0.0/include
 -D_FILE_OFFSET_BITS=64 -I/gpfs/home/neteler/bin/include
-DPACKAGE=\""grasslibs"\"
-I/gpfs/home/neteler/software/grass-7.0.svn/dist.powerpc-ibm-aix7.1.0.0/include
-I/gpfs/home/neteler/software/grass-7.0.svn/dist.powerpc-ibm-aix7.1.0.0/include
-o OBJ.powerpc-ibm-aix7.1.0.0/interp2d.o -c interp2d.c
gcc  -lstdc++
-I/gpfs/home/neteler/software/grass-7.0.svn/dist.powerpc-ibm-aix7.1.0.0/include
-I/gpfs/home/neteler/software/grass-7.0.svn/dist.powerpc-ibm-aix7.1.0.0/include
 -D_FILE_OFFSET_BITS=64 -I/gpfs/home/neteler/bin/include
-DPACKAGE=\""grasslibs"\"
-I/gpfs/home/neteler/software/grass-7.0.svn/dist.powerpc-ibm-aix7.1.0.0/include
-I/gpfs/home/neteler/software/grass-7.0.svn/dist.powerpc-ibm-aix7.1.0.0/include
-o OBJ.powerpc-ibm-aix7.1.0.0/point2d.o -c point2d.c
point2d.c: In function 'IL_check_at_points_2d':
point2d.c:54:43: error: expected identifier or '(' before numeric constant
point2d.c:78:3: error: 'r' undeclared (first use in this function)
point2d.c:78:3: note: each undeclared identifier is reported only once
for each function it appears in
point2d.c:87:5: error: lvalue required as left operand of assignment
point2d.c:88:2: error: 'zz' undeclared (first use in this function)
point2d.c:89:2: error: 'err' undeclared (first use in this function)
point2d.c:90:2: error: 'xmm' undeclared (first use in this function)
point2d.c:91:2: error: 'ymm' undeclared (first use in this function)
point2d.c:145:5: error: lvalue required as left operand of assignment
gmake[5]: *** [OBJ.powerpc-ibm-aix7.1.0.0/point2d.o] Error 1
gmake[5]: *** Waiting for unfinished jobs....
gmake[5]: Leaving directory
`/gpfs/home/neteler/software/grass-7.0.svn/lib/rst/interp_float'
gmake[4]: *** [default] Error 2
gmake[4]: Leaving directory
`/gpfs/home/neteler/software/grass-7.0.svn/lib/rst/interp_float'

--> No idea here.
=====================

cd /gpfs/home/neteler/software/grass-7.0.svn/db/drivers/sqlite
-bash-3.2$ gmake
: && gcc -L/gpfs/home/neteler/software/grass-7.0.svn/dist.powerpc-ibm-aix7.1.0.0/lib
-L/gpfs/home/neteler/software/grass-7.0.svn/dist.powerpc-ibm-aix7.1.0.0/lib
 -L/gpfs/home/neteler/software/grass-7.0.svn/dist.powerpc-ibm-aix7.1.0.0/lib
-L/gpfs/home/neteler/bin/lib -o
/gpfs/home/neteler/software/grass-7.0.svn/dist.powerpc-ibm-aix7.1.0.0/driver/db/sqlite
OBJ.powerpc-ibm-aix7.1.0.0/fetch.o OBJ.powerpc-ibm-aix7.1.0.0/select.o
OBJ.powerpc-ibm-aix7.1.0.0/listdb.o
OBJ.powerpc-ibm-aix7.1.0.0/describe.o
OBJ.powerpc-ibm-aix7.1.0.0/execute.o OBJ.powerpc-ibm-aix7.1.0.0/main.o
OBJ.powerpc-ibm-aix7.1.0.0/index.o
OBJ.powerpc-ibm-aix7.1.0.0/listtab.o
OBJ.powerpc-ibm-aix7.1.0.0/cursor.o
OBJ.powerpc-ibm-aix7.1.0.0/create_table.o
OBJ.powerpc-ibm-aix7.1.0.0/db.o OBJ.powerpc-ibm-aix7.1.0.0/error.o
OBJ.powerpc-ibm-aix7.1.0.0/driver.o    -lgrass_dbmidriver.7.0.svn
-lgrass_dbmibase.7.0.svn -lgrass_gis.7.0.svn -lgrass_datetime.7.0.svn
 -lz     -liconv   -lm  -lgrass_dbstubs.7.0.svn
-lgrass_dbmibase.7.0.svn -lgrass_gis.7.0.svn -lgrass_datetime.7.0.svn
 -lz     -liconv   -lm  -lgrass_gis.7.0.svn -lgrass_datetime.7.0.svn
-lz     -liconv   -lm  -lgrass_gis.7.0.svn -lgrass_datetime.7.0.svn
-lz     -liconv   -lm  -lgrass_dbmibase.7.0.svn -lgrass_gis.7.0.svn
-lgrass_datetime.7.0.svn   -lz     -liconv   -lm  -lgrass_gis.7.0.svn
-lgrass_datetime.7.0.svn   -lz     -liconv   -lm
-L/gpfs/home/neteler/bin/lib -lsqlite3   -lm
ld: 0711-317 ERROR: Undefined symbol: .pthread_mutex_unlock
ld: 0711-317 ERROR: Undefined symbol: .pthread_mutex_trylock
ld: 0711-317 ERROR: Undefined symbol: .pthread_mutex_lock
ld: 0711-317 ERROR: Undefined symbol: .pthread_mutex_init
ld: 0711-317 ERROR: Undefined symbol: .pthread_mutexattr_init
ld: 0711-317 ERROR: Undefined symbol: .pthread_mutexattr_settype
ld: 0711-317 ERROR: Undefined symbol: .pthread_mutexattr_destroy
ld: 0711-317 ERROR: Undefined symbol: .pthread_mutex_destroy
ld: 0711-345 Use the -bloadmap or -bnoquiet option to obtain more information.
collect2: ld returned 8 exit status
gmake: *** [/gpfs/home/neteler/software/grass-7.0.svn/dist.powerpc-ibm-aix7.1.0.0/driver/db/sqlite]
Error 1

--> I suspect that the way how SQLite was compiled, influences that:

ls /gpfs/home/neteler/bin/lib/
gdalplugins    libgdal.a      libgdal.la     libproj.a      libproj.la
    libsqlite3.a   libsqlite3.la  pkgconfig

I used:
PREFIX=$HOME/bin

./configure \
  --prefix=$PREFIX \
  --disable-tcl

=====================

-bash-3.2$ cd /gpfs/home/neteler/software/grass-7.0.svn/db/drivers/ogr
-bash-3.2$ gmake
: && gcc -L/gpfs/home/neteler/software/grass-7.0.svn/dist.powerpc-ibm-aix7.1.0.0/lib
-L/gpfs/home/neteler/software/grass-7.0.svn/dist.powerpc-ibm-aix7.1.0.0/lib
 -L/gpfs/home/neteler/software/grass-7.0.svn/dist.powerpc-ibm-aix7.1.0.0/lib
 -o /gpfs/home/neteler/software/grass-7.0.svn/dist.powerpc-ibm-aix7.1.0.0/driver/db/ogr
OBJ.powerpc-ibm-aix7.1.0.0/fetch.o OBJ.powerpc-ibm-aix7.1.0.0/select.o
OBJ.powerpc-ibm-aix7.1.0.0/describe.o
OBJ.powerpc-ibm-aix7.1.0.0/execute.o OBJ.powerpc-ibm-aix7.1.0.0/main.o
OBJ.powerpc-ibm-aix7.1.0.0/listtab.o
OBJ.powerpc-ibm-aix7.1.0.0/cursor.o OBJ.powerpc-ibm-aix7.1.0.0/db.o
OBJ.powerpc-ibm-aix7.1.0.0/error.o OBJ.powerpc-ibm-aix7.1.0.0/driver.o
   -lgrass_dbmidriver.7.0.svn -lgrass_dbmibase.7.0.svn
-lgrass_gis.7.0.svn -lgrass_datetime.7.0.svn   -lz     -liconv   -lm
-lgrass_dbstubs.7.0.svn -lgrass_dbmibase.7.0.svn -lgrass_gis.7.0.svn
-lgrass_datetime.7.0.svn   -lz     -liconv   -lm  -lgrass_gis.7.0.svn
-lgrass_datetime.7.0.svn   -lz     -liconv   -lm  -lgrass_gis.7.0.svn
-lgrass_datetime.7.0.svn   -lz     -liconv   -lm
-lgrass_dbmibase.7.0.svn -lgrass_gis.7.0.svn -lgrass_datetime.7.0.svn
 -lz     -liconv   -lm  -lgrass_gis.7.0.svn -lgrass_datetime.7.0.svn
-lz     -liconv   -lm  -L/gpfs/home/neteler/bin/lib -lgdal -lm -lrt
-ldl -liconv  -lm
ld: 0711-317 ERROR: Undefined symbol: vtable for __cxxabiv1::__class_type_info
ld: 0711-317 ERROR: Undefined symbol: vtable for
__cxxabiv1::__si_class_type_info
ld: 0711-317 ERROR: Undefined symbol: vtable for
__cxxabiv1::__vmi_class_type_info
ld: 0711-317 ERROR: Undefined symbol: __gxx_personality_v0
ld: 0711-317 ERROR: Undefined symbol: __cxa_pure_virtual
ld: 0711-317 ERROR: Undefined symbol: .operator delete(void*)
ld: 0711-317 ERROR: Undefined symbol: std::basic_string<char,
std::char_traits<char>, std::allocator<char>
>::_Rep::_S_empty_rep_storage
ld: 0711-317 ERROR: Undefined symbol: .std::basic_string<char,
std::char_traits<char>, std::allocator<char>
>::_Rep::_M_destroy(std::allocator<char> const&)
...

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

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

It also comes up here:

-bash-3.2$ cd /gpfs/home/neteler/software/grass-7.0.svn/display/d.grid
-bash-3.2$ gmake
: && gcc -L/gpfs/home/neteler/software/grass-7.0.svn/dist.powerpc-ibm-aix7.1.0.0/lib
-L/gpfs/home/neteler/software/grass-7.0.svn/dist.powerpc-ibm-aix7.1.0.0/lib
 -L/gpfs/home/neteler/software/grass-7.0.svn/dist.powerpc-ibm-aix7.1.0.0/lib
 -o /gpfs/home/neteler/software/grass-7.0.svn/dist.powerpc-ibm-aix7.1.0.0/bin/d.grid
OBJ.powerpc-ibm-aix7.1.0.0/plotborder.o
OBJ.powerpc-ibm-aix7.1.0.0/main.o OBJ.powerpc-ibm-aix7.1.0.0/plot.o
OBJ.powerpc-ibm-aix7.1.0.0/fiducial.o    -lgrass_display.7.0.svn
-lgrass_htmldriver.7.0.svn -lgrass_driver.7.0.svn -lgrass_gis.7.0.svn
-lgrass_datetime.7.0.svn   -lz     -liconv   -lm   -liconv -lm
-lgrass_gis.7.0.svn -lgrass_datetime.7.0.svn   -lz     -liconv   -lm
-lm  -lgrass_pngdriver.7.0.svn -lgrass_driver.7.0.svn
-lgrass_gis.7.0.svn -lgrass_datetime.7.0.svn   -lz     -liconv   -lm
-liconv -lm  -lgrass_gis.7.0.svn -lgrass_datetime.7.0.svn   -lz
-liconv   -lm   -lm  -lgrass_psdriver.7.0.svn -lgrass_driver.7.0.svn
-lgrass_gis.7.0.svn -lgrass_datetime.7.0.svn   -lz     -liconv   -lm
-liconv -lm  -lgrass_gis.7.0.svn -lgrass_datetime.7.0.svn   -lz
-liconv   -lm  -lm  -lgrass_driver.7.0.svn -lgrass_gis.7.0.svn
-lgrass_datetime.7.0.svn   -lz     -liconv   -lm   -liconv -lm
-lgrass_raster.7.0.svn -lgrass_gis.7.0.svn -lgrass_datetime.7.0.svn
-lz     -liconv   -lm  -lm   -lgrass_gis.7.0.svn
-lgrass_datetime.7.0.svn   -lz     -liconv   -lm  -lm
-lgrass_gproj.7.0.svn -lgrass_gis.7.0.svn -lgrass_datetime.7.0.svn
-lz     -liconv   -lm  -L/gpfs/home/neteler/bin/lib -lgdal -lm -lrt
-ldl -liconv -L/gpfs/home/neteler/bin/lib/ -lproj  -lm
-lgrass_symb.7.0.svn -lgrass_gis.7.0.svn -lgrass_datetime.7.0.svn
-lz     -liconv   -lm  -lm  -lgrass_gis.7.0.svn
-lgrass_datetime.7.0.svn   -lz     -liconv   -lm  -lm   -lm
ld: 0711-317 ERROR: Undefined symbol: typeinfo for std::exception
ld: 0711-317 ERROR: Undefined symbol: std::basic_string<char,
std::char_traits<char>, std::allocator<char>
>::_Rep::_S_empty_rep_storage
ld: 0711-317 ERROR: Undefined symbol: .std::exception::~exception()
ld: 0711-317 ERROR: Undefined symbol: .std::basic_string<char,
std::char_traits<char>, std::allocator<char>
>::_Rep::_M_destroy(std::allocator<char> const&)
ld: 0711-317 ERROR: Undefined symbol: .operator delete(void*)
...

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

The same applies to
/gpfs/home/neteler/software/grass-7.0.svn/display/d.path
/gpfs/home/neteler/software/grass-7.0.svn/display/d.vect.chart
...
/gpfs/home/neteler/software/grass-7.0.svn/general/g.copy
/gpfs/home/neteler/software/grass-7.0.svn/general/g.findfile
...
/gpfs/home/neteler/software/grass-7.0.svn/raster/r.carve
...
/gpfs/home/neteler/software/grass-7.0.svn/vector/v.build
...
/gpfs/home/neteler/software/grass-7.0.svn/imagery/i.cca
...

--> Likely a "trivial" thing to fix it by gettings CFLAGS passed here.


Dirty hack (apply after configuring):

diff -u include/Make/Platform.make.org include/Make/Platform.make
--- include/Make/Platform.make.org      2013-06-09 22:43:54.000000000 +0200
+++ include/Make/Platform.make  2013-06-09 22:44:10.000000000 +0200
@@ -86,7 +86,7 @@

  MATHLIB             = -lm
  ICONVLIB            = -liconv
- INTLLIB             =
+ INTLLIB             = -lstdc++
  SOCKLIB             =

--> suggestions welcome how to properly solve it.
=====================

-bash-3.2$ cd /gpfs/home/neteler/software/grass-7.0.svn/ps/ps.map
-bash-3.2$ gmake
gcc  -lstdc++
-I/gpfs/home/neteler/software/grass-7.0.svn/dist.powerpc-ibm-aix7.1.0.0/include
-I/gpfs/home/neteler/software/grass-7.0.svn/dist.powerpc-ibm-aix7.1.0.0/include
 -D_FILE_OFFSET_BITS=64 -I/gpfs/home/neteler/bin/include
-DPACKAGE=\""grassmods"\"   -I/gpfs/home/neteler/bin/include/
-I/gpfs/home/neteler/bin/include
-I/gpfs/home/neteler/software/grass-7.0.svn/dist.powerpc-ibm-aix7.1.0.0/include
-I/gpfs/home/neteler/software/grass-7.0.svn/dist.powerpc-ibm-aix7.1.0.0/include
-o OBJ.powerpc-ibm-aix7.1.0.0/vect.o -c vect.c
vect.c:16:15: error: conflicting types for 'nearest'
/usr/opt/freeware/bin/../lib/gcc/powerpc-ibm-aix7.1.0.0/4.6.1/include-fixed/math.h:1397:21:
note: previous declaration of 'nearest' was here
gmake: *** [OBJ.powerpc-ibm-aix7.1.0.0/vect.o] Error 1

As workaround, renaming of "nearest" would likely do it as in:
http://trac.osgeo.org/grass/changeset/55563/grass/trunk/lib/gis/plot.c

=====================
gmake[3]: Entering directory
`/gpfs/home/neteler/software/grass-7.0.svn/vector/v.vol.rst'
gcc  -lstdc++
-I/gpfs/home/neteler/software/grass-7.0.svn/dist.powerpc-ibm-aix7.1.0.0/include
-I/gpfs/home/neteler/software/grass-7.0.svn/dist.powerpc-ibm-aix7.1.0.0/include
 -D_FILE_OFFSET_BITS=64 -I/gpfs/home/neteler/bin/include
-DPACKAGE=\""grassmods"\"
-I/gpfs/home/neteler/software/grass-7.0.svn/dist.powerpc-ibm-aix7.1.0.0/include
-I/gpfs/home/neteler/software/grass-7.0.svn/dist.powerpc-ibm-aix7.1.0.0/include
-o OBJ.powerpc-ibm-aix7.1.0.0/user3.o -c user3.c
user3.c: In function 'POINT':
user3.c:658:35: error: expected identifier or '(' before numeric constant
user3.c:673:3: error: 'zz' undeclared (first use in this function)
user3.c:673:3: note: each undeclared identifier is reported only once
for each function it appears in
user3.c:675:3: error: 'r' undeclared (first use in this function)
user3.c:676:3: error: 'etar' undeclared (first use in this function)
user3.c:679:9: error: lvalue required as left operand of assignment
user3.c:680:6: error: 'ww' undeclared (first use in this function)
user3.c:681:6: error: 'err' undeclared (first use in this function)
user3.c:683:6: error: 'xmm' undeclared (first use in this function)
user3.c:684:6: error: 'ymm' undeclared (first use in this function)
user3.c:685:6: error: 'zmm' undeclared (first use in this function)
user3.c:718:6: error: 'wmm' undeclared (first use in this function)
user3.c:741:5: error: lvalue required as left operand of assignment
gmake[3]: *** [OBJ.powerpc-ibm-aix7.1.0.0/user3.o] Error 1
gmake[3]: Leaving directory
`/gpfs/home/neteler/software/grass-7.0.svn/vector/v.vol.rst'

--> same as in /gpfs/home/neteler/software/grass-7.0.svn/lib/rst/interp_float ?

=====================

Summary:
- in the end the libgis problems previously reported by Ivan  are gone.
- with above  -lstdc++ the errors are reduced to these:

Errors in:
/gpfs/home/neteler/software/grass-7.0.svn/lib/vector/diglib
/gpfs/home/neteler/software/grass-7.0.svn/lib/rst/interp_float
/gpfs/home/neteler/software/grass-7.0.svn/db/drivers/sqlite
/gpfs/home/neteler/software/grass-7.0.svn/raster/r.resamp.rst
/gpfs/home/neteler/software/grass-7.0.svn/raster/simwe/r.sim.water
/gpfs/home/neteler/software/grass-7.0.svn/raster/simwe/r.sim.sediment
/gpfs/home/neteler/software/grass-7.0.svn/vector/v.surf.rst
/gpfs/home/neteler/software/grass-7.0.svn/vector/v.vol.rst
/gpfs/home/neteler/software/grass-7.0.svn/ps/ps.map
(Python related errors not listed).

Pretty good I would say.

Help welcome to get the compilation completed,

Markus


More information about the grass-dev mailing list