[GRASS-user] Compiling GRASS 6.4.0RC5 on AIX 5.3
Mike Waldron
mwaldron at email.unc.edu
Mon Dec 14 13:32:07 EST 2009
Yes, I copied the ldAix script from the Tcl/Tk package.
After attempting all the suggestions, I finally used --disable-shared on
the configure command, and all but a handful of modules successfully
compiled. I was able to individually address the ones that failed
through Makefile edits and several small source code/header file edits.
The environment variables and configure command that worked were:
export PATH=/usr/local/bin:/opt/freeware/bin:$PATH
export OBJECT_MODE=64
export LIBICONV=/opt/freeware
export CC="xlc_r -q64"
export CFLAGS="-O -qstrict"
export CXX="xlC_r -q64"
export CXXFLAGS="-O -qstrict"
export AR="ar -X64"
export F77="xlf_r -q64"
export CPPFLAGS="-I/afs/isis/pkg/libpng/include -I/usr/local/include
-I$LIBICONV/include -I/usr/lpp/X11/include/X11"
export LDFLAGS="-L/usr/local/lib -L$LIBICONV/lib -L/usr/lib
-L/usr/X11R6/lib -lc"
./configure --prefix=/afs/isis/pkg/grass-6.4.0 --enable-64bit
--disable-shared --with-includes="/usr/include/fontconfig
/usr/include/X11 /usr/include/X11/Xft /usr/include/X11/ext"
--x-includes=/usr/include/X11 --x-libraries=/usr/X11R6/lib
--with-fftw-includes=/afs/isis/pkg/fftw-3.2.2/include
--with-fftw-libs=/afs/isis/pkg/fftw-3.2.2/lib
--with-gdal=/afs/isis/pkg/gdal/bin/gdal-config
--with-proj-includes=/afs/isis/pkg/proj/include
--with-proj-libs=/afs/isis/pkg/proj/lib
--with-proj-share=/afs/isis/pkg/proj/share/proj
--with-tcltk-includes=/usr/local/include
--with-tcltk-libs=/usr/local/lib --with-opengl-includes=/usr/include/GL
Mike
Glynn Clements wrote:
> Mike Waldron wrote:
>
>
>> I have gotten the configure to run successfully. Here is a portion of
>> the make that has a failure. It is in a library so this obviously has a
>> cascading effect of causing many other modules to fail to compile.
>>
>
>
>> /afs/isis.unc.edu/pkg/grass-6.4.0/.build/rs_aix53/grass-6.4.0RC5/ldAix
>>
>
> ISTR that the autoconf code for shared libraries was taken from
> Tcl/Tk. However, we don't appear to include the ldAix script.
> Presumably you added that manually?
>
>
>> ld: 0706-006 Cannot find or open library file: -l grass_datetime
>> ld:open(): A file or directory in the path name does not exist.
>> make[3]: ***
>> [/afs/isis.unc.edu/pkg/grass-6.4.0/.build/rs_aix53/grass-6.4.0RC5/dist.powerpc-ibm-aix5.3.0.0/lib/libgrass_gis.6.4.0RC5.so]
>> Error 255
>> make[3]: Leaving directory
>> `/afs/isis.unc.edu/pkg/grass-6.4.0/.build/rs_aix53/grass-6.4.0RC5/lib/gis'
>>
>>
>> What's odd here is that it did build the grass_datetime library earlier,
>> so I'm not sure why it can't find it.
>>
>
> Oh well. I'm not familiar with AIX linking, so I can't really offer
> much advice. You might try bypassing the ldAix script with e.g.:
>
> make SHLIB_LD='/bin/ld -bhalt:4 -bM:SRE -bE:lib.exp -H512 -T512 -bnoentry -b64'
>
> Or find a project which successfully builds shared libraries, and copy
> the linking flags from that.
>
> Or even seeing if there are some debug flags you can add in case they
> provide any clues.
>
> Failing that, the last resort would be to use --disable-shared to use
> static libraries instead.
>
>
More information about the grass-user
mailing list