LAMMPS WWW Site - LAMMPS Documentation - LAMMPS Mailing List Archives
Re: [lammps-users] Build process of module ATC
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [lammps-users] Build process of module ATC


From: Reuti <reuti@...7282...>
Date: Thu, 14 Dec 2017 15:04:13 +0100

Hi Axel:

> Am 13.12.2017 um 13:06 schrieb Axel Kohlmeyer <akohlmey@...24...>:
> 
> 
> 
> On Wed, Dec 13, 2017 at 5:56 AM, Reuti <reuti@...7282...> wrote:
> 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:
> 
> foo@...7281...:~/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:
> 
> foo@...7281...:~/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