swarm-support
[Top][All Lists]
Advanced

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

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


From: Sven N. Thommesen
Subject: Reposting: Long suffering of Redhat 4.1 user with tcl7.6/tk4.2
Date: Wed, 25 Jun 1997 16:44:20 -0500

Ok,
here's the directions from my more recent battle with tcl/tk under RedHat.

--Sven

>Date: Thu, 17 Apr 1997 12:22:12 -0500
>To: address@hidden
>From: "Sven N. Thommesen" <address@hidden>
>Subject: Re: Long suffering of Redhat 4.1 user with tcl7.6/tk4.2 
>Cc: Paul Johnson <address@hidden>, Hal L DeVore <address@hidden>
>
>At 10:57 AM 4/17/97 -0500, Hal L DeVore wrote:
>>
>>address@hidden said:
>>> The short answer to your woes is (a) to install and compile the
>>> sources for tcl and tk off the RedHat CD, and (b) make sure the linker
>>> finds the correct version of blt by updating /etc/ld.so.conf and
>>> running ldconfig. 
>>
>>No, that's NOT necessary.  I've got swarm running on Red Hat Linux 4.1 
>>without doing that.  At least I've been able to compile and run all the 
>>tutorials and the heatbugs program.
>>
>
>Well,
>
>perhaps Hal has better karma than I do :-) 
>
>Or, he forgot some of the steps he took. Or, his 'stock' RedHat 4.1 is
different from my RedHat 4.1 (updated from 3.0.3). Or, he's using the
binary release of Swarm instead of the archive. The number of variables is
near infinite ...
>
>I'm addressing the use of the 'archive' version of Swarm. 
>There were two issues: 
>
>(a) since RH4.1 comes with blt 1.9, and we want blt 2.1, you either
uninstall blt 1.9 or you need to make sure Swarm finds 2.1 when linking.
>(b) when compiling blt, I got a fatal error where 'tkInt.h' was not found.
Such a file was nowhere to be found on my system, hence the need for sources.
>
>So, if your path to Nirvana is not as smooth as Hal's, here are the steps
I took. Perhaps some of this is the bit *you* need! 
>
>1. Mount RedHat cd-rom #2 (on my system, on /mnt/cdrom).
>
>2. # rpm -i /mnt/cdrom/SRPMS/tcltk-7.6_4.2-2.src.rpm
>
>This places into directory /usr/src/redhat/SOURCES these files:
>       tcl7.6.tar.gz
>       tcl7.6-foobar.patch
>       tk4.2.tar.gz
>
>3. Move those files (or copy them) down to /usr/src. Then:
>       # cd /usr/src
>       # tar -xzvf tk4.2.tar.gz
>       # tar -xzvf tcl7.6.tar.gz
>       # patch < tcl7.6-foobar.patch
>
>4. Build the tcl source:
>       # cd /usr/src/tcl7.6
>       # ./configure --prefix=/usr/local
>       # make
>       # make install
>
>5. Build the tk source:
>       # cd /usr/src/tk4.2
>       # ./configure --prefix=/usr/local
>       # make libtk4.2a
>       # make wish     // not strictly needed
>       # make install
>
>       (After ./configure, check the Makefile and see that
>        TCL_GENERIC_DIR=/usr/src/tcl7.6/generic
>        TCL_BIN_DIR=/usr/src/tcl7.6/unix)
>
>
>6. Build libtclobjc: unpack the source into /usr/src/libtclobjc-1.1b6
>       # ./configure --prefix=/usr/local
>       (You will be asked for the locations of tcl and tk,
>        which are both in /usr/local/lib)
>       # make
>       # make install
>
>
>7. Build the blt source:
>       (I'm assuming you have unpacked the blt source into
>        /usr/src/blt2.1 and applied Glen's patch.)
>
>       # cd /usr/src/blt2.1
>       # ./configure --prefix=/usr/local
>       # make
>       # make install
>
>       (If there's problems, check in config.BLT that:
>        TCLINCDIR=/usr/src/tcl7.6/generic
>        TCLLIBDIR=/usr/local/lib
>        TKINCDIR=/usr/src/tk4.2/generic
>        TKLIBDIR=/usr/local/lib
>        XLIBDIR=/usr/X11R6/lib
>        XINCDIR=/usr/X11R6/include
>        PREFIX=/usr/local)
>
>8. Make a missing link:
>       # cd /usr/local/lib
>       # ln -s libBLT.so.2.1 libBLT.so.2
>       # ln -s libBLT.so.2.1 libBLT.so
>
>9. Update the linker database:
>       Add "/usr/local/lib" as the first line in /etc/ld.so.conf, then:
>       # ldconfig
>
>       'ldconfig -p' will print out the database of libraries found.
>       Check that the list includes:
>               libtk.so
>               libtk4.2.so
>               libtcl.so
>               libtcl7.6.so
>               libBLT.so.2 => /usr/local/lib/libBLT.so.2.1
>               libBLT.so.1.9 => /usr/lib/libBLT.so.1.9
>               libBLT.so => /usr/lib/libBLT.so 
>                       
>
>10. Edit $SwarmHome/Makefile.conf: (this is my setup, amend as needed!)
>
>SETUP=NONE
>SYS=linux
>LDCONFIG=archive
>
>OTHERINCDIRS=  -i/usr/X11R6/include \
>                       -I/usr/src/tcl7.6/generic \
>                       -I/usr/src/tk4.2/generic \
>                       -I/usr/src/blt2.1/include \
>                       -I/usr/src/libtclobjc-1.1b6/include
>
>OTHERLIBDIRS=  -L/usr/X1R6/lib \
>                       -L/usr/local/lib        \
>                       -L/usr/lib                      // the last 2 may not 
> be needed
>
>SYSDEPLIBS= -ldl
>
>
>11. 'make' your application. Then see what dynamic libraries were linked
in by running # ldd ./app-name. If all went well, the list should be headed
by:
>       libBLT.so.2
>       libtk.so
>       libtcl.so
>
>
>If Swarm found blt 1.9 instead of 2.1, you'll get a huge number of tcl/tk
errors reported on the console.
>
>(Whew! That was my good deed for the day :-)
>
>Happy Swarming!
>--Sven
>
>PS: there is reason to believe that using the binary distribution might be
a tad easier ;-)
>

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