swarm-support
[Top][All Lists]
Advanced

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

BLT2.4i needed for Swarm on SuSE 6.1 or how to install a working


From: Jan Kreft
Subject: BLT2.4i needed for Swarm on SuSE 6.1 or how to install a working working-environment
Date: Mon, 2 Aug 1999 18:02:53 +0100 (BST)

Dear all,

This will be a rather long mail that will serve three purposes,
namely, i) to vent my frustration due to bugs in "needed software",
ii) to give instructions on how to install all this stuff on a SuSE
6.1 Linux box, and iii) to make everyone else install the latest
patches of the tcl/tk/BLT triumvirate as well.

First of all, why did I have to reinstall everything? Did I have too
much time on my hands or was I too full of bliss? Afraid not. I was
getting crashes of Gecko/BacSim for some time now, but in the first
few months of my work on a new project, this happened only rarely and
irreproducibly. BacSim used to crash occasionally after a recompile,
then I would run it in the debugger and it wouldn't crash, or I would
run it in gdb and it would crash, but not outside gdb. Or it would
crash constantly but a make clean would fix it. This never happened on
my Win95 laptop or in batch mode. In those cases were I managed to
crash it in gdb, I could figure out that the problem was related to
passing strings as labels for my graphs on to the graph
widgets. Unfortunately, I couldn't bring gdb to step into the methods
which the backtrace named and shamed. Don't know why I couldn't step
out of BacSim, but this made it very difficult to get on with the bug
hunt. I made sure that the strings were correct as they are passed on
and left it at that.

Last week, however, I made more graphs, and this problem escalated,
effectively keeping me from running BacSim. So I had to fix it now. My
reluctance to tackle this was amply justified since this took about
three days. Not knowing whether the compiler or one of the packages
caused the error, I had to use a shotgun approach and decided to
recompile everything from source. In a nutshell, using the latest
patchlevels of the not-too-new versions of tcl/tk/BLT did the trick
(tcl8.0.5, tk8.0.5, BLT2.4i). The versions on the SFI site are not
recent enough for BacSim. Mind you, I never had problems running the
canonical heatbugs with the sources provided by SFI.

Here is what I did (all packages downloaded into one directory and
unpacked there (=> all packages in sister dirs), make installs as root
where necessary, all actions performed in the top dir of the
respective package unless noted otherwise):

0. Compile latest gcc: gcc version 2.95 19990728 (release).

mkdir buildgcc
cd buildgcc
../gcc-2.95/configure --with-stabs --prefix=/usr/local --enable-threads 
--enable-version-specific-runtime-libs
make bootstrap
make install

=> gcc now resides in /usr/local/bin

Also working is the gcc version egcs-2.91.66 19990314 (egcs-1.1.2
release).

SuSE 6.1 already comes with egcs-1.1.2, but the self-compiled version
is better since the following and related warnings don't pop up:
/home/jan/swarm-1.4.1/lib/libtkobjc.a(ButtonPanel.o): warning: multiple common 
of `globalTkInterp'
/home/jan/swarm-1.4.1/lib/libtkobjc.a(Button.o): warning: previous common is 
here
/home/jan/gecko/src/Carnie.o: warning: common of `huntwin' overridden by 
definition
/home/jan/gecko/src/Grazer.o: warning: defined here

BTW, the gcc patch provided by Marcus didn't match the sources I've
tried, so I left them unpatched and ignored errors such as this one:
/usr/bin/ld: warning: type and size of dynamic symbol 
`__objc_class_name_SwarmObject' are not defined
They do not seem to cause any trouble.

Now compiling everything with this gcc:

1. zlib:
CC=/usr/local/bin/gcc configure
make test
make install

2. libpng:
cp scripts/makefile.lnx makefile
# In this makefile, correct CC=gcc into CC=/usr/local/bin/gcc:
pico makefile
make test
make install

3. libffi:
CC=/usr/local/bin/gcc configure --[dis|en]able-shared
make
make test
make install

4. hdf5:
patch -b -p1 <../hdf5-1.0.1-linux.diffs 
CC=/usr/local/bin/gcc configure --[dis|en]able-shared
make
make test
make install

5. R:
CC=/usr/local/bin/gcc configure --[dis|en]able-shared
make
make install

6. tcl:
# all actions to be performed in unix subdir
cd unix/
CC=/usr/local/bin/gcc configure --enable-gcc --[dis|en]able-shared
make
make test
make install

7. tk:
# all actions to be performed in unix subdir
cd unix/
CC=/usr/local/bin/gcc configure --enable-gcc --[dis|en]able-shared
make
make test
make install

8. BLT:
CC=/usr/local/bin/gcc configure --enable-gcc --[dis|en]able-shared 
--with-tcl=/usr/local
make
# run test scripts in demos dir, say graph7, graph7 doesn't run with BLT2.4g, 
but runs with BLT2.4i
make install

9. Swarm:
CC=/usr/local/bin/gcc configure --[dis|en]able-shared 
--with-defaultdir=/usr/local --prefix=/home/jan/swarm-1.4.1
make
make install

All apps tested run, linker gives messages such as this one:
/usr/bin/ld: warning: type and size of dynamic symbol 
`__objc_class_name_SwarmObject' are not defined

BacSim hasn't crashed for days now, and no labels on the graphs are
mangled.

I do wish Swarm wouldn't rely on so many extra packages but I'm afraid the
trend is upwards :-(

Notes:

Static versus shared:
Works either way though during Swarm configure with --enable-shared set, I got:
checking for tclsh8.0... yes
tclsh8.0: error in loading shared libraries
libtcl8.0.so: cannot open shared object file: No such file or directory

But this file exists here:
/usr/local/lib/libtcl8.0.so

It seems that this warning can be ignored.

That seems to be all for now, from me.

HTH, Jan.


                  ==================================
   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]