Bug 462406

Summary: vtk-devel misses dependencies: mesa-libOSMesa-devel, expat-devel
Product: [Fedora] Fedora Reporter: Torsten Rohlfing <rohlfing>
Component: vtkAssignee: Axel Thimm <axel.thimm>
Status: CLOSED DUPLICATE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: medium    
Version: 12CC: orion
Target Milestone: ---Keywords: Reopened, Triaged
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2010-07-05 19:59:35 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Torsten Rohlfing 2008-09-15 22:34:29 UTC
Description of problem:

The VTK library dependencies /usr/lib/vtk-5.0/VTKLibraryDepends.cmake list /usr/lib/libOSMesa.so, which does not exist (i.e., is not provided by current mesa-libOSMesa-7.1-0.37.fc9.i386.rpm)

Version-Release number of selected component (if applicable):

vtk-devel-5.0.4-21.fc9

How reproducible:

Build project using CMake that is supposed to use VTK.

Steps to Reproduce:
1. Include "FindVTK.cmake" in CMakeList.txt
2. Include "UseVTK.cmake" in CMakeList.txt
3. Add application build definition, then cmake, make.
  
Actual results:

make[2]: *** No rule to make target `/usr/lib/libOSMesa.so', needed by `bin/align_landmarks'.  Stop.

Expected results:

Should build user application and link against /usr/lib/libOSMesa.so.6

Additional info:

Same problem exists on x86_64 platform, with /usr/lib64/libOSMesa.so not existing.

Comment 1 Orion Poplawski 2008-09-16 16:26:48 UTC
Install mesa-libOSMesa-devel to get libOSMesa.so.  vtk-devel probably should have a Requires: mesa-libOSMesa-devel added.

Comment 2 Torsten Rohlfing 2008-09-16 16:59:42 UTC
Yes, installing mesa-libOSMesa-devel fixes the problem. 

I agree that adding the dependency would make sense, although I am not entirely sure why mesa-libOSMesa-devel adds the "libOSMesa.so" symbolic link, when mesa-libOSMesa adds a symbolic link "libOSMesa.so.6"; but I guess that's beside the point as far as the vtk packages are concerned.

In the alternative, is it possible to build VTK in such a way that it is built against libOSMesa.so.6 rather than libOSMesa.so? This way, RPM dependencies could be maintained, and one would avoid the otherwise unnecessary installation of the libOSMesa devel package.

Comment 3 Axel Thimm 2008-09-16 19:59:09 UTC
Torsten, thanks for reporting - Orion's suggestion is correct, the dependency is simply missing in *-devel.

As to *.so vs *.so.<number>: The latter is already automatically picked up by rpm for the runtime components, but the *.so is what you want to build against (which is just a symlink, but still is the first order link target).

There is a new vtk pending anyway due to a new upstream release. Until the package is hammered up, please just install mesa-libOSMesa-devel wherever you use vtk-devel in the way you quote above.

Comment 4 Torsten Rohlfing 2008-09-16 20:37:07 UTC
For what it's worth: VTK also requires /usr/lib64/libexpat.so, but the provider package, expat-devel, is not an RPM dependency of vtk.

I assume that's not worth a separate bug report?

Comment 5 Orion Poplawski 2008-09-18 16:55:42 UTC
Of course, it's all going to depend on what VTK libraries you use as to what other -devel packages you need.  Not sure you want to add all of them as requires to vtk-devel.

/usr/lib/vtk-5.0/VTKLibraryDepends.cmake:

SET(vtkCommonTCL_LIB_DEPENDS "vtkCommon;/usr/lib/libtcl.so;m;")
SET(vtkIO_LIB_DEPENDS "vtkFiltering;vtkDICOMParser;/usr/lib/libpng.so;/usr/lib/libz.so;/usr/lib/libz.so;/usr/lib/libjpeg.so;/usr/lib/libtiff.so;/usr/lib/libexpat.so;")
SET(vtkRendering_LIB_DEPENDS "vtkGraphics;vtkImaging;vtkIO;vtkftgl;/usr/lib/libfreetype.so;/usr/lib/libz.so;/usr/lib/libGL.so;/usr/lib/libOSMesa.so;-lXt;-lSM;-lICE;-lSM;-lICE;/usr/lib/libX11.so;/usr/lib/libXext.so;/usr/lib/libX11.so;/usr/lib/libXext.so;")
SET(vtkRenderingPythonTkWidgets_LIB_DEPENDS "vtkRendering;/usr/lib/libtk.so;/usr/lib/libtcl.so;m;")
SET(vtkRenderingTCL_LIB_DEPENDS "vtkRendering;vtkGraphicsTCL;vtkImagingTCL;/usr/lib/libtk.so;/usr/lib/libtcl.so;m;")
SET(vtkVolumeRendering_LIB_DEPENDS "vtkRendering;vtkIO;/usr/lib/libOSMesa.so;")
SET(vtkftgl_LIB_DEPENDS "/usr/lib/libGL.so;/usr/lib/libfreetype.so;")
SET(QVTK_LIB_DEPENDS "/usr/lib/qt-3.3/lib/libqt-mt.so;vtkRendering;vtkGraphics;vtkImaging;vtkCommon;")
SET(QVTKWidgetPlugin_LIB_DEPENDS "/usr/lib/qt-3.3/lib/libqt-mt.so;vtkRendering;vtkIO;vtkImaging;vtkGraphics;vtkFiltering;vtkCommon;")

Comment 6 Bug Zapper 2009-06-10 02:43:40 UTC
This message is a reminder that Fedora 9 is nearing its end of life.
Approximately 30 (thirty) days from now Fedora will stop maintaining
and issuing updates for Fedora 9.  It is Fedora's policy to close all
bug reports from releases that are no longer maintained.  At that time
this bug will be closed as WONTFIX if it remains open with a Fedora 
'version' of '9'.

Package Maintainer: If you wish for this bug to remain open because you
plan to fix it in a currently maintained version, simply change the 'version' 
to a later Fedora version prior to Fedora 9's end of life.

Bug Reporter: Thank you for reporting this issue and we are sorry that 
we may not be able to fix it before Fedora 9 is end of life.  If you 
would still like to see this bug fixed and are able to reproduce it 
against a later version of Fedora please change the 'version' of this 
bug to the applicable version.  If you are unable to change the version, 
please add a comment here and someone will do it for you.

Although we aim to fix as many bugs as possible during every release's 
lifetime, sometimes those efforts are overtaken by events.  Often a 
more recent Fedora release includes newer upstream software that fixes 
bugs or makes them obsolete.

The process we are following is described here: 
http://fedoraproject.org/wiki/BugZappers/HouseKeeping

Comment 7 Bug Zapper 2009-07-14 16:51:41 UTC
Fedora 9 changed to end-of-life (EOL) status on 2009-07-10. Fedora 9 is 
no longer maintained, which means that it will not receive any further 
security or bug fix updates. As a result we are closing this bug.

If you can reproduce this bug against a currently maintained version of 
Fedora please feel free to reopen this bug against that version.

Thank you for reporting this bug and we are sorry it could not be fixed.

Comment 8 Axel Thimm 2009-07-15 10:41:11 UTC
I need to check whether this is really fixed or not, setting to rawhide.

Comment 9 Axel Thimm 2009-07-23 09:55:12 UTC
(In reply to comment #4)
> For what it's worth: VTK also requires /usr/lib64/libexpat.so, but the provider
> package, expat-devel, is not an RPM dependency of vtk.
> 
> I assume that's not worth a separate bug report?  

Torsten, can you point me to where vtk (runtime/devel) requires libexpat.so? I'd like to collect all pieces for vtk-devel. Thanks!

Comment 10 Torsten Rohlfing 2009-07-23 17:40:55 UTC
> Torsten, can you point me to where vtk (runtime/devel) requires libexpat.so?
> I'd like to collect all pieces for vtk-devel. Thanks!  

Axel: 

On x86_64/F11, line 36 in /usr/lib64/vtk-5.2/VTKLibraryDepends.cmake says

  SET("vtkIO_LIB_DEPENDS" "general;vtkFiltering;general;vtkDICOMParser;general;vtkNetCDF;general;vtkmetaio;general;vtksqlite;general;/usr/lib64/libpng.so;general;/usr/lib64/libz.so;general;/usr/lib64/libz.so;general;/usr/lib64/libjpeg.so;general;/usr/lib64/libtiff.so;general;/usr/lib64/libexpat.so;general;vtksys;")

which has, among other, a dependency to /usr/lib64/libexpat.so. It seems that this link is currently provided by the expat-devel package.

Hope this helps. Thanks for being persistent :)

Comment 11 Bug Zapper 2009-11-16 09:26:50 UTC
This bug appears to have been reported against 'rawhide' during the Fedora 12 development cycle.
Changing version to '12'.

More information and reason for this action is here:
http://fedoraproject.org/wiki/BugZappers/HouseKeeping

Comment 12 Axel Thimm 2010-07-05 19:59:35 UTC

*** This bug has been marked as a duplicate of bug 605640 ***