SCIENTIFIC-LINUX-USERS Archives

May 2008

SCIENTIFIC-LINUX-USERS@LISTSERV.FNAL.GOV

Options: Use Monospaced Font
Show Text Part by Default
Show All Mail Headers

Message: [<< First] [< Prev] [Next >] [Last >>]
Topic: [<< First] [< Prev] [Next >] [Last >>]
Author: [<< First] [< Prev] [Next >] [Last >>]

Print Reply
Subject:
From:
Shane Voss <[log in to unmask]>
Reply To:
Shane Voss <[log in to unmask]>
Date:
Mon, 12 May 2008 22:25:10 +0100
Content-Type:
text/plain
Parts/Attachments:
text/plain (66 lines)
Jon Peatfield wrote:
> On Mon, 12 May 2008, Shane Voss wrote:
> 
>> John Summerfield wrote:
> <snip>
>>> >  Am I missing something?
>>> > >     Shane
>>> >
>>>  This?
>>>         package require Tclx
>>>
>>
>> Sorry John, I've either missed something else or you need to use more 
>> words.
>>
>> On my system, I have installed   tclx  using the above named RPM.
>> I can see that it has installed  /usr/lib/tclx8.4/libtclx8.4.so  but 
>> when I then try to run an executable which has been built against it, 
>> it fails to load because that file can't be found.
>>
>> If I tweak my system or my environment I can make it work.  My 
>> question is shouldn't a well behaved RPM do that for me?
> 
> Code using the tclsh/wish interpretter should just need to ask for the 
> tclx to be loaded using the package require magic.
> 
> Recent versions of tclx are implemented as a tcl extension and the 
> loading of any shared libraries (as needed) happens when the tcl 
> interpretter pulls in the tclx package.
> 
> If a binary is explictly linked against libtclx (part of the 
> requirements for some embeded tcl/tclx stuff perhaps) then it almost 
> certainly wasn't compiled against *this* version of tcl/tclx - so all 
> bets are probably off and who can tell if it will work.
> 
> In earlier versions of sl (3,4 anyway) the tclx (8.3.x) package was 
> rather more complicated because it essentially was a complete additional 
> tcl system (and it provided the the /usr/bin/tcl, /usr/bin/wishx 
> commands etc).  With sl5 the tcl is the newer 8.4 release so tclx no 
> longer needs to implement so much itself...  Also note that many 
> features from tclx have migrated over to standard tcl over the years so 
> the code might not actually need tclx any more.
> 
> See http://wiki.tcl.tk/207 for a bit more info about tclx history.
> 
> What binaries do you have that explicitly link against libtclx?  Where 
> were they built?  What does ldd show them as requesting?  Maybe the app 
> just needs rebuilding, or if it dates from before tcl-8.4 it might need 
> a bit more work first.
> 
> So why does the tclx rpm run ldconfig in %post etc?  I don't know for 
> sure but just *maybe* that is to cope with an upgrade from the older 
> tclx which did put libtclx etc into %{_libdir} (/usr/lib{,64}/ as 
> appropriate).
> 

Thanks very much Jon.  You've sent me in the right direction I think.
I'm trying out Environment Modules ( http://modules.sourceforge.net/ ).
Following your comments, I will try using the pure Tcl (beta) version - 
it looks a lot cleaner despite the beta tag.

I guess the TclX RPM may still be broken, but I'm less worried about it. 
  I think I even understand why nobody else has noticed!

    Shane

ATOM RSS1 RSS2