Sujet : Re: Packages won't run on Tcl/Tk 9.0
De : apnmbx-public (at) *nospam* yahoo.com (Ashok)
Groupes : comp.lang.tclDate : 28. Sep 2024, 18:46:57
Autres entêtes
Organisation : A noiseless patient Spider
Message-ID : <vd9feh$1bifp$1@dont-email.me>
References : 1
User-Agent : Mozilla Thunderbird
Sounds like Tcl 9 / Tcl 8 builds mixed up. My guess is the Tcl 9 build is picking up either Tcl 8 headers or stubs from somewhere or those packages have not been updated for Tcl 9. Extensions that use the standard TEA system for builds (and have been updated for Tcl 9) should have a tcl9 prefix in the shared library name. Your output does not reflect that which is suspicious unless those extensions do not use TEA.
Where did you get the tclvfs from?
Can you post your configure line?
/Ashok
On 9/28/2024 11:19 AM, Luc wrote:
I successfully compiled Tcl and Tk 8.6.15 and 9.0.
No problem whatsoever with 8.6.15 so far.
Tcl/Tk 9.0 runs a couple of simpler applications but chokes on a
more complex one:
--------------------
cannot find symbol "tkdnd_Init": /opt/tcltk9/lib/tkdnd2.6/libtkdnd2.6.so:
undefined symbol: _tkdnd_Init while executing
"load $dir/$PKG_LIB_FILE $PACKAGE_NAME"
(procedure "tkdnd::initialise" line 92)
invoked from within
"tkdnd::initialise {/opt/tcltk9/lib/tkdnd2.6} libtkdnd2.6.so tkdnd"
("package ifneeded tkdnd 2.6" script)
invoked from within
"package require tkdnd"
(file "v.tcl" line 4)
Compilation failed.
--------------------
Yes, my version of tkdnd is quite old. I'm not even using it yet.
I haven't written the code. But it is package required for the sake
of the future.
So I fetched a newer version. Tck/Tk 9.0 doesn't like it either:
--------------------
interpreter uses an incompatible stubs mechanism
while executing
"load $dir/$PKG_LIB_FILE [string totitle $PACKAGE_NAME 0 0]"
(procedure "tkdnd::initialise" line 94)
invoked from within
"tkdnd::initialise {/opt/tcltk9/lib/tkdnd2.9.4} libtkdnd2.9.4.so tkdnd"
("package ifneeded tkdnd 2.9.4" script)
invoked from within
"package require tkdnd"
(file "v.tcl" line 4)
Compilation failed.
--------------------
What is going on now? Well, I commented out the tkdnd line and found
that I have a similar problem with snack:
--------------------
interpreter uses an incompatible stubs mechanism
while executing
"load /usr/lib/tcltk/snack2.2/libsound.so"
("package ifneeded sound 2.2" script)
invoked from within
"package require sound"
(file "v.tcl" line 6)
Compilation failed.
--------------------
Is it too old too? Comment it out:
--------------------
interpreter uses an incompatible stubs mechanism
while executing
"load [file join $::vfs::self libvfs1.4.2.so]"
(file "/usr/lib/tcltk/x86_64-linux-gnu/vfs1.4.2/vfs.tcl" line 24)
invoked from within
"source /usr/lib/tcltk/x86_64-linux-gnu/vfs1.4.2/vfs.tcl"
("package ifneeded vfs 1.4.2" script)
invoked from within
"package require vfs"
(file "v.tcl" line 8)
Compilation failed.
--------------------
Removing references to vfs, I run into a variable that is no longer
recognized. OK, I will investigate that one on my own.
What about the packages? Why do they fail?
Note: I am running all this on Debian 9.
I wonder if this is related:
https://core.tcl-lang.org/tk/info/437d5d47664539497a827310263ad691e85f6ca829eb0cf77ad97edf55220b70