Groups keyboard shortcuts have been updated
Dismiss
See shortcuts

Trouble building when following INSTALL.md instructions

20 views
Skip to first unread message

Thomas Russo

unread,
Apr 1, 2025, 11:56:41 PMApr 1
to xyce-users
A recent system upgrade has changed my default compiler from Clang 18 to Clang 19, and this version of Clang rejects some of the code in Trilinos 12.12.1.  I am now forced either to start using a more recent Trilinos and CMake, or install Clang 18 as a secondary compiler just to keep Xyce building.

I tried building Trilinos according to the instructions in INSTALL.md, and am having no luck at all.

The INSTALL.md document specifically states that the blessed version of Trilinos is the 14.4.0 release, which I've checked out from git:
commit 975307431d60d0859ebaa27c9169cbb1d4287513 (HEAD -> tvr-hack-freebsd-14.4.0, tag: trilinos-release-14-4-0, origin/trilinos-release-14-4-branch)
("tvr-hack-freebsd-14.4.4" is a local branch that implements two patches needed to prevent parallel crashes in Xyce, that I provided to the team and that are, apparently, now in the development branch of Trilinos)

I then created a build directory for trilinos and executed the following command:
   cmake -C ~/Xyce/Xyce/cmake/trilinos/trilinos-base.cmake \
  ~/Xyce/trilinos \
  -DCMAKE_INSTALL_PREFIX=/users/russo/XyceLibs/FreeBSD13_trilinos14.4.0 \
  -DAMD_INCLUDE_DIRS=/usr/local/include/suitesparse

This completes without error and with the attached output (reconfigure.out)

I then run the following command to do the build:
   cmake --build . -j 8  -t install

The build then pukes during the build of Kokkos, with an error about an attempt to access a class member (sort_option) that doesn't exist in the class that is being referenced (SPADDHandle<lno_row_view_t_, lno_nnz_view_t_, scalar_nnz_view_t_, ExecutionSpace, MemorySpace>).   Complete build output in attached cmake.out.

What am I doing wrong?   INSTALL.md clearly states that this is the correct commit of Trilinos to check out and that it is the version tested by the team, but I can't get it to build.

I would hate to have to install an older compiler just to keep using the ancient Trilinos 12.12.1, but if necessary to get the build running after my system upgrade that's what I'll do.

reconfigure.out
cmake.out

Dietmar Warning

unread,
Apr 2, 2025, 12:21:42 AMApr 2
to xyce-users
It's only an idea: I have had some times problems with the "-j" switch in building large program's. Perhaps you spent a bit more time with another trial.

Tom Russo

unread,
Apr 2, 2025, 12:40:45 AMApr 2
to xyce-users
That would be a pretty bad thing if a -j flag caused actual compiler errors like that.

However, the very same compilation errors happen without -j, so it's not that.

--
You received this message because you are subscribed to the Google Groups "xyce-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to xyce-users+...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/xyce-users/9ba0dbf3-6f98-4989-a6ab-b20d69418aa9n%40googlegroups.com.


--
Tom Russo    KM5VY 
Tijeras, NM 

 echo "prpv_a'rfg_cnf_har_cvcr" | sed -e 's/_/ /g' | tr [a-m][n-z] [n-z][a-m]

xyce-users

unread,
Apr 2, 2025, 11:16:48 AMApr 2
to xyce-users
Our internal clang builds use Clang 16 under Linux and MacOS.  

You can try a later version of Trilinos. I used 16.0 without any problems.  You will see warnings about using depreciated packages like EPetra.  We are working on replacing that with TPetra but it's still under development.

Rich

Tom Russo

unread,
Apr 2, 2025, 11:20:16 AMApr 2
to xyce-users
Yeah, I figured that Clang 19 was much newer than any that Sandia is using internally.

But the complete absence of a "sort_option" class member for the SPADD class doesn't seem like it should be a compiler-dependent thing.

The INSTALL.md document specifically says that 14.4.0 should work.  Any hint about why it wouldn't?

--
You received this message because you are subscribed to the Google Groups "xyce-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to xyce-users+...@googlegroups.com.

Tom Russo

unread,
Apr 2, 2025, 11:29:46 AMApr 2
to xyce-users
I said that it seemed unlikely that the absence of a class member in SPADD should be a compiler-dependent thing, but "Lo!" and "Behold!", by installing Clang 18 and using it instead of the system default Clang 19, Trilinos 14.4.0 builds without those errors.

Very puzzling how that can happen.  But there it is. 

However, since both Trilinos 12.12.1 and Xyce-built-with-autotools and Trilinos 14.4.0 and Xyce-built-with-CMake both require that I use a compiler older than the one that is default on the system, I'm just going to shrug, hate modern compiler advancements, and stick with Trilinos 12.12.1 and Xyce/autotools for a bit longer.


Tom Russo

unread,
Apr 2, 2025, 11:35:20 AMApr 2
to xyce-users
K.  Should have just looked at Trilinos issue reports, where I would have found this one:

Yeah, there was a bug in Trilinos that made it puke with Clang 19, it was fixed in a later version than 14.4.0.
Reply all
Reply to author
Forward
0 new messages