ICAMS/calphy

TypeError due to the keyword 'cmdargs'

Closed this issue · 4 comments

I got this error while running calphy.

Traceback (most recent call last):
  File "/home/eslam.ibrahim/miniconda3/envs/calphy/bin/calphy_kernel", line 33, in <module>
    sys.exit(load_entry_point('calphy==1.2.5', 'console_scripts', 'calphy_kernel')())
  File "/home/eslam.ibrahim/miniconda3/envs/calphy/lib/python3.10/site-packages/calphy-1.2.5-py3.10.egg/calphy/queuekernel.py", line 150, in main
    _ = routine_ts(job)
  File "/home/eslam.ibrahim/miniconda3/envs/calphy/lib/python3.10/site-packages/calphy-1.2.5-py3.10.egg/calphy/routines.py",line 360, in routine_ts
    routine_fe(job)
  File "/home/eslam.ibrahim/miniconda3/envs/calphy/lib/python3.10/site-packages/calphy-1.2.5-py3.10.egg/calphy/routines.py",line 341, in routine_fe
    job.run_averaging()
  File "/home/eslam.ibrahim/miniconda3/envs/calphy/lib/python3.10/site-packages/calphy-1.2.5-py3.10.egg/calphy/solid.py", line 139, in run_averaging
    lmp = ph.create_object(self.cores, self.simfolder, self.calc.md.timestep, self.calc.md.cmdargs)
  File "/home/eslam.ibrahim/miniconda3/envs/calphy/lib/python3.10/site-packages/calphy-1.2.5-py3.10.egg/calphy/helpers.py", line 54, in create_object
    lmp = LammpsLibrary(mode="local", cores=cores,
TypeError: LammpsLibrary.__init__() got an unexpected keyword argument 'cmdargs'

You need to update pylammpsmpi to 0.0.9. That will resolve the issue. If you installed using conda, you could do this with conda update pylammpsmpi command.

Thanks. Now I get this error.

Traceback (most recent call last):
  File "/home/eslam.ibrahim/miniconda3/envs/calphy/lib/python3.10/site-packages/pylammpsmpi/utils/../mpi/lmpmpi.py", line 48, in <module>
    job = lammps(cmdargs=args)
  File "/home/eslam.ibrahim/miniconda3/envs/calphy/lib/python3.10/site-packages/lammps/core.py", line 167, in __init__
    self.lib.lammps_flush_buffers.argtypes = [c_void_p]
  File "/home/eslam.ibrahim/miniconda3/envs/calphy/lib/python3.10/ctypes/__init__.py", line 387, in __getattr__
    func = self.__getitem__(name)
  File "/home/eslam.ibrahim/miniconda3/envs/calphy/lib/python3.10/ctypes/__init__.py", line 392, in __getitem__
    func = self._FuncPtr((name_or_ordinal, self))
AttributeError: /home/eslam.ibrahim/miniconda3/envs/calphy/lib/python3.10/lib-dynload/../../liblammps.so: undefined symbol: lammps_flush_buffers
--------------------------------------------------------------------------
Primary job  terminated normally, but 1 process returned
a non-zero exit code. Per user-direction, the job has been aborted.
--------------------------------------------------------------------------
--------------------------------------------------------------------------
mpiexec detected that one or more processes exited with non-zero status, thus causing
the job to be terminated. The first process to do so was:

  Process name: [[14634,1],0]
  Exit code:    1
--------------------------------------------------------------------------
Exception ignored in: <function LammpsBase.__del__ at 0x7fdd50f3a0e0>
Traceback (most recent call last):
  File "/home/eslam.ibrahim/miniconda3/envs/calphy/lib/python3.10/site-packages/pylammpsmpi/utils/lammps.py", line 677, in __del__
    self.close()
  File "/home/eslam.ibrahim/miniconda3/envs/calphy/lib/python3.10/site-packages/pylammpsmpi/utils/lammps.py", line 667, in close
    self._send(command="close")
  File "/home/eslam.ibrahim/miniconda3/envs/calphy/lib/python3.10/site-packages/pylammpsmpi/utils/lammps.py", line 68, in _send
    self._process.stdin.flush()
BrokenPipeError: [Errno 32] Broken pipe
Traceback (most recent call last):
  File "/home/eslam.ibrahim/miniconda3/envs/calphy/bin/calphy_kernel", line 33, in <module>
    sys.exit(load_entry_point('calphy==1.2.5', 'console_scripts', 'calphy_kernel')())
  File "/home/eslam.ibrahim/miniconda3/envs/calphy/lib/python3.10/site-packages/calphy-1.2.5-py3.10.egg/calphy/queuekernel.py", line 144, in main
    job = Solid(calculation=calc, simfolder=simfolder)
  File "/home/eslam.ibrahim/miniconda3/envs/calphy/lib/python3.10/site-packages/calphy-1.2.5-py3.10.egg/calphy/solid.py", line 56, in __init__
    super().__init__(calculation=calculation,
  File "/home/eslam.ibrahim/miniconda3/envs/calphy/lib/python3.10/site-packages/calphy-1.2.5-py3.10.egg/calphy/phase.py", line 137, in __init__
    self.prepare_lattice()
  File "/home/eslam.ibrahim/miniconda3/envs/calphy/lib/python3.10/site-packages/calphy-1.2.5-py3.10.egg/calphy/phase.py", line 214, in prepare_lattice
    l, alat, apc, conc, dumpfile = pl.prepare_lattice(self.calc)
  File "/home/eslam.ibrahim/miniconda3/envs/calphy/lib/python3.10/site-packages/calphy-1.2.5-py3.10.egg/calphy/lattice.py", line 165, in prepare_lattice
    raise ValueError("An input file was provided but it was neither data or dump file")
ValueError: An input file was provided but it was neither data or dump file

The error comes from here:

Traceback (most recent call last):
  File "/home/eslam.ibrahim/miniconda3/envs/calphy/lib/python3.10/site-packages/pylammpsmpi/utils/../mpi/lmpmpi.py", line 48, in <module>
    job = lammps(cmdargs=args)
  File "/home/eslam.ibrahim/miniconda3/envs/calphy/lib/python3.10/site-packages/lammps/core.py", line 167, in __init__
    self.lib.lammps_flush_buffers.argtypes = [c_void_p]
  File "/home/eslam.ibrahim/miniconda3/envs/calphy/lib/python3.10/ctypes/__init__.py", line 387, in __getattr__
    func = self.__getitem__(name)
  File "/home/eslam.ibrahim/miniconda3/envs/calphy/lib/python3.10/ctypes/__init__.py", line 392, in __getitem__
    func = self._FuncPtr((name_or_ordinal, self))
AttributeError: /home/eslam.ibrahim/miniconda3/envs/calphy/lib/python3.10/lib-dynload/../../liblammps.so: undefined symbol: lammps_flush_buffers

How did you install lammps? Seems like there is so issue with lammps libraries. Either what is wrong has to be figured out, or start in a new env from scratch.

Thank you. It works.