Liggghts 2.0 RC compilation difficulty

Submitted by willsmithumich on Sat, 06/16/2012 - 08:04

Hi All,

I am not sure why, but when I compile the LIGGGHTS 2.0 RC code I have had the fix_wall_gran file replaced with an older version that does not include "unregister_compute_wall_local". Perhaps someone has an idea why this happens. I have posted the error I receive when compiling.

compute_pair_gran_local.cpp: In destructor ‘virtual LAMMPS_NS::ComputePairGranLocal::~ComputePairGranLocal()’:
compute_pair_gran_local.cpp:102:17: error: ‘class LAMMPS_NS::FixWallGran’ has no member named ‘unregister_compute_wall_local’
compute_pair_gran_local.cpp: In member function ‘void LAMMPS_NS::ComputePairGranLocal::init_cpgl()’:
compute_pair_gran_local.cpp:142:16: error: ‘class LAMMPS_NS::FixWallGran’ has no member named ‘unregister_compute_wall_local’
compute_pair_gran_local.cpp:194:28: error: ‘class LAMMPS_NS::FixWallGran’ has no member named ‘unregister_compute_wall_local’
compute_pair_gran_local.cpp:202:19: error: ‘class LAMMPS_NS::FixWallGran’ has no member named ‘is_mesh_wall’
compute_pair_gran_local.cpp:206:16: error: ‘class LAMMPS_NS::FixWallGran’ has no member named ‘register_compute_wall_local’
compute_pair_gran_local.cpp: In member function ‘virtual void LAMMPS_NS::ComputePairGranLocal::compute_local()’:
compute_pair_gran_local.cpp:270:30: error: no matching function for call to ‘LAMMPS_NS::FixWallGran::post_force(int, int)’
compute_pair_gran_local.cpp:270:30: note: candidate is:
fix_wall_gran.h:34:16: note: virtual void LAMMPS_NS::FixWallGran::post_force(int)
fix_wall_gran.h:34:16: note: candidate expects 1 argument, 2 provided
compute_pair_gran_local.cpp: In member function ‘int LAMMPS_NS::ComputePairGranLocal::count_wallcontacts()’:
compute_pair_gran_local.cpp:341:21: error: ‘class LAMMPS_NS::FixWallGran’ has no member named ‘n_contacts’
make[1]: *** [compute_pair_gran_local.o] Error 1
make[1]: Leaving directory `/home/dem/DEM/liggghts_2_0_rc/src/Obj_linux'
make: *** [linux] Error 2

ckloss's picture

ckloss | Sat, 06/16/2012 - 11:03

Hi will,

thanks for the notice... I guess you executed "make yes-GRANULAR"? the GRANULAR package is deprecated, as it contains LAMMPS files that are not compatible. I will remove the "GRANULAR" package in the next release...

Christoph

willsmithumich | Sat, 06/16/2012 - 15:22

Hi Christoph,

I did not execute "make yes-GRANULAR" - for some reason it is turned on by default. When I try compiling with "make no-granular" I receive the error given below. I'm not sure why fix_wall_gran is removed when GRANULAR is turned off.

However when I tried "make openmpi" (after turning off GRANULAR) liggghts appears to compile. I am not sure what CCFLAGS would cause this different result, or if I am missing some other change that I might have made.

compute_pair_gran_local.cpp:39:27: fatal error: fix_wall_gran.h: No such file or directory
compilation terminated.
make[1]: *** [compute_pair_gran_local.o] Error 1

ckloss's picture

ckloss | Mon, 06/18/2012 - 19:08

If you didn't do "make yes-GRANULAR" I am a bit confused... can you describe all steps that you did perform to compile?

Thanks, Christoph

willsmithumich | Tue, 06/19/2012 - 15:30

Hi Christoph,

First, I want to say that the GRANULAR package was originally selected to be installed. When I tried to compile (using the Makefile that I have used in the past for lammps/liggghts) I received the error message I gave in the original post. When I later turned off the GRANULAR package, I received the error message in the second post.

For a reason unknown to me, liggghts compiled when I have GRANULAR turned on and I use the premade Makefile.openmpi. Again, it will not compile for me when GRANULAR is turned off (see second post).

My understanding of c++ compiling is insufficient for me to better understand why one method worked versus another.

I should also mention that I was not able to download LIGGGHTS_2.0 RC using the terminal (following the instructions provided). I was only able to download by going to the github website (by clicking on the link in the pdf) and selecting to download the .zip file. It might be possible that the version I downloaded is not current.

tkulju | Wed, 06/20/2012 - 07:35

Hi!
I had similar issues. The previous versions of liggghts were compiled simply by issuing
make clean-all ; make fedora
with openmpi-1.5.3 (installed with OpenFOAM). But for some reason this didn't work now. After installing the system openmpi-1.4.4 (and devel) with yum, it seemed to work. So I guess the problem is in openmpi version or in the configuration of it.

ps. I guess there is a typo in the git download address, i.e.
github.com:CFDEMproject
should be
github.com/CFDEMproject

- Timo

tkulju | Wed, 06/20/2012 - 09:46

I'd like to add, that the compilation with OS-supplied openmpi-1.5.3 (in CentOS-6.2) went well, so I guess the problem is due the configuration of openmpi supplied by OpenFOAM.

- Timo

aaigner's picture

aaigner | Fri, 06/22/2012 - 08:57

Hi!

By installing the Granular package you replaced the original LIGGGHTS files by the files from the directory GRANULAR. --> first error message

By deinstalling it you removed all files, which were copied first. --> second error

You have to download the orginal files again.

Cheers
Andi