GROMACS now compiles on Solaris x86, specifically illumos distribution
openindiana. GCC complained about a missing sqrt() variant which was
addressed with static_cast and linker complained about missing
libsocket which was addressed with SunOS-specific entry in
target_link_libraries.
Refs #3050
Change-Id: Ic14a9327fa353270ef0e787b4d2357e86e71da53
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
Thanks to portability improvements, the previously disabled PME OpenCL offload
is now enabled also on NVIDIA and Intel GPUs.
+
+Fixed building on Solaris with GCC
+""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+GROMACS now builds on Solaris with GCC (tested on illumos distribution
+openindiana, "Hipster" rolling release, using GCC 5, 6, 7, and 8).
${FFT_LIBRARIES} ${LINEAR_ALGEBRA_LIBRARIES}
${THREAD_LIB} ${GMX_SHARED_LINKER_FLAGS}
${OpenCL_LIBRARIES}
+ $<$<PLATFORM_ID:SunOS>:socket>
PUBLIC
${GMX_PUBLIC_LIBRARIES}
)
TestReferenceChecker gridValuesChecker(
rootChecker.checkCompound("NonZeroGridValues", "RealSpaceGrid"));
const auto ulpToleranceGrid =
- 2 * ulpToleranceSplineValues * static_cast<int>(ceil(sqrt(atomCount)));
+ 2 * ulpToleranceSplineValues
+ * static_cast<int>(ceil(sqrt(static_cast<real>(atomCount))));
/* 2 is empiric; sqrt(atomCount) assumes all the input charges may spread onto the same cell */
SCOPED_TRACE(formatString("Testing grid values with tolerance of %d", ulpToleranceGrid));
if (!gridValuesSizeAssigned)