Skip to main content.
home | support | download

Back to List Archive

compiling on IRIX 6.5, Solaris 2.8, Linux 2.4.20

From: Peter Karman <karman(at)not-real.cray.com>
Date: Thu Jan 29 2004 - 00:57:59 GMT
This is not to report a problem; I just figured the archive would 
benefit from my experience.

This afternoon I successfully compiled SWISH-E 2.4.1 with zlib 1.1.4 and 
libxml2 2.6.5 support on the following systems: Solaris 2.8, IRIX 6.5 
IP27, and Linux 2.4.20. (SuSE). SWISH-E, libxml2 and zlib are all 
installed in the same filesystem. in different subdirectories by OS, 
which is made available via NFS on many different operating systems.

I use a tcsh shell, so for setting environment variables change the 
syntax if you use bash, etc.

I am using Perl 5.6.1 on all 3 systems; this required editing the 
typemap file in the perl/ subdirectory in the swish-e source to include:

SW_FUZZYWORD O_OBJECT
const char * T_PV

(That is from the swish-e archive; thanks, Michael Kukla and Bill Moseley.)

The following configurations were used:

Solaris 2.8
=============
make - GNU make 3.80
cc - GNU GCC 3.2.1

setenv LD_LIBRARY_PATH /path/to/gcc/lib:\
/path/to/swish-e/2.4.1/lib:/path/to/zlib/lib:\
/path/to/libxml2/lib
setenv LD_RUN_PATH /path/to/swish-e/2.4.1/lib
(LD_RUN_PATH is per the README in the SWISH-E perl directory)

libxml2:

./configure --prefix=/path/to/libxml2/sunos
make
make test
make install

swish-e:

./configure --prefix=/path/to/swish-e/2.4.1/sunos \
--with-zlib=/path/to/zlib/sunos \
--with-libxml2=/path/to/libxml2/sunos \
--disable-shared
make
make test
make install

SWISH::API Perl module:

perl Makefile.PL PREFIX=/path/to/swish-e/2.4.1/sunos \
CCFLAGS=-I/path/to/swish-e/2.4.1/sunos/include \
LIBS="-L/path/to/swish-e/2.4.1/lib -L/path/to/zlib/sunos/lib \
-lswish-e -lz"
make
make test
make install



Linux 2.4.20
=============

<opinion>
As with all things *nix, Linux seems to work with the least hassle.
Make use of that old PC in the corner and save yourself the grief of 
trying to use Windows or other *nix flavors.
</opinion>

make = GNU make 3.80
cc = GNU GCC 3.3

This was virtually identical to the Solaris install, except that I did 
not need to set LD_LIBRARY_PATH to include the gcc/lib path, since Linux 
puts all that in the default /usr/lib. And of course, I didn't use 
'sunos' in the all my install paths, I used 'linux'.

IRIX 6.5
===========

This was the trickiest, since IRIX uses some non-standard env variables.

make = GNU make 3.79.1
cc = GNU GCC 3.2.1

The same as above except:

setenv LD_LIBRARYN32_PATH /path/to/gcc/lib:/path/to/swish-e/2.4.1/lib

instead of

setenv LD_LIBRARY_PATH /path/to/gcc/lib:/path/to/swish-e/2.4.1/lib

and use 'irix' instead of 'sunos' in paths.

Comments
============

One thing I discovered is the "-L/path/to/zlib -lz" was required in 
addition to the "-L/path/to/swishe/lib -lswish-e" for the perl module 
configuration. Otherwise, I got errors about the Perl DynamicLoader 
failing to recognize the compress2 symbol. This was not noted in the 
perl/README, but the README did get me on the right track with the 'no 
root access' section.

pek


-- 
Peter Karman - Software Publications Engineer - Cray Inc
phone: 651-605-9009 - mailto:karman@cray.com
Received on Wed Jan 28 16:58:05 2004