swarm-support
[Top][All Lists]
Advanced

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

Long suffering of Redhat 4.1 user with tcl7.6/tk4.2


From: Paul Johnson
Subject: Long suffering of Redhat 4.1 user with tcl7.6/tk4.2
Date: Wed, 16 Apr 1997 21:56:20 -0500 ()

I have come to the conclusion that there is something troublesome about
tk4.2 and tcl7.6.  I believe the problem starts with libtclobjc and then
is propagated through the swarm compile and then crashes heatbugs.

A big part of the problem is that the libraries for tcl7.6 and tk4.2 are
".so" libraries, not "a" libraries. (That's the way they come from REDHAT,
anyway.)   So when you compile libtclobjc, it
says it cant find libtcl.a or libtcl7.4a or libtcl7.5a, and the only
alternative is to tell it to look
in the directory where you have libtcl.so.  IT finishes the configure, 
but the make check does not work.  The erros from the "make check" are
/usr/lib/libtcl.so
:undefined reference to 'dlerror'
:undefined reference to 'dlopen'
:undefined reference to 'dlsym'
ERROR 1

I was thinking, (optimistically), that the program written for testing was
bogus, and not my setup, so I went ahead and did "make install" and it did 
not give any error messages.

Then on to configure swarm.  I unpacked swarm-1.0.1 into a directory named
swarm-1.0.1.  I first tried to run with the binary method, I gave it my
include directories, and, I was amazed, but the make just generated lots
of output, no errors.  (I saved it in case anyone can inspect it to
diagnose the problems).

I then did make on heatbugs, no problem.  But when I ran heatbugs, I got
this 

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

error: TkExtra (instance)
Can't find a usable init.tcl in the following directories: 
    /usr/local/lib/tcl7.5 ./lib/tcl7.5 //tcl7.5/library /swarmapps/library
This probably means that Tcl wasn't installed properly.

    while executing
"error $msg"
    (procedure "init" line 29)
    invoked from within
"init"

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


So, I figure, the binary version of swarm is going to insist on tcl7.5. I
might as well recompile the whole thing. So I do make clean in swarm and
heatbugs, then in the swarm Makefile.conf, I changed the option from bin
to archive. Make again worked without trouble. I saved the printout if
anyone wants to inspect it. (I'd include it here, but its 24 KB).

Heatbugs will not make anymore.  This is the error message I get.

------------------------------------------------------------------
  gcc -g -L/swarm-1.0.1/lib -L/usr/X11R6/lib  -L/usr/local/blt/lib
-L/usr/lib   -o heatbugs Heatbug.o HeatSpace.o main.o HeatbugModelSwarm.o
HeatbugObserverSwarm.o HeatbugBatchSwarm.o -lspace -lanalysis -lsimtools
-ltkobjc -lactivity -lrandom -lswarmobject -lcollections -ldefobj
-ltclobjc -lBLT -ltk -ltcl -lXpm -lobjc -lX11 -lm  -L/usr/lib/tcl7.6
-L/usr/lib/tk4.2
/usr/lib/libtclobjc.a(Tcl.o): In function `_i_Tcl__initWithArgc_argv_':
/usr/lib/libtclobjc-1.1b6/Tcl.m:174: undefined reference to
`rl_readline_name'
/usr/lib/libtclobjc.a(Tcl.o): In function `_i_Tcl__promptAndEval':
/usr/lib/libtclobjc-1.1b6/Tcl.m:394: undefined reference to `readline'
/usr/lib/libtclobjc-1.1b6/Tcl.m:400: undefined reference to `add_history'
/usr/lib/libtclobjc.a(Tk.o): In function `tk_iter':
/usr/lib/libtclobjc-1.1b6/Tk.m:53: undefined reference to `rl_event_hook'
/usr/lib/libtclobjc.a(Tk.o): In function `_i_Tk__initWithArgc_argv_':
/usr/lib/libtclobjc-1.1b6/Tk.m:138: undefined reference to `rl_event_hook'
/usr/lib/libtclobjc.a(Tk.o): In function `_i_Tk__stop':
/usr/lib/libtclobjc-1.1b6/Tk.m:152: undefined reference to
`rl_beg_of_line'
/usr/lib/libtclobjc-1.1b6/Tk.m:153: undefined reference to `rl_kill_line'
/usr/lib/libtclobjc-1.1b6/Tk.m:155: undefined reference to `rl_stuff_char'
/usr/lib/libtclobjc.a(Tk.o): In function `_i_Tk__promptAndEval':
/usr/lib/libtclobjc-1.1b6/Tk.m:180: undefined reference to `readline'
/usr/lib/libtclobjc-1.1b6/Tk.m:183: undefined reference to `add_history'
/usr/lib/libtcl.so: undefined reference to `dlerror'
/usr/lib/libtcl.so: undefined reference to `dlopen'
/usr/lib/libtcl.so: undefined reference to `dlsym'
make: *** [heatbugs] Error 1
---------------------------------------------------------------------------

I am guessing that these errors look familiar to you, since they are the
same ones I got when I tried to "make check" on libtclobjc. 

Please, tell me where I've gone wrong. It is making sense to me that I
should find a way to remove tcl7.6 and tk4.2, but given some previous
advice, I should be able to make it work with them.  There is probably 
something silly I'm missing, as usual.

Incidentally, I tried installing the [incr tcl] and [incr tk] upgrade
packages that are available from redhat.  The attempt to make libtclobjc
crashes much more dramatically with those libraries/headers, so I have
removed all traces of the [incr] material.  I've built BLT2.1 from the
source on the SantaFe site.  It compiles OK, demos work OK (even though
the make on bltwish produces lots of warnings).


Paul E. Johnson                           address@hidden
Dept. of Political Science                Office: (913) 864-9045
University of Kansas                      FAX: (913) 864-5700
Lawrence, Kansas 66045                    Home: (913) 842-9916                  
   


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