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

Address issues from TriBITS snapshot into Trilinos from PR trilinos/Trilinos#9894 (#299) #433

Closed
8 of 9 tasks
bartlettroscoe opened this issue Dec 9, 2021 · 10 comments
Closed
8 of 9 tasks

Comments

@bartlettroscoe
Copy link
Member

bartlettroscoe commented Dec 9, 2021

Parent Issue:

Child Issues:

Description

This issue is to track TriBITS work to address the problems that were identified with the merge of the updated TriBITGS snapshot into Trilinos with the merge of Trilinos PR trilinos/Trilinos#9894 which lead the the revert PR trilinos/Trilinos#9977. The fixes will be snapshotted to the branch in Trilinos PR trilinos/Trilinos#9978. All of this is related to #299.

Tasks

@bartlettroscoe bartlettroscoe added this to ToDo in TriBITS Refactor via automation Dec 9, 2021
@bartlettroscoe bartlettroscoe self-assigned this Dec 9, 2021
@bartlettroscoe bartlettroscoe moved this from ToDo to In Progress in TriBITS Refactor Dec 9, 2021
@bartlettroscoe bartlettroscoe changed the title Address issues from TriBITS snapshot into Trilinos from PR trilinos/Trilinos#9894 Address issues from TriBITS snapshot into Trilinos from PR trilinos/Trilinos#9894 (#299) Dec 9, 2021
@bartlettroscoe
Copy link
Member Author

CC: @marcinwrobel1986, @mperrinel

PR #435 should address the configure failures with Albany and Nalu reported in trilinos/Trilinos#9972 and trilinos/Trilinos#9973.

bartlettroscoe added a commit that referenced this issue Dec 10, 2021
…g-req-subpkgs

Address <Package>Config.cmake file with includes to non-enabled subpackages (#433, #299)
bartlettroscoe added a commit to bartlettroscoe/TriBITS that referenced this issue Dec 13, 2021
Turns out some Trilinos configure scripts (including some of the ATDM Trilinos
configure scripts) use arbitary linker arguments like '-mkl' that are not -L
or -l.  These arguments need to be moved forward on the link link in the
'all_libs' target.  Since this is not very general, I added a 'NOTE' printed
to STDOUT in order to warn about this.

NOTE: This now allows an agument like: '-o some-name' and it will move '-o'
forward and in the next commit the bare 'some-name' arg will be interepreted
as a library name and be handled the same as '-l<libname>'.  But obviously
splitting up the arguments `-o some-name` by moving '-o' forward by itself and
treating `some-name` as a link library is just wrong but I don't see how we
can avoid that.
bartlettroscoe added a commit to bartlettroscoe/TriBITS that referenced this issue Dec 15, 2021
…riBITSPub#299, TriBITSPub#433)

Of note:

* Added unit test to make that single-char lib name like 'm' will be
  interepreted as a library.

* The arguments '-o some-other-option' that were an error before are now
  allowed and '-o' is interepreted as its own link option and moved forward
  and 'some-other-option' is interpreted as a library name.
bartlettroscoe added a commit to bartlettroscoe/TriBITS that referenced this issue Dec 15, 2021
…riBITSPub#299, TriBITSPub#433)

Turns out some Trilinos configure scripts (including some of the ATDM Trilinos
configure scripts) use arbitary linker arguments like '-mkl' that are not -L
or -l.  These arguments need to be moved forward on the link link in the
'all_libs' target.  Since this is not very general, I added a 'NOTE' printed
to STDOUT in order to warn about this.

NOTE: This now allows an agument like: '-o some-name' and it will move '-o'
forward and in the next commit the bare 'some-name' arg will be interepreted
as a library name and be handled the same as '-l<libname>'.  But obviously
splitting up the arguments `-o some-name` by moving '-o' forward by itself and
treating `some-name` as a link library is just wrong but I don't see how we
can avoid that.
bartlettroscoe added a commit to bartlettroscoe/TriBITS that referenced this issue Dec 15, 2021
…riBITSPub#299, TriBITSPub#433)

Of note:

* Added unit test to make that single-char lib name like 'm' will be
  interepreted as a library.

* The arguments '-o some-other-option' that were an error before are now
  allowed and '-o' is interepreted as its own link option and moved forward
  and 'some-other-option' is interpreted as a library name.
bartlettroscoe added a commit that referenced this issue Dec 15, 2021
…-linkflags

Fix issues with <tplName>Config.cmake generation for TriBITGS TPLs from trilinos/Trilinos#9894 (#433)
@bartlettroscoe bartlettroscoe moved this from In Progress to In Review in TriBITS Refactor Dec 15, 2021
bartlettroscoe added a commit to bartlettroscoe/Trilinos that referenced this issue Dec 15, 2021
…targets-1-again (TriBITSPub/TriBITS#433)

Should address all of the issues with the merge of PR trilinos#9894
listed out in TriBITSPub/TriBITS#433 (which is part of
TriBITSPub/TriBITS#299).  This should resolve the failures reported in
trilinos#9972 and trilinos#9973.
bartlettroscoe added a commit to bartlettroscoe/TriBITS that referenced this issue Dec 15, 2021
TriBITSPub#433)

This looks better in the output when it is performed with the rest of TriBITS.
bartlettroscoe added a commit that referenced this issue Dec 15, 2021
Add beginning '-- ' to NOTE for general link arguments (#299, #433)
@bartlettroscoe bartlettroscoe moved this from In Review to In Progress in TriBITS Refactor Jan 6, 2022
@bartlettroscoe
Copy link
Member Author

I am having to create reference builds of several application codes with Trilinos so that I can compare with the updated TriBITS build system. This is taking a lot of time so I am putting this back in progress.

@bartlettroscoe
Copy link
Member Author

I have debugged the problem with Albany and the updated TriBITS build system with Trilinos that is in trilinos/Trilinos#9978. The issue is described in detail in #299 (comment). We need to decide to what level of backwards compatibility we are going to maintain (even incorrect usage of TriBITS?).

@bartlettroscoe
Copy link
Member Author

Next, I am going to bring back deprecated non-namespaced IMPORTED targets as per #299 (comment) before moving on the Nalu and SPARC.

bartlettroscoe added a commit that referenced this issue Jan 20, 2022
Add back deprecated non-namespaced library targets (#299, #433)
@bartlettroscoe
Copy link
Member Author

The issue with SPARC has exposed another serious break in backwards compatibility. See #299 (comment) and #443 (and let's not discuss it here).

@bartlettroscoe
Copy link
Member Author

FYI: We have given SPARC its own gtest implementation to resolve the build issues on the 'van1-tx2' system as implemented in internal MR sparc/sparc-ear99!882. Once they merge that, MR to SPARC 'master', this SPARC issue will no longer be an impediment for this TriBITS work. But we still need to address (at least with documentation) the -isystem problem in #443.

@bartlettroscoe
Copy link
Member Author

bartlettroscoe commented Feb 14, 2022

With the merge of internal MR sparc/sparc-ear99!890, SPARC now has its own internal build of gtest that will be used instead of any other gtest installed in Trilinos or on the system (because the include dirs for the internally built gtest are included with -I and come before all other include dirs).

@bartlettroscoe
Copy link
Member Author

FYI: I verified that the internal build of googletest (gtest) with SPARC does not appear to have broken any of their nighty builds. See internal issue tribitsrefactoring#3.

Now, I can't do this amount of work for every application code that breaks a build due to this upgrade of TriBITS. But at least now with this SPARC case resolved, I can point to that to prove that the include directory issues can be resolved in a case like gtest by simply building the package's own gtest and putting its include dirs first with -I.

@bartlettroscoe
Copy link
Member Author

The Trilinos PR #9978 is now updated to resolve everything listed in "Tasks" above. Now we just need to merge that PR to Trilinos 'develop'.

As I noted in trilinos/Trilinos#9978 (comment), Trilinos 'develop' is now 6 months behind TriBITS 'master'.

@bartlettroscoe bartlettroscoe moved this from In Progress to In Review in TriBITS Refactor Mar 7, 2022
marcinwrobel1986 added a commit to marcinwrobel1986/TriBITS that referenced this issue Mar 10, 2022
bartlettroscoe added a commit that referenced this issue Mar 10, 2022
@bartlettroscoe
Copy link
Member Author

The merge of #10614 a week ago with no related issues reported (but a new set of issues reported) seems to suggest we can close this issue.

TriBITS Refactor automation moved this from In Review to Done Jul 26, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: Done
Development

No branches or pull requests

1 participant