-
Notifications
You must be signed in to change notification settings - Fork 89
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
Numerous failures in nightly tests #985
Comments
Yes, I think these are definitely b/c of that PR. What I think is happening is that we're using serial compilers, rather than mpicxx/mpicc/mpifort. Two possible solutions:
@bartlettroscoe am I correct saying that trilinos does not link against MPI (in a CMake sense), but assumes mpi wrappers are used as compilers? Btw, I checked my local build of trilinos, and I found
so I could not even just link |
That is what you need to do if you don't get compilers from Trilinos after calling
Even if you override the Trilinos lib install dir to be
Trilinos just uses the MPI compiler wrappers. If you are building shared libraries, then the shared Trilinos libraries should be linked to the shared MPI libraries (because that is what the
I don't the above vars were ever set when using MPI complier wrappers. Those should have been removed years ago. (We have lost the history for who put those in from the CVS days.)
Yes, those do get set and you can count on those. (I know EMPIRE used to use those or still does.)
When doing MPI builds, you should use MPI compiler wrappers when building Albany. NOTE: There has been some discussion of switching TriBITS and Trilinos to use the standard but that will be another major break in Trilinos backward compatibility. |
Thanks! We'll set the compilers to be the mpi wrappers, and be done with it. It's interesting that Trilinos did not go the |
@ikalash I will try to fix the build scripts, though I'm not super expert on how our nightlies work (there are a lot of scripts in our dashboards folder). I will ping you on the PR, so you may take a second look and possibly fix what I did wrong. |
Quick question about your changes to the cmake files @bartgol : I assume they are backward compatible with
Is that right? In other words, if I have the above option in my Trilinos configure script, Albany should still build, correct? |
@bartgol, way back in 2008 when Trilinos first adopted CMake, the standard This is just part of the legacy code in TriBITS that needs to be addressed as part of: (and it is not clear if and when that will ever happen). As you can see, even small changes in backward compatibility can have large shock waves with something like Trilinos. |
Thanks for the history background! :) |
I think so? I do make one assumption on the trilinos install dir, and that is the That said, we should remove that as soon as these feailures are fixed. In fact, we should probably remove it from some builds, to ensure everything works as planned. |
Sounds good. You should find configure scripts for most of the nightlies here: https://github.com/sandialabs/Albany/tree/master/doc/dashboards . There are module files too when relevant. I am happy to test some fixes as well as they come up. I was intending to test your PR before it was merged, but did not get the chance - sorry. |
Ok, I will start changing this in the nightlies once you get the builds fixed. Let me know if that sounds reasonable. |
FYI: Responding to above, configuring older versions of Trilinos with either:
(because that was the old default for that var) or
(because that var is ignored when not using GNUInstallDirs.cmake) will be backward compatible and yield the same behavior (i.e. having the Trilinos lib install dir named SIDENOTE: It is amazing how much of a shockwave this one seemingly small non-backward compatible change to adopt one modern CMake practice has made on even just the local the Trilinos user community. This does not bode well for all of the changes to switch to modern CMake listed in: |
@bartlettroscoe disruptive changes are welcome if they contribute to improve the quality of the package config/build system. I think CMake was adopted by many project without paying as much attention to software quality as it was payed to actual source code. Patches and hacks piled up through the years, all of them designed with a cmake2.0 eye. True switch to cmake3.0 practices is still far away in certain projects, and is sometimes viewed as a burden. Imho, it makes things simpler, cleaner, and faster to tweak (once the project is fully in cmake3.0-style). Alas, it takes effort (in certain projects) to convince ppl that we should switch, because "their scripts won't work anymore". That said, in Albany we're happy to follow more modern approaches, mine was just a "general" rant. :) |
@jewatkins @ikalash I'm trying to update our nightly scripts, but I don't understand what scripts run. I do see lots of scripts in, say,
Is some other script going to modify this line before we run this script? Also, |
@bartgol : this gets set automatically to the right dir in the .cmake script that gets created from this do-cmake script during the running of the nightly tests. A user using just the do-cmake script is supposed to set that path themself. |
I believe this should be fixed starting tomorrow everywhere except perlmutter. On perlmutter, it looks like there are some issues pointing to the write mpicc / mpicxx compiler: https://my.cdash.org/build/2414115/configure . @mcarlson801 can you please have a look? |
Thanks for fixing all the testing scripts! |
Sure. Max still needs to fix the perlmutter ones. We can discuss your proposition to clean up the testing scripts at the next Albany meeting. |
Perlmutter scripts are updated in the dashboard and the builds are working. I'm adding some new features for the Perlmutter tests today and then I'm going to push all the changes to the repo together. |
There are unfortunately numerous failures in the nightly tests due I think to the merging of this PR: #984 :
@bartgol can you please have a look and fix these issues? The last one doesn't seem like it would be from your changes actually, but I could be wrong about that.
The text was updated successfully, but these errors were encountered: