Ehat does the following error mean?
# tclsh8.4
% package require Mk4tcl
couldn't load file "/usr/opt/tcl84/lib/Mk4tcl2.4.9.7/libMk4tcl2.4.9.7.so": /usr/opt/tcl84/lib/Mk4tcl2.4.9.7/libMk4tcl2.4.9.7.so: Undefined symbol "_ZTVN10__cxxabiv117__class_type_infoE"
%
Thanks for any hint!
Roderick <hruodr@gmail.com> wrote:
Ehat does the following error mean?
# tclsh8.4
% package require Mk4tcl
couldn't load file "/usr/opt/tcl84/lib/Mk4tcl2.4.9.7/libMk4tcl2.4.9.7.so": >> /usr/opt/tcl84/lib/Mk4tcl2.4.9.7/libMk4tcl2.4.9.7.so: Undefined symbol
"_ZTVN10__cxxabiv117__class_type_infoE"
%
Best guess, based on the cxx in the middle, is a missing, or
incompatible C++ library.
What does ldd report for libMk4tcl2.4.9.7.so:
ldd /usr/opt/tcl84/lib/Mk4tcl2.4.9.7/libMk4tcl2.4.9.7.so
Ehat does the following error mean?
# tclsh8.4
% package require Mk4tcl
couldn't load file "/usr/opt/tcl84/lib/Mk4tcl2.4.9.7/libMk4tcl2.4.9.7.so": /usr/opt/tcl84/lib/Mk4tcl2.4.9.7/libMk4tcl2.4.9.7.so: Undefined symbol "_ZTVN10__cxxabiv117__class_type_infoE"
%
Hmm, unexpected. I expected to find ldd indicating that it requested another, missing, library.
Did you compile libMk4tcl2.4.9.7.so yourself, or was it already
compiled? If already compiled then it looks like maybe a version
missmatch with your Tcl binary files. But that's largely a guess on my
part, and this is rapidly exceeding my knowledge of how shared object
linking at runtime operates.
On Wed, 15 Dec 2021, Rich wrote:
Roderick <hruodr@gmail.com> wrote:
Ehat does the following error mean?
# tclsh8.4
% package require Mk4tcl
couldn't load file "/usr/opt/tcl84/lib/Mk4tcl2.4.9.7/libMk4tcl2.4.9.7.so": >>> /usr/opt/tcl84/lib/Mk4tcl2.4.9.7/libMk4tcl2.4.9.7.so: Undefined symbol
"_ZTVN10__cxxabiv117__class_type_infoE"
%
Best guess, based on the cxx in the middle, is a missing, or
incompatible C++ library.
What does ldd report for libMk4tcl2.4.9.7.so:
ldd /usr/opt/tcl84/lib/Mk4tcl2.4.9.7/libMk4tcl2.4.9.7.so
# ldd /usr/opt/tcl84/lib/Mk4tcl2.4.9.7/libMk4tcl2.4.9.7.so /usr/opt/tcl84/lib/Mk4tcl2.4.9.7/libMk4tcl2.4.9.7.so:
#
Interesting. No dependency, but needs a library!!!!
On Wed, 15 Dec 2021, Rich wrote:
Hmm, unexpected. I expected to find ldd indicating that it requested
another, missing, library.
Did you compile libMk4tcl2.4.9.7.so yourself, or was it already
compiled? If already compiled then it looks like maybe a version
missmatch with your Tcl binary files. But that's largely a guess on my
part, and this is rapidly exceeding my knowledge of how shared object
linking at runtime operates.
I compiled myself. No, it is not missmatch. I compiled it many times
before, with the same tcl84.
What changed is the environement, the OS version, the compiler.
Strange.
On Wed, 15 Dec 2021, Rich wrote:
Hmm, unexpected. I expected to find ldd indicating that it requested
another, missing, library.
I compiled myself. No, it is not missmatch. I compiled it many times
before, with the same tcl84.
What changed is the environement, the OS version, the compiler.
1) Is there a strong reason that you want Tcl 8.4 instead of a modern 8.6??
2) If you can use 8.5 or 8.6, maybe you can use an automated build system.
I compiled myself. No, it is not missmatch. I compiled it many times
before, with the same tcl84.
What changed is the environement, the OS version, the compiler.
Strange.
Very much so. Unfortunately I'm out of suggestions to try with the
news that you compiled it yourself. That should have resulted in a
working library.
Maybe someone else here will have some useful suggestions.
On Wed, 15 Dec 2021, Rich wrote:
I compiled myself. No, it is not missmatch. I compiled it many times
before, with the same tcl84.
What changed is the environement, the OS version, the compiler.
Strange.
Very much so. Unfortunately I'm out of suggestions to try with the
news that you compiled it yourself. That should have resulted in a
working library.
Maybe someone else here will have some useful suggestions.
After googling I found a possible explanation, but still no solution:
https://blog.spacepatroldelta.com/a?ID=00950-8a2a00e1-a7b6-47e8-a49b-7df1de18b2c5
It may have to do with the inflation of C and C++ compilers and
run time libraries in the system.
But changing LDFLAGS, CC in ./configure till now does not work.
Note that listing linker flags like -L and -l in CFLAGS usually makes no sense, since CFLAGS is meant for *compilation* flags like -g or -O.
On Thu, 16 Dec 2021, Christian Gollwitzer wrote:Hi,
1) Is there a strong reason that you want Tcl 8.4 instead of a modern 8.6??
It is to run an old, but very important piece of software (Grimms
German Dictionary in CD ROM), not written by me, I need:
tcl8.4.20
tk8.4.20
Tix8.4.3
BLT2.4z
metakit-2.4.9.7
mkZiplib10
I always run it with that, taking new version I may get incompatibilities. >Trying to compile metakit with tcl8.6 I get other errors.
2) If you can use 8.5 or 8.6, maybe you can use an automated build system.
I would be glad to have less dependencies ...
I'm a bit late, but how about solving your problem once and for all
(?) by means of a virtual machine?
Yes, that may be the use of virtual machines is a solution for theHi,
future, when there is no other chance.
But it is a program for consulting a dictionary that is also in the
internet. Then I have to decide between using my slow internet
connection or booting a system only for seeing a word entry.
Rod.
Sysop: | Keyop |
---|---|
Location: | Huddersfield, West Yorkshire, UK |
Users: | 285 |
Nodes: | 16 (2 / 14) |
Uptime: | 24:39:24 |
Calls: | 6,448 |
Files: | 12,050 |
Messages: | 5,254,262 |