Closed mphoward closed 5 years ago
The new test container has been built. As expected, builds fail for the develop branch when the python module is imported due to naming clashes. So, I merged it into this one, and tests are running now. py3-internal-nompcd
should be the only failure for this build, and I will disable it after we confirm this working.
Update: it already failed with the appropriate CMake error, disabling now. Feel free to open a PR for this when you are ready.
Resolved by #12
HOOMD 2.6.0 introduces confined MPCD streaming geometries, which leads to symbol collisions with
BoundaryCondition.h
andSlitGeometry.h
. (These objects were copied from that implementation while it was being developed, and actually reside in thempcd
namespace.)There are three options to fix this:
BoundaryConditions.h
andSlitGeometry.h
from azplugins and use the mpcd headers from HOOMD.BoundaryConditions.h
andSlitGeometry.h
to be azplugins rather than mpcd. This should avoid the naming collision in the binary, but you might need to also change the python export name (prepend "AZP" or something).Option 1 is probably the most straightforward approach for now since azplugins does not promise backward compatibility with any given version of HOOMD (the minimum is stated in the release notes).
The reason to require an MPCD build now is that the
SlitGeometry
is used in theBounceBackNVE
integrator, which is intended to be run with things like DPD, regular LJ particles, etc., and without the mpcd component of HOOMD, these will be missing. We should add an error like this to CMake forBUILD_MPCD
:https://github.com/mphoward/azplugins/blob/582513a0e36d8e5541290312268bdf4a1b524335/azplugins/CMakeLists.txt#L15-L17
That way, the conditional compilation of the MPCD component could possibly be enabled again at a later time.