Closed hansenjo closed 7 months ago
Maybe hold off on this until we do some more testing. Here's why: From the discussion at https://root-forum.cern.ch/t/aborting-with-std-align-val-t-is-not-implemented-yet-rhel-9-2/55989, I gather that
This is particularly problematic because
Hence, JAPAN is currently unusable on macOS Sonoma. It is also unusable on Alma 9 with ROOT from the repositories. As a workaround, one can use a custom-compiled version of ROOT 6.28 or earlier that uses -std=c++14, except on macOS Sonoma.
I need to do more testing to confirm this, i.e. run JAPAN on Alma 9 with several versions of ROOT.
Questions:
See also the discussion here https://github.com/root-project/root/issues/13511
I've modified this PR so that the TMapFile
functionality is only disabled if the CXX standard is >= 17, which reflects the current situation with ROOT (any version).
If the standard is >= 17, then
QwRootFile
no longer contains any code that instantiates a TMapFile
object;enable-mapfile
option is given, a warning is printed and the option is disabled; andlibNew
is removed from the ROOT::Libraries
target and so no longer linked.Once ROOT is patched (who knows when), we can refine the conditionals used for this logic to exclude only affected ROOT versions.
Looks like the ROOT team is working on this, albeit slowly: https://github.com/root-project/root/pull/14792. I think we should wait for them to finish the fix, then put a warning in our build system if a problematic combination of ROOT/C++ standard is detected.
Fixes issue #5. Closes #3 and #4.
This PR supersedes (includes) my earlier PR #3 and PR #4 as well as the trivial fix for the case-sensitive file name clash on macOS that was already merged in the japan repo.