On Mon, Feb 12, 2018 at 10:04 PM, Jim Parker <jimparker96...@gmail.com> wrote:
> Hello,
>   I am attempting to build VOTCA on an SGI ICE cluster.  The compile fails
> at detecting GROMACS, but GROMACS 2016.4 is installed, and cmake seems to
> find the right version, but then states that something is wrong with GROMACS
> library.
>
> - checking for module 'libvotca_tools'
> --   package 'libvotca_tools' not found
> -- checking for module 'libgromacs_d'
> --   package 'libgromacs_d' not found
> -- checking for module 'libgromacs'
> --   package 'libgromacs' not found
> CMake Error at
> /p/app/unsupported/COST/cmake/3.2.3/gnu/share/cmake-3.2/Modules/FindPackageHandleStandardArgs.cmake:138
> (message):
>   Could NOT find GROMACS (missing: GROMACS_LIBRARY) (found suitable version
>   "20160004", minimum required is "20160000")
> Call Stack (most recent call first):
>
> /p/app/unsupported/COST/cmake/3.2.3/gnu/share/cmake-3.2/Modules/FindPackageHandleStandardArgs.cmake:374
> (_FPHSA_FAILURE_MESSAGE)
>   csg/CMakeModules/FindGROMACS.cmake:71 (find_package_handle_standard_args)
>   csg/CMakeLists.txt:85 (find_package)
>
>
> -- Configuring incomplete, errors occurred!
> See also "/p/home/surfer/tmp/votca/build/CMakeFiles/CMakeOutput.log".
> See also "/p/home/surfer/tmp/votca/build/CMakeFiles/CMakeError.log".
>
> The library is a static library named libgromacs_mpi.a.  It is in a path =
> gromacs/bin/../lib64.
> I believe cmake should automatically search for lib64, but I tried passing
> -DFIND_LIBRARY_USE_LIB64_PATH=ON in the command line to cmake.  No luck.
>
> After it failed, I tried editing FindGROMACS.cmake to add "gromacs_mpi"  to
> list of NAMES for find_library(), but that did not work as expected, i.e.,
> the output did not reflect a search for that name...The output was identical
> to the above.
>
> Any suggestions?
This has been discussed many time on the mailing list, but in short:

First of all, you will need a non-MPI version of libgromacs. VOTCA is
only using the IO functions out of libgromacs and these aren't
mpi-enabled, so there is really no advantage in linking against an
mpi-enabled version. Of course, one can link against an mpi-enabled
libgromacs, but that might lead to unresolved mpi symbols when
building VOTCA executables.

Second, static libraries don't have any link dependency information
embedded and hence cmake has no way to figure out other libraries,
e.g. libfftw, gromacs needs and need to be linked against. To make
that work you will basically have to set the cmake variable
GROMACS_LIBRARY by hand to something like
"-DGROMACS_LIBRARY="/path/to/libgromacs.a;/path/to/libfftw.a;/path/to/libm.a".

I would just compile a serial shared version of gromacs just for
VOTCA. (build.sh can do that for you:
<https://github.com/votca/csg/wiki/Installing#gromacs>)

Christoph

>
> Cheers,
> --Jim Parker
>
> --
> You received this message because you are subscribed to the Google Groups
> "votca" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to votca+unsubscr...@googlegroups.com.
> To post to this group, send email to votca@googlegroups.com.
> Visit this group at https://groups.google.com/group/votca.
> For more options, visit https://groups.google.com/d/optout.



-- 
Christoph Junghans
Web: http://www.compphys.de

-- 
You received this message because you are subscribed to the Google Groups 
"votca" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to votca+unsubscr...@googlegroups.com.
To post to this group, send email to votca@googlegroups.com.
Visit this group at https://groups.google.com/group/votca.
For more options, visit https://groups.google.com/d/optout.

Reply via email to