Skip to content
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

Merged
merged 1 commit into from
Nov 8, 2021

Conversation

sethrj
Copy link
Contributor

@sethrj sethrj commented Oct 19, 2021

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.

Copy link
Member

@alalazo alalazo left a 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

@alalazo alalazo self-assigned this Oct 21, 2021
@kuberry
Copy link
Contributor

kuberry commented Oct 22, 2021

@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?

@sethrj
Copy link
Contributor Author

sethrj commented Oct 22, 2021

@sethrj I can still build Xyce with these changes.

Great, thanks!

Any reason that

# depends_on('perl', type=('build',)) # TriBITS finds but doesn't use...

was added?

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.

@bartlettroscoe
Copy link

bartlettroscoe commented Oct 22, 2021

Maybe @bartlettroscoe can elucidate?

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.

@bartlettroscoe
Copy link

TriBITS defaults "all optional packages" to on, so we now change it to off

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.

@sethrj
Copy link
Contributor Author

sethrj commented Oct 22, 2021

TriBITS defaults "all optional packages" to on, so we now change it to off

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.

@keitat
Copy link
Contributor

keitat commented Oct 27, 2021

BTW, Trilinos's default C++ language is C++14. Should we change it to 14 as default?

@keitat
Copy link
Contributor

keitat commented Oct 27, 2021

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.

@sethrj
Copy link
Contributor Author

sethrj commented Oct 27, 2021

BTW, Trilinos's default C++ language is C++14. Should we change it to 14 as default?

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.

@keitat
Copy link
Contributor

keitat commented Oct 27, 2021

in Satish's xSDK branch, I can apply the change for version (13.2 release and language options).

@sethrj sethrj merged commit 18d506c into spack:develop Nov 8, 2021
@sethrj sethrj deleted the trilinos-optional branch November 8, 2021 13:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants