wiki:Platforms

Version 22 (modified by pbaumann, 21 months ago) (diff)

--

Platforms Supported

Rasdaman is running on the platforms listed below; let us know about further ones you are aware of!

When deciding on the target platform, also consider the list of packages required? for each distribution.

Linux

  • Kernel 2.6+, gcc 4.x, Java 6+
  • distros:
    • Debian 6 and later, 32bit & 64bit
    • Ubuntu 10.04 and later, 32bit & 64bit
    • CentOS 6 and later, Scientific Linux, RHEL
    • OpenSUSE

Solaris

The rasdaman code has been developed on SUN/Solaris originally, but that's way back in the last millennium.

Andrew Seales from Edinburgh University now was kind enough to perform a port again. Below his results; eventually, his findings should be merged into HEAD.

Overall I think I was successful in that while I have doesn't an exhaustive check of all the features, 
the server runs and I can perform a simple query using rasql. Hopefully these notes will be useful.

The environment I used is Solaris 10 running on an AMD Opteron. The OS is 64bit but all the libraries and 
compilers used were 32bit. The compiler I used was gcc 3.4.3 with the Sun linker. I thought I'd also include 
a couple of notes on two of the more unusual dependences, hdf and netpbm, even though they not specifically 
related to you.


hdf:
Compiled easily. Parameters used were:

CC=gcc ./configure --prefix=<local folder> --disable-fortran

netpbm:
* converter/other/jpeg2000/pamtojpeg2k.c and converter/other/jpeg2000/jpeg2ktopam.c need -std=c99 added to 
  their compile parameters to compile. This may have been a problem with gcc 3.4.3 however.
* window.c in netpbm/other/pamx needs:
    #if !defined (__SVR4) && !defined (__sun)
      #include <X11/Xdefs.h>  /* Needed by Xutil.h */
    #endif
to only include Xdefs.h if not compiling on Solaris. Apparantly checking for __SVR4 and __sun is the portable 
way to tell if compiling on Solaris.

Rasdaman:
Configured using:
CPPFLAGS="-I<local folder>/local/include" \
LDFLAGS="-L<local folder>/local/lib" \
./configure --prefix=<local folder>/rasdaman \
            --with-postgresql=<local folder>/bin/pg_config

* edit configure.in to use libcurses and not libncurses
* had to edit generated configure to replace instances of <var>+=<param> to <var>="$var <param>" - I thought there 
  was a way in Autoconf to control this but couldn't find out how from the documentation(Solaris 10 uses bash v3 
  which doesn't support appending variables using +=)
* had to install gawk, the included Solaris nawk doesn't work with the .awk scripts
* rpcgen calls need -C -b added. On Linux, -C and -b flags are implied by default but on Solaris they are not
* the -DSOLARIS check doesn't work so no source files get passed -DSOLARIS this is a problem for some source 
  files(I hacked it into the Makefile.am AM_CXXFLAGS variable)
* servercomm/servercomm.cc and servercomm/servercomm2.cc needs the gethostname commented out on line 77 and line 
  68 respectively as this conflicts with a built in function
* had to upgrade Bison from the Solaris version(v1.8.75) to a newer version, I used v2.4.3
* had to add AM_CXXFLAGS=@BASEDBCXXFLAGS@ and AM_LDFLAGS=@BASEDBLDFLAGS@ to conversion/Makefile.am
* during configure the check for hdf.h and mfhdf.h failed but the configure didn't abort, these files seem to be 
  required for conversion/hdf.cc
* had to upgrade Flex from Solaris default(v2.5.4) to a newer version, I used v2.5.35
* had to add -lmalloc to server/Makefile.am AM_LDFLAGS parameter. If I added it to LDFLAGS passed to configure 
  this broke servercomm/rpcif_svc.cc
* rasmgr/rasmgr_config.hh and rasmgr/rasmgr_localsrv.cc added #ifdef SOLARIS around the #include <linux/limits.h> 
  to include #include <limits.h> instead
* rasmgr/Makefile.am added AM_LDFLAGS=@BASEDBLDFLAGS@ to fix linking problems
* rascontrol/Makefile.am added AM_LDFLAGS=@BASEDBLDFLAGS@ to fix linking problems
* applications/rasql/Makefile.am added @BASEDBLDFLAGS@ to AM_LDFLAGS to fix linking problems
* insertutils/Makefile.am added @BASEDBLDFLAGS@ to AM_LDFLAGS to fix linking problems

The CPPFLAGS and LDFLAGS variables passed to configure point to the paths where I installed all the upgrades over 
the Solaris default apps. LD_LIBRARY_PATH and PATH has the same folders before the Solaris default folders to make sure my libraries are picked up first.

Not all the fixes above are the "correct" thing to do, in particular the check around #include <linux/limits.h>, 
but it was enough to get the software to compile and run.

The version I used was the version in git checked out about 10 days ago or so. Everything seemed to work except 
for running rascontrol with the incorrect username or password. This would for some reason cause the server process 
to hang so RASQL commands wouldn't work. If the correct username and password were passed to rascontrol then 
everything worked fine.

I was successfully able to import the 3 provided sample images and retrieve them using RASQL queries.

HP-UX

Code has been developed under HP-UX originally, but hasn't been compiled there for a long time. Verification on a recent version required.

SGI IRIX

Code has been ported to IRIX earlier, but hasn't been compiled there for a long time. Verification on a recent version required.

MS Windows

The client API (raslib) has been ported to Windows long time ago. No further attempt has been made. Using docker helps running Linux code under Windows.

OS X

There have been recent successful efforts to port rasdaman to OS X. For more details see the OS X installation guide?.