Hi Axel:
Hi,
I'm in the process of compiling LAMMPS including some modules, starting with ATC. After checking src/USER-ATC/README it pointed me to lib/atc/README and I see three ways to compile it. I tried them in order and the Python-way (doing it either with:
$ make lib-atc args="-m mpi -e atc" (inside src)
or
$ python Install.py -m mpi -e atc (inside lib)
) led both to an error message:
[email protected]...:~/lam_development/lammps-11Aug17/lib/atc> python Install.py -m mpi -e atc
Building libatc.a ...
Traceback (most recent call last):
File "Install.py", line 95, in <module>
txt = subprocess.check_output(cmd,shell=True,stderr=subprocess.STDOUT)
File "/home/software/python-2.7/lib/python2.7/subprocess.py", line 573, in check_output
raise CalledProcessError(retcode, cmd, output=output)
subprocess.CalledProcessError: Command 'make -f Makefile.auto clean; make -f Makefile.auto -j32' returned non-zero exit status 2
Is there any special version of Python necessary? Right now 2.7.11 is installed.
python 2.7 or a recent python 3.x should work.
===
On the other hand, then I tried the third way to execute:
[email protected]...:~/lam_development/lammps-11Aug17/lib/atc> make -f Makefile.mpi
and despite a bunch of "may be used uninitialized in this function" warnings it succeeded an I got a libatc.a and Makefile.lammps
===
Is the Python way of building it broken or the a plain `make` the favored way anyway?
the problem is your incorrect use of the "-e" flag. the only available options for atc are "installed" or "linalg"
default is linalg, i.e. you also have to compile in lib/linalg to use the bundled BLAS/LAPACK functions.
Thx a lot for your reply. Obviously I read the documentation in the wrong way:
-e = set EXTRAMAKE variable in Makefile.machine to Makefile.lammps.suffix
does not alter existing Makefile.machine
I thought that the file Makefile.lammps.suffix will be created and I can set this suffix to an arbitrary string. Instead the meaning is:
-e = will honor Makefile.lammps.suffix (and include this by setting EXTRAMAKE variable in Makefile.auto as a copy of Makefile.machine)
does not alter existing Makefile.machine
Anyway, now I know how to proceed.
-- Reuti