swarm-support
[Top][All Lists]
Advanced

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

Installation blues: my solution


From: Sven Thommesen
Subject: Installation blues: my solution
Date: Fri, 01 Nov 1996 15:15:42 -0600

To all: 

several people on this list keep asking questions related to problems
getting tcl, tk, and BLT to work right. What follows is a description of
how I got it all to work under Redhat Linux 3.0.3 and 4.0 (which are
both installed on the same machine at the moment.) 

Perhaps this will be of use to some. 

Manor: if this looks useful to you, feel free to edit this as you see
fit and post it where people can find it. -S

---------------------------------------------------------------------

Benedikt,

sorry to hear of your woes installing Swarm and its supporting libraries
under RedHat Linux 4.0. I had some troubled days myself ...

I've enclosed a .tgz file which contains all my Makefiles for the
different libraries. (Use tar -xzvf makefiles.tgz to unpack it.) The
files are named Makefile_<sourcedirectory> to show you where to put
them.

During the procedures below, compare the Makefiles generated by the
./configure step and my Makefile to see what I had to edit, then edit
likewise.

First, let me outline my directory structure: I have all of Swarm and
its supporting libraries in a separate partition, mounted on /santafe.
Since Swarm versions and Linux versions change fairly often, this lets
my Swarm installation be independent of whatever versions of tcl, tk and
BLT come with the current flavor of Linux. (RedHat 4.0 comes with
tcl7.5, tk4.1 and blt1.9, which are all wrong for our needs...)

I have:

/santafe/tcl7.4
/santafe/tk4.0
/santafe/blt1.9
/santafe/blt2.1
/santafe/libtclobjc-1.1b2
/santafe/libtclobjc-1.1b3
/santafe/libtclobjc-1.1b4

(As you can see, I'm still geared up to running old versions of Swarm.)

My Swarm stuff is in a directory structure like this:

/santafe/swarm-960229/...
/santafe/swarm-960513/...

/santafe/swarm-961002/tarfiles
/santafe/swarm-961002/swarmdocs
/santafe/swarm-961002/swarm/
/santafe/swarm-961002/apps/
/santafe/swarm-961002/myapps/

This should allow you to read the Makefiles.

If you implement a different directory structure, amend the Makefiles
accordingly. Since we are installing and using 'local' copies of the
libraries, the important point is that the Makefiles contain explicit
references to those 'local' libraries rather than to the default
libraries on your system.


Second, since you indicated that you had ended up installing tcl7.4 /
tk4.0 into the /usr/ directory structure, I'd recommend that you use the
RPM package manager to un-install tcl,tk and BLT, and then re-install
them again from the CD. This should allow the versions supplied with
4.0  to function normally with other software on your system.

Third, unpack the relevant sources into separate directories as
indicated above. Apply patches if there are any; see the README files.
(I found patches in tcl and tk.)

Then, install the libraries in the following order:

1. tcl7.4

        # ./configure --with-cc=gcc --prefix=/santafe/tcl7.4
        # vi Makefile // edit in accordance with my Makefile
          NOTE: if you want to generate shared libraries in 
          addition to the static one, add "SHARED = true" toward 
          the top of the Makefile.
        # make
        # make install
        # make clean

        Look in /santafe/tcl/lib: there need to be links
          from libtcl.a to libtcl7.4.a
          from libtcl.so.1 to libtcl7.4.so.1
        (use ln -sf  to do this; see the man page)

2. tk4.0

        # ./configure --with-cc=gcc --prefix=/santafe/tk4.0
        # vi Makefile // same comments as for tcl
          // Make sure library references to tcl and Xwindows
          // are explicit and correct
        # make
        # make install
        # make clean

        Links needed in /santafe/tk4.0/lib:
          from libtk.a to libtk4.0.a
          from libtk.so.1 to libtk4.0.so.1

3. BLT 2.1

        # ./configure --with-cc=gcc --prefix=/santafe/blt2.1
        # vi Makefile // Make sure library references to tcl,
          // tk, and Xwindows are explicit and correct.
        # vi src/shared/Makefile 
          // look at LIBNAME, SHLIB-LDFLAGS and SHLIB_LD
        # make
        # make lib-shared
        # make install

        Links in /santafe/blt2.1/lib:
          libBLT.a (no link)
          libBLT.so.2.1 to libBLT.so.2

4. BLT 1.9 (if you need it):

        same as blt 2.1, except link
          libBLT.so.1.9 to libBLT.so in /santafe/blt1.9/lib

5. libtclobjc-1.1b4

        # ./configure --with-cc=gcc --prefix=/santafe/libtclobjc-1.1b4
        # vi Makefile // verify or edit
        # make
        # make check
        # make install
        # make clean

        This produces static library libtclobjc.a
        in directory /santafe/libtclobjc-1.1b4/lib.

6. libtclobjc-1.1b3, libtclobjc-1.1b2 if needed: similarly

7. Swarm: edit /santafe/swarm-961002/swarm/Makefile.conf,
        making sure references to tcl, tk, BLT, and libtclobjc
        are all explicit and to the versions we just installed
        above rather than to the default versions on the system.

NOTE: in RedHat Linux 3.0.3 we needed a reference to library
-lieee for things to work right. In Linux 4.0 (using kernel 2.0.x) this
is no longer necessary because the functionality has been folded into
the math library (-lm). References to -lieee can therefore be removed
from the Swarm makefile (OTHERLIBS=) (and presumably from the other
makefiles as well.)

Hope this was of help. Let me know if you're successful.

Happy Swarming,

Sven

---------------------------------------------------------------------
Sven Thommesen
Department of Consumer Affairs
School of Human Sciences
Auburn University
<address@hidden>

Attachment: makefiles.tgz
Description: Binary data


reply via email to

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