And, It is possible that the old version is compiled fine but the new version is not.
because there are some changes in the new version.
so you should look for other reasons. I guess that the required lib can not be found or the libs you use are inconsistent with each other.
I mean one lib is compiled by compiler 1, the other lib is compiled by compiler 2.
Good luck
Lan
-o …/lmp_g++
/usr/local/lib/libmpich.a(ad_iwrite.o): In function ADIOI_GEN_aio_wait_fn': ad_iwrite.c:(.text+0x12a): undefined reference to aio_suspend64’
ad_iwrite.c:(.text+0x1d8): undefined reference to aio_error64' ad_iwrite.c:(.text+0x1f1): undefined reference to aio_return64’
/usr/local/lib/libmpich.a(ad_iwrite.o): In function ADIOI_GEN_aio_poll_fn': ad_iwrite.c:(.text+0x2de): undefined reference to aio_error64’
ad_iwrite.c:(.text+0x30d): undefined reference to aio_return64' /usr/local/lib/libmpich.a(ad_iwrite.o): In function ADIOI_GEN_aio’:
ad_iwrite.c:(.text+0x494): undefined reference to aio_write64' ad_iwrite.c:(.text+0x501): undefined reference to aio_read64’
collect2: ld returned 1 exit status
make[1]: *** […/lmp_g++] Error 1
make[1]: Leaving directory `/home/qi/lammps/src/Obj_g++’
make: *** [g++] Error 2
In fact, this message has nothing to do with LAMMPS, But I do not understand that under the same condition, I compile the old one, there is no error, then new one, errors come.
I will try to compile, too. My machine is different from yours, so I try to solve it by myself, first. Thanks again.
this is harmless and will happen, e.g. if two packages are installed
that both use a library written in fortran for low-level work..
And, It is possible that the old version is compiled fine but the new
version is not.
because there are some changes in the new version.
so you should look for other reasons. I guess that the required lib can not
be found or the libs you use are inconsistent with each other.
I mean one lib is compiled by compiler 1, the other lib is compiled by
compiler 2.
this is not the case here either. there is an aio library for
interfacing the asynchronous i/o facilities in the linux kernel. that
just needs to be linked to. this whole mess won't happen in the first
place, if people would be using the mpi compiler wrappers that add
those automatically, instead of having to second guess what low-level
libraries MPICH is requiring.