Hi,
Don Armstrong <[email protected]> writes:
> $ echo 'package require vtk'|vtk6
> couldn't load file "/usr/lib/libvtkCommonCoreTCL-6.1.so":
> /usr/lib/libvtkCommonCoreTCL-6.1.so: cannot open shared object file:
> No such file or directory
[...]
> I suspect that something is giving a full path to dlopen instead of a
> library name, and fixing that will solve this problem.
I think the problem is in /usr/lib/tcltk/vtk-6.1/pkgIndex.tcl:
+---
| namespace eval ::vtk::init {
| proc load_library_package {libName libPath {libPrefix {lib}}} {
| #first try to load a static package, then try the shared package.
| if {[catch "load {} $libName"]} {
| set libExt [info sharedlibextension]
| set currentDirectory [pwd]
| set libFile [file join $libPath "$libPrefix$libName-6.1$libExt"]
| if {[catch "cd {$libPath}; load {$libFile}" errorMessage]} {
+---
So load_library_package is looking in a specific location for the shared
libraries, and later:
+---
| ::vtk::init::load_library_package {vtk${kit}TCL} {[file dirname [file
dirname [file dirname [info script]]]]}
+---
I assume `[info script]' refers to /usr/lib/tcltk/vtk-6.1/pkgIndex.tcl,
so this should look in /usr/lib and not the correct (multi-arch)
location.
As an alternative to changing this and if lib*TCL-6.1.so are not used
otherwise, one could move the shared objects out of the multi-arch
location to /usr/lib and into the tcl-vtk6 package.
Ansgar
--
To UNSUBSCRIBE, email to [email protected]
with a subject of "unsubscribe". Trouble? Contact [email protected]