View Issue Details Jump to Notes ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0015279VTK(No Category)public2015-01-25 16:312016-08-12 09:55
ReporterMike Landis 
Assigned ToBen Boeckel (Kitware) 
PrioritynormalSeverityminorReproducibilityhave not tried
StatusclosedResolutionmoved 
PlatformOSOS Version
Product Version6.1.0 
Target Version6.3.0Fixed in Version 
Summary0015279: missing libvtkCommonCoreTCL-6.1.so on FedoraCore21
Descriptionon FedoraCore21.i686 running the simple cone example (code attached)

couldn't load file "/usr/share/libvtkCommonCoreTCL-6.1.so": /usr/share/libvtkCommonCoreTCL-6.1.so: cannot open shared object file: No such file or directory
attempt to provide package vtkCommonCoreTCL 6.1 failed: no version of package vtkCommonCoreTCL provided
attempt to provide package vtkcommoncore 6.1 failed: no version of package vtkcommoncore provided
Error in startup script: attempt to provide package vtk 6.1 failed: no version of package vtk provided
    ("package ifneeded vtk 6.1" script)
    invoked from within
"package.orig require vtk"
    ("eval" body line 1)
    invoked from within
"eval package.orig $args"
    (procedure "package" line 2)
    invoked from within
"package require vtk"
    (file "vtkConeEx.tcl" line 1)

appears to be same as Debian bug #773424 <https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=773424> [^]

Packages vtk-6.1.0-18.fc21.i686 and 1:tcl-8.6.3-1.fc21.i686 installed, but no libvtkCommonCoreTCL-6.1.so found in any directory
TagsNo tags attached.
ProjectTBD
Typecrash
Attached Files? file icon vtkConeEx.tcl [^] (164 bytes) 2015-01-25 16:31

 Relationships

  Notes
(0034108)
Mike Landis (reporter)
2015-01-25 16:35

vtk-tcl-6.1.0-18.fc21.i686 also installed
(0034145)
Orion Poplawski (reporter)
2015-02-03 17:46

Debian appears to have moved all of the *TCL* libraries into /usr/lib and dropped the soname suffix (e.g. .so.1 -> .so).

The Fedora build uses:

 -DVTK_CUSTOM_LIBRARY_SUFFIX="" \
 -DVTK_INSTALL_LIBRARY_DIR:PATH=%{_lib}/vtk \
 -DVTK_INSTALL_TCL_DIR:PATH=share/tcl%{tcl_version}/vtk \

We get:

/usr/lib64/vtk/libvtkCommonCoreTCL.so.1

Looks like vtk's tcl loader assumes too much:

    ::vtk::init::load_library_package {vtk${kit}TCL} {[file dirname [file dirname [file dirname [info script]]]]}

    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]} {
          puts $errorMessage
        }
        cd $currentDirectory
      }
    }

Needs to know the directory the libraries are in, and needs take into account library suffix or not.
(0034146)
Orion Poplawski (reporter)
2015-02-03 17:50

if(DEFINED VTK_CUSTOM_LIBRARY_SUFFIX)
    set(_lib_suffix "${VTK_CUSTOM_LIBRARY_SUFFIX}")
  else()
    set(_lib_suffix "-${VTK_MAJOR_VERSION}.${VTK_MINOR_VERSION}")
  endif()
  set_property(TARGET ${_name} PROPERTY OUTPUT_NAME ${_vtk}${_name}${_lib_suffix})

this _lib_suffix needs to get propagated to:

Wrapping/Tcl/pkgIndex.tcl.in:
        set libFile [file join $libPath "$libPrefix$libName-@VTK_MAJOR_VERSION@.@VTK_MINOR_VERSION@$libExt"]
(0034147)
Orion Poplawski (reporter)
2015-02-03 17:55

It seems like in Wrapping/Tcl/CMakeLists.txt VTK_TCL_LIBRARY_DIR gets set in two places:

if(VTK_TCL_CONFIGURATION_TYPES)
  foreach(config ${VTK_TCL_CONFIGURATION_TYPES})
    set(VTK_TCL_LIBRARY_DIR "${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/${config}")
    configure_file(${VTK_SOURCE_DIR}/Wrapping/Tcl/pkgIndex.tcl.in
                   ${VTK_BINARY_DIR}/Wrapping/Tcl/${config}/pkgIndex.tcl
                   @ONLY)
  endforeach()
else()
  set(VTK_TCL_LIBRARY_DIR "${CMAKE_LIBRARY_OUTPUT_DIRECTORY}")
  configure_file(${VTK_SOURCE_DIR}/Wrapping/Tcl/pkgIndex.tcl.in
                 ${VTK_BINARY_DIR}/Wrapping/Tcl/pkgIndex.tcl
                 @ONLY)
endif()


and then later:

IF(UNIX)
  SET(VTK_TCL_LIBRARY_DIR "[file dirname [file dirname [file dirname [info script]]]]")
ELSE(UNIX)
  SET(VTK_TCL_LIBRARY_DIR
      "[file join [file dirname [file dirname [file dirname [file dirname [info script]]]]] bin]")
(0034149)
Orion Poplawski (reporter)
2015-02-03 18:21

Other probable locations needing fixing:

VTK.git/Wrapping/Tcl/vtkbase/vtkbase.tcl.in: set libname [file join $dir ${prefix}${name}-@VTK_MAJOR_VERSION@.@VTK_MINOR_VERSION@${ext}]

VTK.git/CMake/vtkModuleMacros.cmake: set(_lib_suffix "-${VTK_MAJOR_VERSION}.${VTK_MINOR_VERSION}")

VTK.git/ThirdParty/hdf5/vtkhdf5/config/cmake/HDFMacros.cmake: set(_lib_suffix "-${VTK_MAJOR_VERSION}.${VTK_MINOR_VERSION}")
(0034151)
Orion Poplawski (reporter)
2015-02-03 19:06

This should fix the library path issue:

--- VTK-6.1.0/Wrapping/Tcl/CMakeLists.txt.tcllib 2014-01-22 08:55:41.000000000 -0700
+++ VTK-6.1.0/Wrapping/Tcl/CMakeLists.txt 2015-02-03 16:12:42.635456315 -0700
@@ -261,7 +261,7 @@ endforeach()
 # Configure the Tcl package index file for the install tree.
 SET(VTK_TCL_SCRIPT_DIR "[file dirname [info script]]")
 IF(UNIX)
- SET(VTK_TCL_LIBRARY_DIR "[file dirname [file dirname [file dirname [info script]]]]")
+ SET(VTK_TCL_LIBRARY_DIR "${CMAKE_INSTALL_PREFIX}/${VTK_INSTALL_LIBRARY_DIR}")
 ELSE(UNIX)
   SET(VTK_TCL_LIBRARY_DIR
       "[file join [file dirname [file dirname [file dirname [file dirname [info script]]]]] bin]")


For the Fedora build I've just hacked off the suffix in the tcl.in files. A proper fix would propagate a VTK_LIBRARY_SUFFIX variable.
(0034152)
Orion Poplawski (reporter)
2015-02-03 23:55

Mike - try https://admin.fedoraproject.org/updates/vtk-6.1.0-23.fc21 [^]
(0034158)
Dave DeMarle (administrator)
2015-02-05 11:52

@Orion - is the patch complete?

@ Ben, is this patch:
* in the set you scooped up for inclusion in vtk master?
* unlikely to break anything? - if so let's hold off merging until the imminent 6.2 release is over
(0034166)
Orion Poplawski (reporter)
2015-02-05 12:23

No the patch only addresses the library location issue, but not the library suffix issue. I've got a Fedora specific patch in place, so I'm happy for now.
(0034189)
Dave DeMarle (administrator)
2015-02-07 20:16

Thanks, ping us after the 6.2 release please and if we need the big guns, we'll get Dave Gobbi's attention. :)
(0037362)
Kitware Robot (administrator)
2016-08-12 09:55

Resolving issue as `moved`.

This issue tracker is no longer used. Further discussion of this issue may take place in the current VTK Issues page linked in the banner at the top of this page.

 Issue History
Date Modified Username Field Change
2015-01-25 16:31 Mike Landis New Issue
2015-01-25 16:31 Mike Landis File Added: vtkConeEx.tcl
2015-01-25 16:35 Mike Landis Note Added: 0034108
2015-02-03 17:46 Orion Poplawski Note Added: 0034145
2015-02-03 17:50 Orion Poplawski Note Added: 0034146
2015-02-03 17:55 Orion Poplawski Note Added: 0034147
2015-02-03 18:21 Orion Poplawski Note Added: 0034149
2015-02-03 19:06 Orion Poplawski Note Added: 0034151
2015-02-03 23:55 Orion Poplawski Note Added: 0034152
2015-02-05 11:46 Dave DeMarle Assigned To => Ben Boeckel (Kitware)
2015-02-05 11:52 Dave DeMarle Note Added: 0034158
2015-02-05 12:23 Orion Poplawski Note Added: 0034166
2015-02-07 20:16 Dave DeMarle Note Added: 0034189
2015-02-07 20:18 Dave DeMarle Product Version => 6.1.0
2015-02-07 20:18 Dave DeMarle Target Version => 6.3.0
2016-08-12 09:55 Kitware Robot Note Added: 0037362
2016-08-12 09:55 Kitware Robot Status backlog => closed
2016-08-12 09:55 Kitware Robot Resolution open => moved


Copyright © 2000 - 2018 MantisBT Team