I have successfully compiled GRASS 6.4.0RC5 on RedHat Enterprise Linux 5. I am also trying to compile it on AIX 5.3 and having a great deal of difficulty.
Has anyone successfully compiled it on AIX 5.3? If so, can you please provide the configure options and any compiler-related environment variables that you used?
Thanks,
Mike
--
Mike Waldron
Systems Specialist
ITS Research Computing
University of North Carolina at Chapel Hill
CB #3420, ITS Manning, Rm 2509
Office: 919-962-9778
Mike Waldron wrote:
I have successfully compiled GRASS 6.4.0RC5 on RedHat Enterprise Linux
5. I am also trying to compile it on AIX 5.3 and having a great deal of
difficulty.
Has anyone successfully compiled it on AIX 5.3? If so, can you please
provide the configure options and any compiler-related environment
variables that you used?
If you get configure errors, please post the relevant portion of
config.log (everything from the "checking for ..." message
corresponding to the failed test to the end of the file). Don't worry
about error messages for tests which ultimately pass; those are quite
normal.
If configure succeeds but you get compilation errors, post the
relevant portion of the output from "make" (from the "Entering
directory ..." to the matching "Leaving directory ..." for a directory
which fails). If you get errors building a library, anything which
depends upon the library will fail, so only post the errors relating
to building the library itself.
--
Glynn Clements <glynn@gclements.plus.com>
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.
make[4]: Entering directory `/afs/isis.unc.edu/pkg/grass-6.4.0/.build/rs_aix53/grass-6.4.0RC5/lib/gis'
make[4]: `OBJ.powerpc-ibm-aix5.3.0.0' is up to date.
make[4]: Leaving directory `/afs/isis.unc.edu/pkg/grass-6.4.0/.build/rs_aix53/grass-6.4.0RC5/lib/gis'
xlc_r -q64 -I/afs/isis.unc.edu/pkg/grass-6.4.0/.build/rs_aix53/grass-6.4.0RC5/dist.powerpc-ibm-aix5.3.0.0/include -I/afs/isis/pkg/libpng/include -I/usr/loca
l/include -I/opt/freeware/include -I/usr/lpp/X11/include/X11 -I/usr/include -I/usr/include/fontconfig -I/usr/include/X11 -I/usr/include/X11/Xft -I/usr/incl
ude/X11/ext -O -qstrict -I/usr/include -I/usr/include/fontconfig -I/usr/include/X11 -I/usr/include/X11/Xft -I/usr/include/X11/ext -DPACKAGE=\""grasslib
s"\" -D_FILE_OFFSET_BITS=64 -DGDAL_LINK=1 -DGDAL_DYNAMIC=1 -DPACKAGE=\""grasslibs"\" -I/afs/isis/pkg/proj/include -I/afs/.isis/pkg/gdal-1.6.2/include -I/
afs/.isis/pkg/gdal-1.6.2/include -I/afs/isis.unc.edu/pkg/grass-6.4.0/.build/rs_aix53/grass-6.4.0RC5/dist.powerpc-ibm-aix5.3.0.0/include -o OBJ.powerpc-ibm-a
ix5.3.0.0/zone.o -c zone.c
/afs/isis.unc.edu/pkg/grass-6.4.0/.build/rs_aix53/grass-6.4.0RC5/ldAix /bin/ld -bhalt:4 -bM:SRE -bE:lib.exp -H512 -T512 -bnoentry -b64 -o /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 -L/afs/isis.unc.edu/pkg/grass-6.4.0/.build/rs_aix53/
grass-6.4.0RC5/dist.powerpc-ibm-aix5.3.0.0/lib -L/usr/local/lib -L/opt/freeware/lib -L/usr/lib -L/usr/X11R6/lib -L/usr/lib/threads -lc -L/usr/lib -L/usr/l
ocal/lib -L/afs/isis.unc.edu/pkg/grass-6.4.0/.build/rs_aix53/grass-6.4.0RC5/dist.powerpc-ibm-aix5.3.0.0/lib OBJ.powerpc-ibm-aix5.3.0.0/adj_cellhd.o OBJ.p
owerpc-ibm-aix5.3.0.0/align_window.o OBJ.powerpc-ibm-aix5.3.0.0/alloc.o OBJ.powerpc-ibm-aix5.3.0.0/alloc_cell.o OBJ.powerpc-ibm-aix5.3.0.0/area.o OBJ.powerp
c-ibm-aix5.3.0.0/area_ellipse.o OBJ.powerpc-ibm-aix5.3.0.0/area_poly1.o OBJ.powerpc-ibm-aix5.3.0.0/area_poly2.o OBJ.powerpc-ibm-aix5.3.0.0/area_sphere.o OBJ
.powerpc-ibm-aix5.3.0.0/ascii_chk.o OBJ.powerpc-ibm-aix5.3.0.0/ask.o OBJ.powerpc-ibm-aix5.3.0.0/ask_cell.o OBJ.powerpc-ibm-aix5.3.0.0/ask_vctrs.o OBJ.powerp
c-ibm-aix5.3.0.0/asprintf.o OBJ.powerpc-ibm-aix5.3.0.0/auto_mask.o OBJ.powerpc-ibm-aix5.3.0.0/basename.o OBJ.powerpc-ibm-aix5.3.0.0/bres_line.o OBJ.powerpc-
ibm-aix5.3.0.0/cats.o OBJ.powerpc-ibm-aix5.3.0.0/cell_stats.o OBJ.powerpc-ibm-aix5.3.0.0/cell_title.o OBJ.powerpc-ibm-aix5.3.0.0/cellstats_eq.o OBJ.powerpc-
ibm-aix5.3.0.0/clear_scrn.o OBJ.powerpc-ibm-aix5.3.0.0/clicker.o OBJ.powerpc-ibm-aix5.3.0.0/closecell.o OBJ.powerpc-ibm-aix5.3.0.0/color_compat.o OBJ.powerp
c-ibm-aix5.3.0.0/color_free.o OBJ.powerpc-ibm-aix5.3.0.0/color_get.o OBJ.powerpc-ibm-aix5.3.0.0/color_hist.o OBJ.powerpc-ibm-aix5.3.0.0/color_init.o OBJ.pow
erpc-ibm-aix5.3.0.0/color_insrt.o OBJ.powerpc-ibm-aix5.3.0.0/color_invrt.o OBJ.powerpc-ibm-aix5.3.0.0/color_look.o OBJ.powerpc-ibm-aix5.3.0.0/color_org.o OB
J.powerpc-ibm-aix5.3.0.0/color_rand.o OBJ.powerpc-ibm-aix5.3.0.0/color_range.o OBJ.powerpc-ibm-aix5.3.0.0/color_read.o OBJ.powerpc-ibm-aix5.3.0.0/color_remo
ve.o OBJ.powerpc-ibm-aix5.3.0.0/color_rule.o OBJ.powerpc-ibm-aix5.3.0.0/color_rule_get.o OBJ.powerpc-ibm-aix5.3.0.0/color_rules.o OBJ.powerpc-ibm-aix5.3.0.0
/color_set.o OBJ.powerpc-ibm-aix5.3.0.0/color_shift.o OBJ.powerpc-ibm-aix5.3.0.0/color_str.o OBJ.powerpc-ibm-aix5.3.0.0/color_write.o OBJ.powerpc-ibm-aix5.3
.0.0/color_xform.o OBJ.powerpc-ibm-aix5.3.0.0/commas.o OBJ.powerpc-ibm-aix5.3.0.0/copy.o OBJ.powerpc-ibm-aix5.3.0.0/copy_dir.o OBJ.powerpc-ibm-aix5.3.0.0/co
py_file.o OBJ.powerpc-ibm-aix5.3.0.0/date.o OBJ.powerpc-ibm-aix5.3.0.0/datum.o OBJ.powerpc-ibm-aix5.3.0.0/debug.o OBJ.powerpc-ibm-aix5.3.0.0/dig_title.o OBJ
.powerpc-ibm-aix5.3.0.0/distance.o OBJ.powerpc-ibm-aix5.3.0.0/done_msg.o OBJ.powerpc-ibm-aix5.3.0.0/endian.o OBJ.powerpc-ibm-aix5.3.0.0/env.o OBJ.powerpc-ib
m-aix5.3.0.0/error.o OBJ.powerpc-ibm-aix5.3.0.0/file_name.o OBJ.powerpc-ibm-aix5.3.0.0/find_cell.o OBJ.powerpc-ibm-aix5.3.0.0/find_etc.o OBJ.powerpc-ibm-aix
5.3.0.0/find_file.o OBJ.powerpc-ibm-aix5.3.0.0/find_vect.o OBJ.powerpc-ibm-aix5.3.0.0/flate.o OBJ.powerpc-ibm-aix5.3.0.0/fork.o OBJ.powerpc-ibm-aix5.3.0.0/f
ormat.o OBJ.powerpc-ibm-aix5.3.0.0/fpreclass.o OBJ.powerpc-ibm-aix5.3.0.0/gdal.o OBJ.powerpc-ibm-aix5.3.0.0/geodesic.o OBJ.powerpc-ibm-aix5.3.0.0/geodist.o
OBJ.powerpc-ibm-aix5.3.0.0/get_cellhd.o OBJ.powerpc-ibm-aix5.3.0.0/get_datum_name.o OBJ.powerpc-ibm-aix5.3.0.0/get_ell_name.o OBJ.powerpc-ibm-aix5.3.0.0/get
_ellipse.o OBJ.powerpc-ibm-aix5.3.0.0/get_projinfo.o OBJ.powerpc-ibm-aix5.3.0.0/get_projname.o OBJ.powerpc-ibm-aix5.3.0.0/get_row.o OBJ.powerpc-ibm-aix5.3.0
.0/get_row_colr.o OBJ.powerpc-ibm-aix5.3.0.0/get_window.o OBJ.powerpc-ibm-aix5.3.0.0/getl.o OBJ.powerpc-ibm-aix5.3.0.0/gets.o OBJ.powerpc-ibm-aix5.3.0.0/gis
base.o OBJ.powerpc-ibm-aix5.3.0.0/gisdbase.o OBJ.powerpc-ibm-aix5.3.0.0/gishelp.o OBJ.powerpc-ibm-aix5.3.0.0/gisinit.o OBJ.powerpc-ibm-aix5.3.0.0/histo_eq.o
OBJ.powerpc-ibm-aix5.3.0.0/histogram.o OBJ.powerpc-ibm-aix5.3.0.0/history.o OBJ.powerpc-ibm-aix5.3.0.0/home.o OBJ.powerpc-ibm-aix5.3.0.0/icon.o OBJ.powerpc
-ibm-aix5.3.0.0/index.o OBJ.powerpc-ibm-aix5.3.0.0/init_map.o OBJ.powerpc-ibm-aix5.3.0.0/interp.o OBJ.powerpc-ibm-aix5.3.0.0/intersect.o OBJ.powerpc-ibm-aix
5.3.0.0/intr_char.o OBJ.powerpc-ibm-aix5.3.0.0/is.o OBJ.powerpc-ibm-aix5.3.0.0/key_value1.o OBJ.powerpc-ibm-aix5.3.0.0/key_value2.o OBJ.powerpc-ibm-aix5.3.0
.0/key_value3.o OBJ.powerpc-ibm-aix5.3.0.0/key_value4.o OBJ.powerpc-ibm-aix5.3.0.0/legal_name.o OBJ.powerpc-ibm-aix5.3.0.0/line_dist.o OBJ.powerpc-ibm-aix5.
3.0.0/list.o OBJ.powerpc-ibm-aix5.3.0.0/ll_format.o OBJ.powerpc-ibm-aix5.3.0.0/ll_scan.o OBJ.powerpc-ibm-aix5.3.0.0/locale.o OBJ.powerpc-ibm-aix5.3.0.0/loca
tion.o OBJ.powerpc-ibm-aix5.3.0.0/ls.o OBJ.powerpc-ibm-aix5.3.0.0/mach_name.o OBJ.powerpc-ibm-aix5.3.0.0/make_colr.o OBJ.powerpc-ibm-aix5.3.0.0/make_loc.o O
BJ.powerpc-ibm-aix5.3.0.0/make_mapset.o OBJ.powerpc-ibm-aix5.3.0.0/mapcase.o OBJ.powerpc-ibm-aix5.3.0.0/mapset.o OBJ.powerpc-ibm-aix5.3.0.0/mapset_msc.o OBJ
.powerpc-ibm-aix5.3.0.0/mapset_nme.o OBJ.powerpc-ibm-aix5.3.0.0/mask_info.o OBJ.powerpc-ibm-aix5.3.0.0/maskfd.o OBJ.powerpc-ibm-aix5.3.0.0/myname.o OBJ.powe
rpc-ibm-aix5.3.0.0/named_colr.o OBJ.powerpc-ibm-aix5.3.0.0/nl_to_spaces.o OBJ.powerpc-ibm-aix5.3.0.0/nme_in_mps.o OBJ.powerpc-ibm-aix5.3.0.0/null_val.o OBJ.
powerpc-ibm-aix5.3.0.0/open.o OBJ.powerpc-ibm-aix5.3.0.0/open_misc.o OBJ.powerpc-ibm-aix5.3.0.0/opencell.o OBJ.powerpc-ibm-aix5.3.0.0/overwrite.o OBJ.powerp
c-ibm-aix5.3.0.0/parser.o OBJ.powerpc-ibm-aix5.3.0.0/paths.o OBJ.powerpc-ibm-aix5.3.0.0/percent.o OBJ.powerpc-ibm-aix5.3.0.0/plot.o OBJ.powerpc-ibm-aix5.3.0
.0/pole_in_poly.o OBJ.powerpc-ibm-aix5.3.0.0/popen.o OBJ.powerpc-ibm-aix5.3.0.0/progrm_nme.o OBJ.powerpc-ibm-aix5.3.0.0/proj1.o OBJ.powerpc-ibm-aix5.3.0.0/p
roj2.o OBJ.powerpc-ibm-aix5.3.0.0/proj3.o OBJ.powerpc-ibm-aix5.3.0.0/put_cellhd.o OBJ.powerpc-ibm-aix5.3.0.0/put_row.o OBJ.powerpc-ibm-aix5.3.0.0/put_title.
o OBJ.powerpc-ibm-aix5.3.0.0/put_window.o OBJ.powerpc-ibm-aix5.3.0.0/putenv.o OBJ.powerpc-ibm-aix5.3.0.0/quant.o OBJ.powerpc-ibm-aix5.3.0.0/quant_io.o OBJ.p
owerpc-ibm-aix5.3.0.0/quant_rw.o OBJ.powerpc-ibm-aix5.3.0.0/radii.o OBJ.powerpc-ibm-aix5.3.0.0/range.o OBJ.powerpc-ibm-aix5.3.0.0/raster.o OBJ.powerpc-ibm-a
ix5.3.0.0/raster_metadata.o OBJ.powerpc-ibm-aix5.3.0.0/rd_cellhd.o OBJ.powerpc-ibm-aix5.3.0.0/reclass.o OBJ.powerpc-ibm-aix5.3.0.0/remove.o OBJ.powerpc-ibm-
aix5.3.0.0/rename.o OBJ.powerpc-ibm-aix5.3.0.0/rhumbline.o OBJ.powerpc-ibm-aix5.3.0.0/rotate.o OBJ.powerpc-ibm-aix5.3.0.0/sample.o OBJ.powerpc-ibm-aix5.3.0.
0/set_window.o OBJ.powerpc-ibm-aix5.3.0.0/short_way.o OBJ.powerpc-ibm-aix5.3.0.0/sleep.o OBJ.powerpc-ibm-aix5.3.0.0/snprintf.o OBJ.powerpc-ibm-aix5.3.0.0/sp
awn.o OBJ.powerpc-ibm-aix5.3.0.0/squeeze.o OBJ.powerpc-ibm-aix5.3.0.0/store.o OBJ.powerpc-ibm-aix5.3.0.0/strings.o OBJ.powerpc-ibm-aix5.3.0.0/system.o OBJ.p
owerpc-ibm-aix5.3.0.0/tempfile.o OBJ.powerpc-ibm-aix5.3.0.0/timestamp.o OBJ.powerpc-ibm-aix5.3.0.0/token.o OBJ.powerpc-ibm-aix5.3.0.0/trim_dec.o OBJ.powerpc
-ibm-aix5.3.0.0/unctrl.o OBJ.powerpc-ibm-aix5.3.0.0/unix_socks.o OBJ.powerpc-ibm-aix5.3.0.0/user_config.o OBJ.powerpc-ibm-aix5.3.0.0/verbose.o OBJ.powerpc-i
bm-aix5.3.0.0/view.o OBJ.powerpc-ibm-aix5.3.0.0/whoami.o OBJ.powerpc-ibm-aix5.3.0.0/win32_pipes.o OBJ.powerpc-ibm-aix5.3.0.0/wind_2_box.o OBJ.powerpc-ibm-ai
x5.3.0.0/wind_format.o OBJ.powerpc-ibm-aix5.3.0.0/wind_in.o OBJ.powerpc-ibm-aix5.3.0.0/wind_limits.o OBJ.powerpc-ibm-aix5.3.0.0/wind_overlap.o OBJ.powerpc-i
bm-aix5.3.0.0/wind_scan.o OBJ.powerpc-ibm-aix5.3.0.0/window_map.o OBJ.powerpc-ibm-aix5.3.0.0/wr_cellhd.o OBJ.powerpc-ibm-aix5.3.0.0/writ_zeros.o OBJ.powerpc
-ibm-aix5.3.0.0/yes.o OBJ.powerpc-ibm-aix5.3.0.0/zero.o OBJ.powerpc-ibm-aix5.3.0.0/zero_cell.o OBJ.powerpc-ibm-aix5.3.0.0/zone.o -lz -lgrass_datetime -lm
&& \
(cd /afs/isis.unc.edu/pkg/grass-6.4.0/.build/rs_aix53/grass-6.4.0RC5/dist.powerpc-ibm-aix5.3.0.0/lib; ln -f -s libgrass_gis.6.4.0RC5.so /afs/isis.unc.edu/pk
g/grass-6.4.0/.build/rs_aix53/grass-6.4.0RC5/dist.powerpc-ibm-aix5.3.0.0/lib/libgrass_gis.so)
noDotA="/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"
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.
/afs/isis/pkg/grass-6.4.0/build/grass-6.4.0RC5/dist.powerpc-ibm-aix5.3.0.0/lib
ls -l libgrass_datetime*
-rwxr-xr-x 1 mwaldron employee 57923 Dec 11 11:03 libgrass_datetime.6.4.0RC5.so
lrwxr-xr-x 1 mwaldron employee 29 Dec 11 11:03 libgrass_datetime.so@ -> libgrass_datetime.6.4.0RC5.so
Glynn Clements wrote:
Mike Waldron wrote:
I have successfully compiled GRASS 6.4.0RC5 on RedHat Enterprise Linux 5. I am also trying to compile it on AIX 5.3 and having a great deal of difficulty.
Has anyone successfully compiled it on AIX 5.3? If so, can you please provide the configure options and any compiler-related environment variables that you used?
If you get configure errors, please post the relevant portion of
config.log (everything from the "checking for ..." message
corresponding to the failed test to the end of the file). Don't worry
about error messages for tests which ultimately pass; those are quite
normal.
If configure succeeds but you get compilation errors, post the
relevant portion of the output from "make" (from the "Entering
directory ..." to the matching "Leaving directory ..." for a directory
which fails). If you get errors building a library, anything which
depends upon the library will fail, so only post the errors relating
to building the library itself.
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.
--
Glynn Clements <glynn@gclements.plus.com>
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.
Mike Waldron wrote:
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.
Is there anything which ought to be changed in GRASS itself?
--
Glynn Clements <glynn@gclements.plus.com>
Since the configure script is assuming that the ldAix script is in $SRCDIR, it should probably be included with the source, or a flag should be added to point to where it is. It's apparently needed to create the lib.exp file when building shared libraries, although I ended up building static libraries to get the compile to succeed. This script comes from the TclTk package, specifically /usr/local/lib/tcl8.4 in my case.
The source code tweaks I had to make were mainly to resolve conflicts with variable declarations in the math.h include file. These didn't cause a problem on Linux, but the xlc compiler on AIX would choke on these. Also, there were several include references to <sys/fcntl.h>, which on AIX is located in <fcntl.h>, so again a peculiarity with AIX.
Mike
Glynn Clements wrote:
Mike Waldron wrote:
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.
Is there anything which ought to be changed in GRASS itself?
Mike Waldron wrote:
The source code tweaks I had to make were mainly to resolve conflicts
with variable declarations in the math.h include file. These didn't
cause a problem on Linux, but the xlc compiler on AIX would choke on
these. Also, there were several include references to <sys/fcntl.h>,
which on AIX is located in <fcntl.h>, so again a peculiarity with AIX.
FWIW, POSIX specifies <fcntl.h>. Linux has both, but <sys/fcntl.h> is
just:
#include <fcntl.h>
In 7.0, the only two source files which use <sys/fcntl.h> are
r.drain/main.c and r.fill.dir/main.c; all others use <fcntl.h>.
I've fixed this in 7.0 with r40022.
--
Glynn Clements <glynn@gclements.plus.com>