Skip to content

configure should still install cmake files - #438

Merged
sylvestre merged 1 commit into
opencollab:masterfrom
sylvestre:cmake
Oct 15, 2023
Merged

sylvestre merged 1 commit into
opencollab:masterfrom
sylvestre:cmake

Conversation

@sylvestre

Copy link
Copy Markdown
Contributor

No description provided.

@sylvestre
sylvestre merged commit 569a385 into opencollab:master Oct 15, 2023
@mmuetzel

mmuetzel commented Sep 4, 2026

Copy link
Copy Markdown
Contributor

The CMake config files cannot be used on their own. They include the following line:

include("${CMAKE_CURRENT_LIST_DIR}/arpackngTargets.cmake")

The file arpackngTargets.cmake is generated by CMake. It isn't generated by the Makefile rules (nor by the configure script).
That leads to the odd situation that trying to use that config file in downstream CMake projects leads to the following fatal error:

CMake Error at /usr/lib/x86_64-linux-gnu/cmake/arpack-ng/arpackng-config.cmake:35 (include):
  include could not find requested file:

CMake doesn't support catching fatal errors and continuing execution.

On the other hand, if no CMake config files would be installed at all, CMake determines that gracefully in downstream projects, and they can fall back to alternative ways to locating ARPACK-ng.

See, e.g., ElmerCSC/elmerfem#907 where this came up with the version of ARPACK-ng that is distributed by Debian. That version is apparently built using the Makefile rules.

Would it be ok to revert this change?

mmuetzel added a commit to mmuetzel/arpack-ng that referenced this pull request Sep 4, 2026
The CMake config files contain the following instruction:
```
 include("${CMAKE_CURRENT_LIST_DIR}/arpackngTargets.cmake")
```

The file `arpackngTargets.cmake` is generated by CMake. It is not
generated by the Makefile rules (nor by the `configure` script).

That means that trying to use the CMake config files in downstream CMake
projects leads to a fatal error like the following:
```
CMake Error at /usr/lib/x86_64-linux-gnu/cmake/arpack-ng/arpackng-config.cmake:35 (include):
  include could not find requested file:
```

CMake does not support catching fatal errors and continuing execution.
That means that the configuration for downstream projects bails at that
point even if ARPACK-ng is actually correctly installed (apart from the
broken CMake config files).

On the other hand, if no CMake config files are installed at all, CMake
determines that gracefully in downstream projects. If that should happen,
these projects can fall back to alternative ways to locating ARPACK-ng
(e.g., using the pkg-config files or looking at default locations).

This reverts opencollab#438 to avoid this error.
mmuetzel added a commit to mmuetzel/arpack-ng that referenced this pull request Sep 4, 2026
The CMake config files contain the following instruction:
```
 include("${CMAKE_CURRENT_LIST_DIR}/arpackngTargets.cmake")
```

The file `arpackngTargets.cmake` is generated by CMake. It is not
generated by the Makefile rules (nor by the `configure` script).

That means that trying to use the CMake config files in downstream CMake
projects leads to a fatal error like the following:
```
CMake Error at /usr/lib/x86_64-linux-gnu/cmake/arpack-ng/arpackng-config.cmake:35 (include):
  include could not find requested file:
```

CMake does not support catching fatal errors and continuing execution.
That means that the configuration for downstream projects bails at that
point even if ARPACK-ng is actually correctly installed (apart from the
broken CMake config files).

On the other hand, if no CMake config files are installed at all, CMake
determines that gracefully in downstream projects. If that should happen,
these projects can fall back to alternative ways to locating ARPACK-ng
(e.g., using the pkg-config files or looking at default locations).

This reverts opencollab#438 to avoid this error.
@mmuetzel

mmuetzel commented Sep 4, 2026

Copy link
Copy Markdown
Contributor

I opened #492 that reverts this PR.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants