I am trying to compile Plumed 2.7.1 and Indus for patching into gromacs 2021.2.
I had to make some changes to the plumed configure.ac (some assumptions in there were not working out on my hardware/software configuration) to compile it for my machine. This is on a POWER9 system with RHEL8 and GCC 8.4.1 and IBM Spectrum-mpi compiler.
Those changes to Plumed configure.ac were:
1. Replacing
```
# first look for blas
if test "$external_blas" == true ; then
AC_MSG_CHECKING([whether dgemv can be linked with no library])
AC_LINK_IFELSE([AC_LANG_CALL([], [dgemv])],[
AC_MSG_RESULT([yes])
blas_found=nounderscore
],[
AC_MSG_RESULT([no])
AC_MSG_CHECKING([whether dgemv_ can be linked with no library])
AC_LINK_IFELSE([AC_LANG_CALL([], [dgemv_])],[
AC_MSG_RESULT([yes])
blas_found=underscore
],[
AC_MSG_RESULT([no])
PLUMED_SEARCH_LIBS([dgemv],[blas],[blas_found=nounderscore],[
PLUMED_SEARCH_LIBS([dgemv_],[blas],[blas_found=underscore])
])
])
])
fi
```
with
```
# first look for blas
PLUMED_SEARCH_LIBS([dgemv_],[blas],[blas_found=underscore])
```
2. Removing
```
"$($CXX --print-prog-name=ar) cr"
```
and
```
"$($CXX --print-prog-name=ld) -r -o"
```
These are necessary because Plumed is finding sdot from the compiler wrapper but the rest isn't supplied by the wrapper... It should be using the the _ variant which is found the in the libraries but it doesn't have the logic for that.
With these changes, Plumed compiles successfully.
Now that Plumed is compiled, I want to do another installation with INDUS patched into it (as recommended). I run the patching script and configure. However, on doing make for the plumed recompile, I get the following error:
```
../orderparameters/Indus.o:(.toc+0x8): undefined reference to `OrderParameter::X_DIM'
../orderparameters/Indus.o:(.toc+0x10): undefined reference to `OrderParameter::Y_DIM'
../orderparameters/Indus.o:(.toc+0x18): undefined reference to `OrderParameter::Z_DIM'
../orderparameters/OrderParametersInterface.o:(.toc+0x20): undefined reference to `PLMD::colvar::OrderParametersInterface::X_DIM'
../orderparameters/OrderParametersInterface.o:(.toc+0x28): undefined reference to `PLMD::colvar::OrderParametersInterface::Y_DIM'
../orderparameters/OrderParametersInterface.o:(.toc+0x30): undefined reference to `PLMD::colvar::OrderParametersInterface::Z_DIM'
make[4]: *** [Makefile:484: plumed-static] Error 1
make[4]: *** Waiting for unfinished jobs....
```
What changes are required to make this patched version work?
Apologies if this is more of a Plumed question than an INDUS question.