Hello,
I am trying to build LAMMPS with two user-packages added (user-cuda, and user-omp).
But I keep failing to build it.
I found similar problem in the mailing list.
It suggested doing "make package-update". I also did it, but the same problem.
I'll appreciate any help no that.
Here is what I did before make.
make yes\-user\-cuda
make yes-user-omp
make package\-update
make hp6
The error message:
g++ -O -DLAMMPS_GZIP -DLAMMPS_JPEG -DLMP_USER_OMP -I../../lib/cuda -DLMP_USER_CUDA -I/usr/include/mpich2-x86_64/ -DMPICH_SKIP_MPICXX -I/usr/local/cuda/include -DUNIX -DFFT_CUFFT -DCUDA_PRECISION=2 -DCUDA_ARCH=20 -c ../pair_adp_omp.cpp
../pair_adp_omp.cpp: In member function ‘void LAMMPS_NS::PairADPOMP::eval(int, int, LAMMPS_NS::ThrData*)’:
../pair_adp_omp.cpp:203: error: ‘class LAMMPS_NS::ThrData’ has no member named ‘timer’
../pair_adp_omp.cpp:203: error: incomplete type ‘LAMMPS_NS::Timer’ used in nested name specifier
../pair_adp_omp.cpp:221: error: ‘class LAMMPS_NS::ThrData’ has no member named ‘timer’
../pair_adp_omp.cpp:221: error: incomplete type ‘LAMMPS_NS::Timer’ used in nested name specifier
make[1]: *** [pair_adp_omp.o] Error 1
make[1]: Leaving directory `/root/LAMMPS/lammps-25Nov13/src/Obj_hp6'
make: *** [hp6] Error 2
David
This problem was fixed quite a while ago. Are you using the current version of lammps?
Axel
I downloaded from lammps webpage directly.
I believe it is up-to-date version.
I could successfully build without user-cuda and user-omp packages.
However, with those two packages, it fails with the following error message.
Any idea?
g++ -O -DLAMMPS_GZIP -DLAMMPS_JPEG -DLMP_USER_OMP -I../../lib/cuda -DLMP_USER_CUDA -I/usr/include/mpich2-x86_64/ -DMPICH_SKIP_MPICXX -I/usr/local/cuda/include -DUNIX -DFFT_CUFFT -DCUDA_PRECISION=2 -DCUDA_ARCH=20 -c ../pair_adp_omp.cpp
../pair_adp_omp.cpp: In member function ‘void LAMMPS_NS::PairADPOMP::eval(int, int, LAMMPS_NS::ThrData*)’:
../pair_adp_omp.cpp:203: error: ‘class LAMMPS_NS::ThrData’ has no member named ‘timer’
../pair_adp_omp.cpp:203: error: incomplete type ‘LAMMPS_NS::Timer’ used in nested name specifier
../pair_adp_omp.cpp:221: error: ‘class LAMMPS_NS::ThrData’ has no member named ‘timer’
../pair_adp_omp.cpp:221: error: incomplete type ‘LAMMPS_NS::Timer’ used in nested name specifier
make[1]: *** [pair_adp_omp.o] Error 1
make[1]: Leaving directory `/root/LAMMPS/lammps-27Nov13/src/Obj_hp6'
make: *** [hp6] Error 2
Thanks,
David
I don't know how this is possible. The svn and git repos have the correct version.
All you need to do are to remove the two lines that reference thr->timer and it should compile.
axel.
I think I know the reason.
I downloaded "tar ball" from the download page.
The problem exists with the code from the tar ball.
I just pulled the code from git repository and built from the code.
It does not have that problem.
Now I have the following problem at the end of linking.
/usr/bin/ld: skipping incompatible /usr/local/cuda/lib/libcufft.so when searching for -lcufft
/usr/bin/ld: cannot find -llammpscuda
collect2: ld returned 1 exit status
make[1]: *** [../lmp_hp6] Error 1
Should I build liblammpscuda separately?
I appreciate your help.
David
I could make liblammpscuda library.
Thanks,
David