[GRASS-dev] compiling GRASS 6.3.0RC2 on Solaris 10

Andreas C. Lange Andreas.C.Lange at GMX.de
Sun Nov 25 13:46:53 EST 2007


Hi, 
i finally managed to compile and install GRASS 6.3.0RC2 on Solaris 10
Sparc.

I installed the packages from www.sunfreeware.com for the gnu tools
(tar, gcc etc.). I can mail a list of the packages if needed. 

I had to compile gdal, as there is no solaris pkg. There is no pkg for
fftw2, so this had to be compiled too. 

I found the following problems:

- fftw has to be compiled/installed with ./configure --with-pic
--enable-shared or the grass libraries are not built. 

- make has to be used with "make SHELL=/bin/bash" or the scripts are not
executed (there are still many "bash'isms" in the scripts!).

- ./configure needs to be executed with:
./configure --with-srcdir=$(pwd) or
$(pwd)/configure 
or it does not work.

- i had to manually edit include/make/Platform.make
to change CURSES = -lncurses $(COMPATLIB) to
CURSES = -lcurses $(COMPATLIB).
Problem on solaris 10 is, that ncurses is installed in /usr/local, but
the header file is in /usr/local/include/ncurses/ncurses.h
configure detects ncurses, but the link phase does not work, as
initscr32 from system curses library is needed. 
Maybe ln -s /usr/local/include/ncurses/ncurses.h
/usr/local/include/ncurses.h works too.

- the scripts in tools directory are not working on solaris, as /bin/sh
is a standard unix shell, no bash as on linux. So i had to edit all to
#!/bin/bash . I think that the configure/make mechanism has to be
changed, so that bash is used (then bash has to be a prerequisite) or
the scripts should be edited to contain no bash-specific code. 
 
- all the startup scripts use "#!/bin/sh", but use bash-specific code.
So with default installation, grass can not be started. I had to edit
all to
 "#!/bin/bash". On Solaris 10 /bin/sh is a symlink to /sbin/sh, but i am
not shure if it is wise to change to /bin/bash, as the system may not
start in case of problems. 

GIS Manager, nviz and the modules i tested worked. 

But the help system needs konquerer, which is not present on Solaris.
exporting GRASS_HELP_BROWSER=firefox works.
Suggestion: add another line in Init.sh to detect "firefox".

The option "Help->About System" starts another instance of the gis
manager. 

Compiling on Solaris 10 i86/i64 has other problems (e. g. libGLU missing
on Solaris/Intel). I'll try this in the next days.

Where is the correct place to add the information about compiling on
solaris (grass wiki or other?)?
I hope i can add the text later.

Andreas

-- 
Andreas Lange


More information about the grass-dev mailing list