-
Notifications
You must be signed in to change notification settings - Fork 574
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
[SuiteSparse] DONOTMERGE Update to v6 #6006
Conversation
@gbaraldi any idea how to fix the sanitization error? |
The error appears to be actually caused by BinaryBuilderBase. It appears that it is generating the same compiler/link flags for both the C compiler and the fortran compiler. This means it generates the sanitize options for Clang (which can support MSAN) and then uses those for gfortran as well - but gfortran (and GCC in general) doesn't support MSAN. It looks like the gfortran flags need to be modified to prevent the |
@Wimmerer can you try unsetting the |
The cmake script can work without a Fortran compiler. I use the Fortran compiler in SuiteSparse_config/cmake_modules/SuiteSparseBLAS.cmake to determine how C calls Fortran (append an underscore, or not, etc). By default, for example, C calls the Fortran dgemm as I also use the Fortran compiler to compile optional parts of the AMD library, and demo programs for UMFPACK, CHOLMOD, and AMD. Those are all optional. |
Thanks for confirming @DrTimothyAldenDavis. So, @Wimmerer I think then since |
If setting CMAKE_Fortran_Compiler to an empty string fails, I could add a option like -DNFORTRAN to SuiteSparse_config/cmake_modules/SuiteSparsePolicy.cmake. |
Co-authored-by: Ian McInerney <ian.s.mcinerney@ieee.org>
@DrTimothyAldenDavis can you add a |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
As I mentioned already on Slack, this should have a SuiteSparse@6
directory next to the existing one, instead of replacing it. For stdlibs we often have to come back and rebuild an old version.
And in any case merging this should wait for JuliaLang/julia#47676 to be resolved, I don't want to throw multiple problems in the mix at the same time. |
I've added -DNFORTRAN. Try this version: https://github.com/DrTimothyAldenDavis/SuiteSparse/releases/tag/v6.0.4.beta1 just tagged. Also includes the v7.4.1.beta2. These versions have passed my basic tests. I haven't yet tried them in my brutal tests but I'll do that before I tag them as stable releases. |
See https://cmake.org/cmake/help/latest/variable/CMAKE_LANG_COMPILER.html where it states that the CMAKE__COMPILER variable cannot be changed once set. So it looks like the NFORTRAN option is the best way to tell SuiteSparse not to even try using a Fortran compiler. |
I had seen that, but I think we regenerate the build root every time we try a build, so I was thinking it should be set to an empty string the first time and then it would be fine. Apparently there is something else going on in the binary builder build root that is messing with the variable, though, so an explicit disable switch would seem to be the best option. Thanks for implementing that! |
No description provided.