-
-
Notifications
You must be signed in to change notification settings - Fork 381
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
fatal error: itkLabelImageGenericInterpolateImageFunction.h: No such file or directory #1353
Comments
I think you need some additional modules in your ITK build ANTs/SuperBuild/External_ITKv5.cmake Lines 130 to 133 in ec91afc
|
I've rebuild the Debian package of ITK by setting:
but the header file in question was not created. The ants build fails with the same issue. The ITK version that is packaged for Debian is 5.2.1. |
I'm sorry this is proving difficult, many package developers have had similar problems because ANTs is quite tightly coupled to the ITK version indicated in the Superbuild. Separately of versioning, ANTs definitely needs the generic label interpolator. I don't know why it's not working when the flag is set. |
Enable MGHIO, GenericLabelInterpolator, and AdaptiveDenoising ITK modules, which are required by current versions of ANTs (e.g. 2.3.5 and 2.4.0); see, e.g., ANTsX/ANTs#1353 (comment), the Gentoo ANTs package, or the ANTs SuperBuild itself. Updating ANTs will, in particular, allow removal of itk4 and vtk_7 from Nixpkgs. Unfortunately, these ANTs releases do not build against the version of ITK (5.2.1) current in tree, so we need to either add another ITK 5.x version or wait until ITK is bumped to 5.3.x (currently still in beta) in Nixpkgs.
I encountered the same problem on Ubuntu 22.04. For me, the problem seems to be related to the The problem was resolved by modifying
|
@zc08 sounds like you're referring to ANTspy not ANTs |
@tillea Same problem on other distributions:
What's interesting with NixOS is that they:
Also, from this NixOS comment:
|
Regarding downloading anything in the build process in Debian: That's strictly forbidden. Everything needs to be packaged. If ITK is missing modules these need to be packaged separately (or included in the ITK package). |
I know about these Debian rules, but as far as I can understand, ANTs relies on unstable versions of ITK. In the case of Gentoo, packagers ship ITK 5.2.1, but ANTs require specific versions of the If I am not mistaken, you would need a system-wide unstable version of ITK to support ANT's 2.3.5 or 2.4, that is a Git commit instead of a release tag. Currently, ANTs requires InsightSoftwareConsortium/ITK@490b5c6 as indicated in the Superbuild: ANTs/SuperBuild/External_ITKv5.cmake Line 159 in 68ca30e
Is it OK to ship a specific commit system-wide, instead of a stable release, for the sake of a single package? Note that ITK 5.3.0 was released on 24 November 2022, but commit InsightSoftwareConsortium/ITK@490b5c6 is even more recent, merged on 4 January 2023, so even upgrading ITK from 5.2.1 to 5.3.0 might not prove sufficient. |
Ah, wait, ANTs 2.4.3 (caa60eb) requires ITK 5.3.0 (InsightSoftwareConsortium/ITK@1fc47c7), a stable version, so upgrading ITK to 5.3.0 might be enough for ANTs 2.4.3: ANTs/SuperBuild/External_ITKv5.cmake Line 157 in caa60eb
ANTs 2.3.5 (6f13702) requires a specific commit of ITK, InsightSoftwareConsortium/ITK@e21a56d: ANTs/SuperBuild/External_ITKv5.cmake Line 155 in 6f13702
Commit InsightSoftwareConsortium/ITK@e21a56d is part of ANTs 5.2.0, 5.2.1 and 5.3.0 as far as I can see, but subsequent commits may have broken compatibility with ANTs 2.3.5 since NixOS need ITK 5.2.1 + specific commits for two modules to build ANTs:
So for both ANTs 2.3.5 and 2.4.3, ITK 5.3.0 should be OK. |
Am Thu, Mar 02, 2023 at 02:19:18AM -0800 schrieb Dimitri Papadopoulos Orfanos:
Ah, wait, ANTs 2.4.3 (caa60eb) requires ITK 5.3.0 (InsightSoftwareConsortium/ITK@1fc47c7), a stable version, so upgrading ITK to 5.3.0 might be enough for ANTs 2.4.3:
https://github.com/ANTsX/ANTs/blob/caa60eb4ad53d561f9ddd72b71a6baf2acac0078/SuperBuild/External_ITKv5.cmake#L157
Seems ANTs is a moving target. For the next stable release (bookworm) its to late anyway since we are in freeze. Once bookworm is released we can try upgrading ITK and see whether ANTs at that time will be compatible with it. Generally speaking relying on some specific commit of complex toolkits does not seem to be the best idea if the intention is to be distributed by universal distributions.
Kind regards, Andreas.
|
I am still confused because the ITK commit InsightSoftwareConsortium/ITK@e21a56d that is theoretically required and sufficient for ANTs 2.4.3 does not include these two commits that seem to be required by the NixOS build: Indeed, InsightSoftwareConsortium/ITK@e21a56d predates InsightSoftwareConsortium/ITK@1546a4c which pulled the latest ITK modules between 5.2.1 and 5.3.0: 1. Situation at commit InsightSoftwareConsortium/ITK@e21a56d (required by ANTs 2.3.5)Modules/Remote/GenericLabelInterpolator.remote.cmake GIT_REPOSITORY ${git_protocol}://github.com/InsightSoftwareConsortium/ITKGenericLabelInterpolator.git
GIT_TAG a02cbeaf28cb3d28ac66b9ac651073530eb6ab78 Modules/Remote/AdaptiveDenoising.remote.cmake GIT_REPOSITORY ${git_protocol}://github.com/ntustison/ITKAdaptiveDenoising.git
GIT_TAG ef309a1f050a2f7b1102f5024cf4997cd284266b 2. Situation at commit InsightSoftwareConsortium/ITK@1546a4c (pulls the ITK modules required by NixOS on top of InsightSoftwareConsortium/ITK@e21a56d) and InsightSoftwareConsortium/ITK@1fc47c7 (ITK release tag 5.3.0 and required by ANTs 2.4.3)Modules/Remote/GenericLabelInterpolator.remote.cmake GIT_REPOSITORY ${git_protocol}://github.com/InsightSoftwareConsortium/ITKGenericLabelInterpolator.git
GIT_TAG 2f3768110ffe160c00c533a1450a49a16f4452d9 Modules/Remote/AdaptiveDenoising.remote.cmake GIT_REPOSITORY ${git_protocol}://github.com/ntustison/ITKAdaptiveDenoising.git
GIT_TAG 24825c8d246e941334f47968553f0ae388851f0c Some investigation still needed... |
When did the error occur?
[ ] CMake configuration (cmake / ccmake)
[X] Compilation (make)
[ ] Installation (make install)
Build environment
ANTs version
2.3.5
Build configuration and logs
A full build log can be found in the Debian CI
The text was updated successfully, but these errors were encountered: