Subject: | |
From: | |
Reply To: | |
Date: | Mon, 12 May 2008 22:25:10 +0100 |
Content-Type: | text/plain |
Parts/Attachments: |
|
|
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
|
|
|