keeping up with API changes for github version

I just did a pull from the github repository, and that led to a compile time error. The error appeared to be an incompatibility between fix_srp.cpp and neighbor.h:

…/fix_srp.cpp: In member function ‘virtual void LAMMPS_NS::FixSRP::setup_pre_force(int)’:

…/fix_srp.cpp:307:19: error: no matching function for call to ‘LAMMPS_NS::Neighbor::build()’

neighbor->build();

^

…/fix_srp.cpp:307:19: note: candidate is:

In file included from …/fix_srp.cpp:27:0:

…/neighbor.h:114:16: note: virtual void LAMMPS_NS::Neighbor::build(int)

virtual void build(int); // build all perpetual neighbor lists

^

…/neighbor.h:114:16: note: candidate expects 1 argument, 0 provided

Looks like that neighbor.h line was last touched on 2018-02-22, but the fix_srp.cp comes from USER-MISC, and the version in the actual compilation directory had not been updated.

I was able to fix manually it by doing “make no-user-misc; make yes-user-misc”. Is there a way of getting that to happen for all the optional items I’ve selected in the past? Could it be set up so it happened without user intervention?

thanks,
Noam

Hi, did you use make package-update in the compilation procedure?

This is mentioned on the Download page under the Git section:

Once you have updated your local files with a “git pull” (or “git checkout”), you still need to re-build LAMMPS if any source files have changed. To do this, you should cd to the src directory and type:

make purge             # remove any deprecated src files
make package-update    # sync package files with src files
make foo               # re-build for your machine (mpi, serial, etc) 

with an additional comment about how the make pu (package-update) can step on other

files you have edited.

So this is admittedly somewhat complex for the user.

Steve 

This is mentioned on the Download page under the Git section:

Once you have updated your local files with a "git pull" (or "git
checkout"), you still need to re-build LAMMPS if any source files have
changed. To do this, you should cd to the src directory and type:

make purge # remove any deprecated src files
make package-update # sync package files with src files
make foo # re-build for your machine (mpi, serial, etc)

with an additional comment about how the make pu (package-update) can step
on other

files you have edited.

So this is admittedly somewhat complex for the user.

FWIW, the "make purge" operation has been included into "make
package-update" some time ago (because it makes a lot of sense).
so that is one step, that can be omitted.

axel.

So this is admittedly somewhat complex for the user.

"make pu" and then recompile

Doesn't seem complex to me.

Stan