On Mac OS X, the followings need to be installed before installation of ERmod:
FFTW
gcc, gfortran, and clang
The VMD plugins need to re-compiled through the following steps within the directory where the source programs of the distributed ERmod package are placed.
cd vmdplugin
make clean
make
cp compile/*.so libexec
Even when the compilation of ERmod is done in success, the ermod program may terminate with error at runtime if the VMD plugins are not re-compiled.
When user's system does not have netcdf, the compilation fails for netcdfplugin.so.
In this case, the ermod program cannot run with an MD trajectory in the nc format.
Still, there is no problem in handling, for example, xtc and dcd formats.
The following process is to be done within the directory where the source programs of the distributed ERmod package are placed.
sudo ln -s /usr/bin/clang /opt/local/bin/clang ./configure FCFLAGS="-Wa,-q -fdefault-real-8" --with-fftw=(directory to which FFTW is installed) --prefix=(directory to install ERmod program) make make install
A comma is necessary between -Wa and -q in the line of configure and cannot be replaced by a space.
On some systems, configure needs to be done with
./configure FCFLAGS="-Wa,-q -fdefault-real-8" --disable-mpi --with-fftw=(directory to which FFTW is installed) --prefix=(directory to install ERmod program)
where --disable-mpi is added to disable MPI.
sudo ln -s ... may not be necessary, depending on the system.
If the following message appears after typing "make",
/opt/local/bin/as: assembler (/opt/local/bin/clang) not installed
user should make the symbolic link of "clang" to the directory "/opt/local/bin/", which corresponds to sudo ln -s ...
When the version is 0.3.4 or earlier, a message may appear as
Note: The following floating-point exceptions are signalling: IEEE_INVALID_FLAG IEEE_DIVIDE_BY_ZERO
after running ermod, and a message may appear as
Note: The following floating-point exceptions are signalling: IEEE_INVALID_FLAG IEEE_DIVIDE_BY_ZERO IEEE_UNDERFLOW_FLAG
after running slvfe. These messages can be simply ignored.