-
Notifications
You must be signed in to change notification settings - Fork 2.3k
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
trilinos: disable optional packages by default #26815
Conversation
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.
@sethrj Waiting on maintainers, but feel free to merge at your will
@sethrj I can still build Xyce with these changes. Any reason that # depends_on('perl', type=('build',)) # TriBITS finds but doesn't use... was added? |
Great, thanks!
Yeah I noticed TriBITS picking up system Perl, since it always looks for the package, but it doesn't ever use it as far as I can tell. Maybe @bartlettroscoe can elucidate? I left the commented out dependency as documentation. |
I don't remember why TriBITS finds Perl. Perl is not used anywhere in TriBITS. My guess is that this got pulled into TriBITS when TriBITS got created from the Trilinos build system back in 2011 and a bunch of stuff that was specific to Trilinos got pulled along with TriBITS when it got created (but seemed harmless at the time I guess). And now we are trying to reverse that and hence TriBITSPub/TriBITS#411. But I know that Trilinos tests need Perl because Zoltan uses Perl in its testing. So if Spack ever actually does testing of packages, then the Spack Trilinos package will need Perl in order to test Zoltan. |
That is a very bad idea. You are asking for trouble in doing that. You will be enabling configurations of Trilinos that no-one else is testing. You are much better off enabling all optional packages by default and then disable the ones you don't want. That is just 15+ years of experience speaking. |
OK... one of my concerns is that enabling optional packages could enable optional TPLs that might get picked up from the system. I guess I could copy in the list of all available TPLs from trilinos and manually disable them? But one major problem with TriBITS/Trilinos in general is that it's not obvious what configurations of Trilinos are being tested. What packages are on in your testing configuration? What dependencies are required? And the existential question is, why offer a million different combinations of configuration options if it's unlikely that they'll work? I've already hit errors such as this one from allowing tribits auto-enable logic. I would think that disabling optional packages would prevent such surprises. |
BTW, Trilinos's default C++ language is C++14. Should we change it to 14 as default? |
I need to make sure if it is sufficient for xSDK (deal.ii, phist, DTK and Utopia). Utopia is not an official xSDK member, but it will be likely to be the one near future. |
The "default" (non-master/develop) version is still 13.0.1 which still defaults to C++11, right? I agree at the next version bump we should change the default language to match. |
in Satish's xSDK branch, I can apply the change for version (13.2 release and language options). |
TriBITS defaults "all optional packages" to on, so we now change it to off. For my typical configuration the only change ends up being to disable Xpetra, ShyLU_NodeHTS, and ShyLU_NodeTacho . Hopefully this will prevent unexpected packages being enabled.