Skip to content

Set install directories depending on target type#374

Merged
matekelemen merged 31 commits into
masterfrom
install-dir
Jun 1, 2026
Merged

Set install directories depending on target type#374
matekelemen merged 31 commits into
masterfrom
install-dir

Conversation

@matekelemen
Copy link
Copy Markdown
Contributor

KratosMultiphysics/Kratos#13374 attempts to merge changes from #373, but it looks like I made a mistake at the install stage.

This PR sets the install directory depending on the target type, which is different on Linux and Windows.

Works with Kratos on my (Linux) system but the real question is Windows.

@philbucher
Copy link
Copy Markdown
Member

seems that this fails several CI configs

@matekelemen
Copy link
Copy Markdown
Contributor Author

Yep, I'm on it. I opened the PR to run the CI (should have done a draft).

@matekelemen matekelemen marked this pull request as draft June 13, 2025 07:48
@matekelemen
Copy link
Copy Markdown
Contributor Author

matekelemen commented May 29, 2026

Ok I'm done, here's a digest.

  • Removed explicit C++ standard specifications from compiler flags. This used to hard-code C++11, regardless of what standard the parent project may rely on. This could lead to CoSimIO expecting to load and use a C++11 standard library, but actually link to another version at runtime. Now I set the standard to C++17 if there's no parent project or if the parent project never set CMAKE_CXX_STANDARD.
  • I had to update pybind11 because its ancient python detection script did not work with newer CMake versions. This also meant that I had to update some bindings (most notably bound iterator ranges) and macro arguments.
  • I changed the location where shared objects get installed. On UNIX-like systems, they get installed to <install-dir>/libs while on Windows it's <install-dir>/bin. It used to be the latter for all systems, which caused quite a few headaches on newer Linux distros.
  • I removed IntelMPI from the CI. It hangs on import_export_mesh_cpp_mpi_test_2 with any compiler, and I just don't have the time to do another dive into intel's dying software stack.
  • I updated the python version used in the Rocky CI. @pooyan-dadvand @loumalouomega @ddiezrod I've had issues with Kratos' Rocky docker image in the past. At some point it got silently updated, and moved from python3.8 to python3.10 even though the default python is python3.11. This means that the image is built with some custom assumptions I have no idea about, and had to manually sift through its definition and environment. I am not going to do it again. Going forward, if I see failure unique to Rocky, I'll report it to you, and drop Rocky from the CI if it does not get fixed.
  • The C/C++ MacOS job consistently segfaults/crashes in the CI. I have no means of debugging it, and I am going to remove it from the list of required jobs. Actually, I can't do it because I'm not an owner nor an admin of this project.

@matekelemen matekelemen marked this pull request as ready for review May 29, 2026 12:49
@loumalouomega
Copy link
Copy Markdown
Member

* I updated the python version used in the Rocky CI. @pooyan-dadvand @loumalouomega @ddiezrod I've had issues with Kratos' Rocky docker image in the past. At some point it got silently updated, and moved from `python3.8` to `python3.10` even though the default python is `python3.11`. This means that the image is built with some custom assumptions I have no idea about, and had to manually sift through its definition and environment. _I am not going to do it again_. Going forward, if I see failure unique to Rocky, I'll report it to you, and drop Rocky from the CI if it does not get fixed.

I am sorry that it happened. I didn't know it was used here. We shoud use the hash instead of the latest image by default to avoid these issues in the future. Feel free to notice if Rocky is broken.

BTW, @ddiezrod does not work with us anymore

@matekelemen
Copy link
Copy Markdown
Contributor Author

* I updated the python version used in the Rocky CI. @pooyan-dadvand @loumalouomega @ddiezrod I've had issues with Kratos' Rocky docker image in the past. At some point it got silently updated, and moved from `python3.8` to `python3.10` even though the default python is `python3.11`. This means that the image is built with some custom assumptions I have no idea about, and had to manually sift through its definition and environment. _I am not going to do it again_. Going forward, if I see failure unique to Rocky, I'll report it to you, and drop Rocky from the CI if it does not get fixed.

I am sorry that it happened. I didn't know it was used here. We shoud use the hash instead of the latest image by default to avoid these issues in the future. Feel free to notice if Rocky is broken.

BTW, @ddiezrod does not work with us anymore

CentOS 7 used to be in the CI, and I replaced it with Rocky 8 the last time I did maintenance on CoSimIO.

@philbucher
Copy link
Copy Markdown
Member

Thanks a lot @matekelemen !

I removed the required checks, I dont think they are useful nowadays. Can you pleas push a commit to trigger the CI?

@matekelemen matekelemen merged commit ef874cd into master Jun 1, 2026
26 of 27 checks passed
@matekelemen matekelemen deleted the install-dir branch June 1, 2026 11:13
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.

3 participants