Modified LAMMPS build with an unfamiliar ArrayTypes<> error

LAMMPS version: 10Sep2025
OS: openSUSE Leap 16.0

Attempting to configure LAMMPS with GPU_Kokkos with 2 pairs of .h/cpp modified files found at this github: https://github.com/Luthey-Schulten-Lab/btree_chromo_gpu/tree/btree_chromo_gpu_SummerSchool2025

Build of 10Sep2025 version of LAMMPS worked without issue when .h files were excluded.

Error presents as follows. This occurs 4 times for one .h file and 3 times for the other .h file. Any guidance or advice would be extremely helpful, in particular: is this a LAMMPS issue or a C++ issue?

error: class "ArrayTypes<LMPDeviceType>" has no member "tdual_ffloat_2d"
    typename AT::tdual_ffloat_2d k_sforce;
                 ^
          detected during:
            instantiation of class "LAMMPS_NS::FixAddForceKokkos<DeviceType> [with DeviceType=LMPDeviceType]" at line 45 of /autotmb/home/ryoung/local/lammps-10Sep2025/src/modify.cpp
            instantiation of "S *style_creator<S,T>(LAMMPS_NS::LAMMPS *, int, char **) [with S=LAMMPS_NS::Fix, T=LAMMPS_NS::FixAddForceKokkos<LMPDeviceType>]" at line 16

For additional help, the #ifdef of one .h file:

#ifdef FIX_CLASS
// clang-format off
FixStyle(addforce/kk,FixAddForceKokkos<LMPDeviceType>);
FixStyle(addforce/kk/device,FixAddForceKokkos<LMPDeviceType>);
FixStyle(addforce/kk/host,FixAddForceKokkos<LMPHostType>);
// clang-format on
#else

And private portion of the Class:

private:
  DAT::tdual_ffloat_2d k_sforce;
  typename AT::t_ffloat_2d_randomread d_sforce;
  typename AT::t_int_1d d_match;

  typename AT::t_x_array_randomread x;
  typename AT::t_f_array f;
  typename AT::t_int_1d_randomread mask;
};

Which of those two LAMMPS versions are you talking about?
They are quite different in the KOKKOS package since 10Sep2025 introduces single and mixed precison support and thus lots of definitions and internal API have changed.

You do not need superuser access for application development.

Sadly, your report isn’t making it easy to help you either.

Since this is about additional code that is not part of LAMMPS it is the job of the authors of this code to help you. Most likely it needs porting.

You have to be (much!) more specific how exactly we can reproduce the build error you are seeing.

Note 1: Wrote in original post, “Build of the most recent version of LAMMPS”

Note 2: good to know

Note 3: Thanks for this uneccessary feedback.

Note 4: So the error I posted, ArrayTypes and class not have a member has to do with the C++ code written and not with whatever ArrayTypes means?

Different people have different views of what the most recent version of LAMMPS is so it helps to be explicit (git checkout and branch, source download URL etc.).

Also why make conflicting statements in the first place?
The more specific and concise your post is, the easier you make it to help you.

I am responding in the same style as you are posting.

As already mentioned, if you are trying to compile externally maintained KOKKOS code written for an older version of LAMMPS with the 10Sep2025 sources, that external code will need some porting effort to support the new precision settings.

How exactly this reflects on the individual changes in the source code, I cannot tell you, since I am not an expert in programming with Kokkos, which requires a good understanding of the conventions and definitions in Kokkos itself as well as the KOKKOS package in LAMMPS.
Writing source code for the KOKKOS package is far more complex than for the non-accelerated parts of LAMMPS.

If you want to learn more about KOKKOS programming in LAMMPS, I suggest you have a look at the excellent talks given by Stan Moore (the LAMMPS KOKKOS expert) at a LAMMPS developer workshop last year: https://www.youtube.com/watch?v=MBOO6OYoy2A