Talk:Compile and Install

From GRASS-Wiki
Revision as of 20:54, 28 June 2013 by Neteler (talk | contribs) (+AIX 7.x compilation hints)
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

Ubuntu compilation hints

feedback on following the same directions under Ubuntu 8.10 amd64

  • apt-get says "Couldn't find package bpng12-dev"
HB: try "apt-cache search bpng*-dev". Probably they bumped the version number.

AIX 7.x compilation hints

Hints: Using the GNU C/C++ compiler on AIX

  • conf_proj_AIX.sh:
sh configure --prefix=$HOME/bin --without-mutex
  • conf_sqlite3.sh:
sh configure --prefix=$HOME/bin \
 --disable-shared --disable-threadsafe --disable-tcl
  • conf_gdal.sh:
export LIBICONV=/opt/freeware
export CC="gcc"
export CXX="g++"

PREFIX=$HOME/bin
CFLAGS='-DHAVE_INTTYPES_H=0' ./configure \
 --prefix=$PREFIX --with-libz=internal --with-threads=no --with-geotiff=internal --with-libtiff=internal

echo "Now manually edit:  vim port/cpl_config.h and disable use of AIX's <inttypes.h> header file"
echo "#define HAVE_INTTYPES_H 0"
echo "See bug http://trac.osgeo.org/gdal/ticket/4809"
  • Fix $HOME/bin/gdal-config issue (bug in GRASS GIS 7 or GDAL?): add to the 'CONFIG_LIBS' line the entry
 -lstdc++
  • If you want r.terraflow, patch the source code for a workaround of a gcc bug on AIX:
r.terraflow_AIX_gcc_fix.diff
Index: raster/r.terraflow/stats.h
===================================================================
--- raster/r.terraflow/stats.h  (revision 56936)
+++ raster/r.terraflow/stats.h  (working copy)
@@ -22,6 +22,16 @@
 
 #include <sys/types.h>
 
+/* http://gcc.gnu.org/ml/gcc-patches/2012-09/msg01957.html */
+#if defined(_AIX) && defined(_LARGE_FILES)
+#include <fcntl.h>
+#undef open
+/* Alias the symbols using asm */
+extern "C" {
+extern int open(const char *, int, ...) __asm__("open64");
+}
+#endif
+
 #include <fstream>
 #include <iostream>
 using namespace std;

AIX 5.x compilation hints

  • conf_wget_AIX.sh:
sh configure --prefix=/afs/cluster/grid/user/private/bin/ --disable-nls
  • conf_proj_AIX.sh:
sh configure --prefix=/afs/cluster/grid/user/private/bin --without-mutex
  • conf_gdal_AIX.sh:
export LIBICONV=/opt/freeware
export CC="gcc"
export CXX="g++"
PREFIX=/afs/cluster/grid/user/private/bin
sh configure \
   --prefix=$PREFIX \
   --with-libz=internal \
   --with-threads=no \
   --with-geotiff=internal --with-libtiff=internal
  • conf_grass6_AIX.sh
#!/bin/sh                                          

# optimization
# http://en.gentoo-wiki.com/wiki/Safe_Cflags/Intel
MYCFLAGS="-O2 $XEON"                              
MYCXXFLAGS="-O2"                                  

# debug
#MYCFLAGS="-g"
#MYCXXFLAGS="-g"

########
MYBIN=$HOME/private/bin
MYNAD2BIN=$MYBIN/bin/nad2bin

# 64bit:
CFLAGS="$MYCFLAGS" CXXFLAGS="$MYCXXFLAGS" NAD2BIN=$MYNAD2BIN ./configure \
  --prefix=$MYBIN \
  --with-cxx \
  --enable-largefile \
  --with-gdal=$MYBIN/bin/gdal-config \
  --with-includes=$MYBIN/include \
  --with-proj \
  --with-proj-includes=$MYBIN/include \
  --with-proj-libs=$MYBIN/lib \
  --with-proj-share=$MYBIN/share/proj \
  --with-png=yes \
  --with-tiff=yes \
  --with-tcltk=yes \
  --with-sqlite=yes \
  --with-opengl=yes \
  --with-x=yes \
  --with-nls=no \
  --with-freetype=no \
  --with-jpeg=no \
  --with-postgres=no \
  --with-mysql=no \
  --with-ffmpeg=no \
  --with-odbc=no \
  --with-fftw=no \
  --with-blas=no \
  --with-lapack=no \
  --with-motif=no \
  --with-glw=no \
  --with-readline=no \
  --with-opendwg=no \
  --with-python=no
  • conf_grass7_AIX.sh:
export LIBICONV=/opt/freeware
# comment next two lines for using the IBM xlc compiler:
export CC="gcc"
export CXX="g++"

PREFIX=$HOME/private/bin

CFLAGS='-ansi -D_ALL_SOURCE=1 -D_POSIX_SOURCE=1 -D_POSIX_C_SOURCE=200809L -Dinline=' ./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-sqlite \
  --with-sqlite-includes=$PREFIX/include/ \
  --with-sqlite-libs=$PREFIX/lib/ \
  --with-tiff=no \
  --with-png=no \
  --with-fftw=no \
  --with-cairo=no \
  --with-freetype=no