Red Hat Bugzilla – Bug 462406
vtk-devel misses dependencies: mesa-libOSMesa-devel, expat-devel
Last modified: 2010-07-05 15:59:35 EDT
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):
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.
make: *** No rule to make target `/usr/lib/libOSMesa.so', needed by `bin/align_landmarks'. Stop.
Should build user application and link against /usr/lib/libOSMesa.so.6
Same problem exists on x86_64 platform, with /usr/lib64/libOSMesa.so not existing.
Install mesa-libOSMesa-devel to get libOSMesa.so. vtk-devel probably should have a Requires: mesa-libOSMesa-devel added.
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.
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.
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?
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.
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:
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.
I need to check whether this is really fixed or not, setting to rawhide.
(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!
> Torsten, can you point me to where vtk (runtime/devel) requires libexpat.so?
> I'd like to collect all pieces for vtk-devel. Thanks!
On x86_64/F11, line 36 in /usr/lib64/vtk-5.2/VTKLibraryDepends.cmake says
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 :)
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:
*** This bug has been marked as a duplicate of bug 605640 ***