swarm-support
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Suse 6.1 and Swarm - easier than it seems


From: Benedikt Stefansson
Subject: Suse 6.1 and Swarm - easier than it seems
Date: Wed, 04 Aug 1999 12:03:27 +0200

I'm jumping into the thread started by Jan Kreft a couple of days ago:

http://www.santafe.edu/projects/swarm/archive/list-archive.9908/0010.html

...but changing the subject line to reflect the content.

Since I like Suse 6.1, I'd like to emphasize that it is not necessary to
recompile Swarm for Suse, a virgin installation and the Swarm RedHat rpm
work with minor tweaks. Also, if you want to recompile Swarm for some
reason you don't need to recompile the whole toolchain. 

In my experience one can safely use Suse rpms to install all the needed
software for Swarm or you can recompile Swarm without recompiling needed
software (such as tk/tcl/blt/libffi etc). Here are my notes on these two
options:

* 1 Using Swarm RedHat RPMs on Suse 6.1 with minimum fuss

Assume a virgin Suse 6.1 installation, with agcs, tk/tcl etc. installed
from Suse rpms. 
Now install 'needed software' RedHat RPMs such as blt, xpm, libffi and
hdf5 and the Swarm  RPMs for Swarm from the 1.4.1 CD-ROM, or the
equivalent from the Swarm ftp site. 

After installation you need to do the following:

(1) cd /usr/bin;ln -s gcc egcs
(2) cd /usr/lib;ln -s /usr/X11R6/lib/libtk8.0.so libtk8.0.so 
(3) cd /usr/lib;ln -s /usr/X11R6/lib/tk8.0 tk8.0 

This should do the trick. 

If you want to avoid step (1) for some reason
you can also change the Makefile.common in /usr/etc/swarm, setting
CC=gcc (you can leave OBJC = egcs). 

* 2 Recompiling Swarm (e.g. if you want HDF5 support).

The trouble here is that Suse allows you to keep two versions of tk/tcl
around, the older 4.2/7.6 combo and the newer 8.0 combo. This causes
errors in the configuration of Swarm which are hard to track down,
because of variables that are set in header and configure files deep
within the Swarm compilation process. 

There are basically two solutions to this, either you can behave like a
sane person and uninstall the older version of Tk/Tcl, which I would
recommend. 

If you don't feel like behaving like a sane person and decide to keep
both versions on the machine for some reason you will have to do the
following (as you can guess I went down the road to insanity):
 
(1) Grab the 8.0 versions of 
    tkConfig.h
    tclConfig.h
    tk.h
    tcl.h

Although these files are installed when you install tk/tcl in Suse, they
seem to end up being the versions pertaining to the 7.6/4.2 combo. You
can grab the 8.0 versions from the sources on the 1.4.1 Swarm CD-ROM or
on the Swarm ftp site.

(2) Assuming that you have both tcl 7.6 and tk 4.2 and tcl/tk 8.0
installed, copy the files listed in (1) to your current working
directory and perform the following rituals (the point is to keep both
versions of header files around just in case, but to link the *.h files
to the 8.0 versions. This obviously is only safe if you are not
developing software which needs to compile against the older versions of
tk/tcl.)

Assumption is that files in (1) are in "/." (the current working
directory)

(2a) mv /usr/include/tcl.h /usr/include/tcl7.6.h
     mv tcl.h /usr/include/tcl8.0.h
     ln -s /usr/include/tcl8.0.h /usr/include/tcl.h

(2b) mv /usr/lib/tclConfig.sh /usr/lib/tclConfig7.6.sh
     mv tclConfig.h /usr/lib/tclConfig8.0.sh
     ln -s /usr/lib/tclConfig8.0.sh /usr/lib/tclConfig.h

(2c) mv /usr/X11R6/include/tk.h /usr/X11R6/include/tk4.2.h
     mv tk.h /usr/X11R6/include/tk8.0.h
     ln -s /usr/X11R6/include/tk8.0.h /usr/X11R6/include/tk.h

(2d) mv /usr/X11R6/lib/tkConfig.sh /usr/X11R6/lib/tkConfig4.2.sh
     mv tkConfig.sh /usr/X11R6/lib/tkConfig8.0.sh
     ln -s /usr/X11R6/lib/tkConfig8.0.sh /usr/X11R6/lib/tkConfig.sh

(3) You can now run configure for Swarm in the source directory with
this command (skip the hdf5 part if you haven't installed/compiled
hdf5):

sh configure --with-tkscriptdir=/usr/X11R6/lib/tk8.0/
--with-tklibname=tk8.0 --with-hdf5dir=/usr/local
--with-pngdir=/usr/X11R6/ --with-pngincludedir=/usr/X11R6/include/
--with-tcllibname=tcl8.0 --with-tclscriptdir=/usr/lib/tcl8.0/

Notes:

I have the following tk/tcl rpms installed under Suse 6.1:

tk-4.2p2-61
tk_new-8.0.5-10
tcl-7.6p2-61
tcl_new-8.0.5-10

Headerfiles are installed here:

/usr/include/tcl.h
/usr/lib/tclConfig.sh

/usr/X11R6/include/tk.h
/usr/X11R6/lib/tkConfig.h

The libraries end up here:

/usr/lib/libtcl7.6.a   
/usr/lib/libtcl7.6.so  
/usr/lib/libtcl8.0.a   
/usr/lib/libtcl8.0.so

/usr/X11R6/lib/libtk4.2.a      
/usr/X11R6/lib/libtk4.2.so     
/usr/X11R6/lib/libtk8.0.a      
/usr/X11R6/lib/libtk8.0.so     
/usr/X11R6/lib/libtksam4.2.a   
/usr/X11R6/lib/libtksam4.2.so

Regards,
Benedikt

-----
Present coordinates: 
Dep. of Economics, Univ. of Trento, Via Inama 1, 38100 Trento, ITALY
Off: +39 0461 882246/267875 Mob: +39 347 0415721 Fax: +39 0461 882222

                  ==================================
   Swarm-Support is for discussion of the technical details of the day
   to day usage of Swarm.  For list administration needs (esp.
   [un]subscribing), please send a message to <address@hidden>
   with "help" in the body of the message.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]