[GRASS-dev] compilation of grass on AIX 7.1

Markus Neteler neteler at osgeo.org
Sat Nov 23 14:22:55 PST 2013


Hi,

after a while some progress with GRASS 7 on AIX...

export CXX='g++'
export LDFLAGS='-maix64 -Wl,-bbigtoc -lm -lstdc++ -lmass -lsqlite3
-lpthread /opt/freeware/lib/libiconv.a'
export CFLAGS='-maix64 -D_POSIX_C_SOURCE=200809L -Dinline= -O3 -Wall
-fno-common -I$PREFIX/include/'
export CXXFLAGS=$CFLAGS
export OBJECT_MODE=64
export AR='ar -X64'

./configure \
  --prefix=$PREFIX \
  --enable-largefile \
  --enable-shared \
  --with-includes=/opt/freeware/include --with-libs=$FREELIB \
  --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-png=no \
  --with-tiff=no \
  --with-fftw=no \
  --with-cairo=no \
  --with-opengl=no \
  --with-freetype=no \
  --with-tcltk=no \
  --with-opengl=no \
  --with-fftw=no \
  --with-regex=no

Most of the code compiles but the HTML page generation fails for
modules which use $(GPROJLIB):

Example:

gmake[3]: Entering directory
`/gpfs/home/neteler/software/grass-7.0.svn/display/d.grid'
: && 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
-maix64 -Wl,-bbigtoc -lm -lstdc++ -lmass -lsqlite3 -lpthread
/opt/freeware/lib/libiconv.a
-Wl,-bsvr4,-R,/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_gproj.7.0.svn -lgrass_symb.7.0.svn -lgrass_gis.7.0.svn
ld: 0711-224 WARNING: Duplicate symbol: __fe_def_env
ld: 0711-345 Use the -bloadmap or -bnoquiet option to obtain more information.
if [ "/gpfs/home/neteler/software/grass-7.0.svn/dist.powerpc-ibm-aix7.1.0.0/bin/d.grid"
!= "" ] ; then 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:/gpfs/home/neteler/software/grass-7.0.svn/dist.powerpc-ibm-aix7.1.0.0/scripts:$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 /gpfs/home/neteler/software/grass-7.0.svn/dist.powerpc-ibm-aix7.1.0.0/bin/d.grid
--html-description < /dev/null | grep -v '</body>\|</html>' >
d.grid.tmp.html ; fi
Could not load program
/gpfs/home/neteler/software/grass-7.0.svn/dist.powerpc-ibm-aix7.1.0.0/bin/d.grid:
Could not load module
/gpfs/home/neteler/software/grass-7.0.svn/dist.powerpc-ibm-aix7.1.0.0/lib/libgrass_gproj.7.0.svn.so.
        Dependent module libstdc++.a(libstdc++.so.6) could not be loaded.
Could not load module libstdc++.a(libstdc++.so.6).
System error: No such file or directory
Could not load module d.grid.
        Dependent module
/gpfs/home/neteler/software/grass-7.0.svn/dist.powerpc-ibm-aix7.1.0.0/lib/libgrass_gproj.7.0.svn.so
could not be loaded.
Could not load module .
gmake[3]: *** [d.grid.tmp.html] Error 1


-bash-3.2$ ldd /gpfs/home/neteler/software/grass-7.0.svn/dist.powerpc-ibm-aix7.1.0.0/lib/libgrass_gproj.7.0.svn.so
/gpfs/home/neteler/software/grass-7.0.svn/dist.powerpc-ibm-aix7.1.0.0/lib/libgrass_gproj.7.0.svn.so
needs:
Cannot find libstdc++.a(libstdc++.so.6)
         /usr/lib/libpthread.a(shr_xpg5_64.o)
         /opt/freeware/lib/libiconv.a(libiconv.so.2)
         /gpfs/home/neteler/software/grass-7.0.svn/dist.powerpc-ibm-aix7.1.0.0/lib/libgrass_gis.7.0.svn.so
Cannot find libgcc_s.a(shr.o)
         /usr/lib/libc.a(shr_64.o)
         /unix
         /usr/lib/libc.a(shr.o)
         /gpfs/home/neteler/software/grass-7.0.svn/dist.powerpc-ibm-aix7.1.0.0/lib/libgrass_datetime.7.0.svn.so
         /usr/lib/libz.a(libz.so.1)
         /usr/lib/libcrypt.a(shr_64.o)
         /usr/lib/libcrypt.a(shr.o)

Any hints how to "inject" libstdc++.so for those modules which depend
on $(GPROJLIB)?
Maybe a trivial issue but I just don't know what to change.

thanks
Markus


More information about the grass-dev mailing list