



Hello,
I'm trying to load a swig module (a shared object file) using the ActiveTCL 8.4 distribution of Tcl/Tk. I know the .so is built correctly, because I can load and use it with the RedHat distribution of Tcl/Tk. Here's the error I'm getting:
[fischega@master swig]$ ./cctest.tcl
Error in startup script: couldn't load file "example.so": example.so: cannot open shared object file: No such file or directory
while executing
"load example.so"
(file "./cctest.tcl" line 5)
Is there something special I need to do to get this to work? I've tried adding the working directory to LD_LIBRARY_PATH and I've compiled against the ActiveTCL version of tcl.h. Still no luck. Any ideas?
Thanks,
Greg
You should be able to load swig-built modules into ActiveTcl without problem. In general swig does not create stubs-enabled modules, which limits you to only using them in the same version of Tcl against which you compiled it (and you can't use it in basekits). That said, from your error, my first guess might be that some other library is needed as a dependency that isn't found. What does 'ldd example.so' give you? It should not have any "not found" dependencies.
Hm...
Here's the output of "ldd example.so"
libc.so.6 => /lib64/tls/libc.so.6 (0x0000002a9568b000)
/lib64/ld-linux-x86-64.so.2 (0x000000552aaaa000)
I'm guessing ActiveTcl is compiled against some flavor of x86-32. Could this be the source of my problems?
Greg
There are both 64-bit and 32-bit Linux ActiveTcl binaries available. You probably have the 32-bit one installed. Just grab the other and try again.
Yup, got it. Thanks.