charmpp: disable pre-7.0.0 macOS builds with clang#28221
charmpp: disable pre-7.0.0 macOS builds with clang#28221alalazo merged 1 commit intospack:developfrom
Conversation
|
(copied from #28211) Imho, this might be too drastic. I think at least some older clang versions might not have the issue with the Also, there might be other reasons this might still build, e.g., using a case-sensitive file system. |
|
@matthiasdiener I encountered the version file issue when building [email protected] with clang 13, 11 and 8 (versions below 8 aren't available via brew and building llvm with Spack is not trivial). We can add a toggle that checks whether the file system is case-sensitive, though I don't have quick access to a macOS installation with a case-sensitive file system to test it. I also think disabling all pre-7.0.0 versions on macOS with clang is quite drastic, but I don't have a better idea right now and I think it's better than letting people run into build errors. What do you think? |
I see your point, but Imho we aren't very sure which versions of clang/apple-clang are affected. This issue didn't really pop up until 6.10.2, so I guess older clang versions might be fine? Does it depend on some libstd++ version? Could we print a warning instead of stopping the build? |
|
@matthiasdiener I believe LLVM's libc++ added a I have also tried Spack-installing Charm 6.10.2 with GCC on my system for a while now, but I'm running into various issues. First, the Charm 6.10.2 build script can't handle compiler names with version suffixes, like I think going forward we should really prefer the cmake build with Charm whenever possible. It's great that Charm++ supports CMake now, and I think it will make building a lot more straightforward. It's a bit much to upgrade the Spack package to CMake in this PR, but if you want I can take a stab at it when I find the time. With Spack we should be able to make the package a |
Charm++ versions below 7.0.0 have build issues on macOS, mainly due to the pre-7.0.0 `VERSION` file conflicting with other version files on the system: charmplusplus/charm#2844. Specifically, it conflicts with LLVM's `<version>` header that was added in [email protected] to comply with the C++20 standard: https://en.cppreference.com/w/cpp/header/version. The conflict only occurs on case-insensitive file systems, as typically used on macOS machines.
aef5ec6 to
55992ed
Compare
matthiasdiener
left a comment
There was a problem hiding this comment.
This looks good, thanks!
Charm++ versions below 7.0.0 have build issues on macOS, mainly due to the pre-7.0.0 `VERSION` file conflicting with other version files on the system: charmplusplus/charm#2844. Specifically, it conflicts with LLVM's `<version>` header that was added in [email protected] to comply with the C++20 standard: https://en.cppreference.com/w/cpp/header/version. The conflict only occurs on case-insensitive file systems, as typically used on macOS machines.
Charm++ versions below 7.0.0 have build issues on macOS, mainly due to the pre-7.0.0 `VERSION` file conflicting with other version files on the system: charmplusplus/charm#2844. Specifically, it conflicts with LLVM's `<version>` header that was added in [email protected] to comply with the C++20 standard: https://en.cppreference.com/w/cpp/header/version. The conflict only occurs on case-insensitive file systems, as typically used on macOS machines.
Charm++ versions below 7.0.0 have build issues on macOS, mainly due to the pre-7.0.0 `VERSION` file conflicting with other version files on the system: charmplusplus/charm#2844. Specifically, it conflicts with LLVM's `<version>` header that was added in [email protected] to comply with the C++20 standard: https://en.cppreference.com/w/cpp/header/version. The conflict only occurs on case-insensitive file systems, as typically used on macOS machines.
Charm++ versions below 7.0.0 have build issues on macOS, mainly due to the
pre-7.0.0
VERSIONfile conflicting with other version files on thesystem: charmplusplus/charm#2844. Specifically, it
conflicts with LLVM's
<version>header that was added in [email protected] tocomply with the C++20 standard:
https://en.cppreference.com/w/cpp/header/version. The conflict only occurs
on case-insensitive file systems, as typically used on macOS machines.
See #28211 for an earlier discussion on this.