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.