FTBFS using the system VTK 6 on Ubuntu 14.04
ghisvail opened this issue · 5 comments
Seems that the version of VTK available on Ubuntu 14.04 cannot be used in C++11 mode. I get the same outcome as here and the relevant commit which fixes this issue only landed in 6.0.1.
We have a few options:
- Revert to using C++03 only.
- Keep C++11 support and require the minimum version of VTK to be 6.0.1.
Option 2 means people would need to install their personal version of VTK and build with it instead of using the system one on Ubuntu 14.04. FYI, Ubuntu 16.04 (the next LTS) is not far off and will have at least VTK 6.2, if not 6.3 which is already out. I also filed a bug report to Ubuntu MOTU, but with little hope it will be addressed.
I am personally in favour of bumping the minimum version of VTK. I believe it is not worth sacrificing support for C++11 for a dependency which has already been obsoleted by 3 minor versions.
Thoughts?
I also think we should go for a later version of VTK. Anyone who wants to build IRTK themselves should be able to build VTK beforehand and we can easily provide a super-build CMake script for VTK+IRTK (and other dependencies such as Eigen). I suspect researchers are generally quick to switch to the next Ubuntu version as soon as it's available. For others that are stuck with 14 a bit longer (e.g., due to department IT policies or whatever...), we could possibly provide our own VTK 6.3 Debian package specifically tailored to be linked with IRTK ? In a PPA ?
I also agree with regards to C++11, it would be a shame not to be able to take advantage of all those nifty features of the language in a refactored/newly written parts of the IRTK.
I suspect researchers are generally quick to switch to the next Ubuntu version as soon as it's available.
I would assume so.
we could possibly provide our own VTK 6.3 Debian package specifically tailored to be linked with IRTK ? In a PPA ?
That's what we thought with Jonathan too. Unfortunately it is not as simple because the DSO of the updated package need to be ABI compatible with the one packaged in Trusty currently. Otherwise we will break existing packages which depends on VTK and there are quite a few. Our best chance is to try rebuilding the VTK package with the cherry-picked fix and hope ABI compatibility is kept.
What about a IRTK Debian package that is statically linked to VTK for Ubuntu 14 users ?
What do you mean ?
That we could provide a binary IRTK package for Ubuntu 14 which was statically linked to a suitable build of VTK (with C++11 enabled and all the required components). These binaries don't need the shared libraries of the Ubuntu 14 VTK package because they were linked to static VTK libraries. The binary IRTK package for later Ubuntu versions would utilise the shared libraries of the system VTK installation, though.
(Building IRTK on Ubuntu 14 would of course still require a separate build of VTK from sources as well.)