nomad-coe / nomad

NOMAD lets you manage and share your materials science data in a way that makes it truly useful to you, your group, and the community.
https://nomad-lab.eu
Apache License 2.0
64 stars 14 forks source link

Deprecating use of mdtraj? #59

Closed Andrew-S-Rosen closed 1 year ago

Andrew-S-Rosen commented 1 year ago

Hi all. I am having trouble with pip install nomad-lab[parsing] on machines other than Linux because mdtraj PyPI wheels aren't building. This has been an ongoing issue for some time (e.g. see here and other Issues). Unfortunately, mdtraj does not seem to be actively maintained much anymore, as noted in the README.

How much does the NOMAD suite rely on mdtraj? Is this something worth trying to port over elsewhere?

TLCFEM commented 1 year ago

MDTraj is only used in cp2k parser, if you are not using it at all, you do not need to have it installed, by that, I mean you can modify the relevant file to remove the depedency so that nomad can be installed.

For building wheels, which OS are you referring to? What stops it from being built? If it is compiler related, I presume it is not difficult to get a GNU C/C++ compiler functioning.

Andrew-S-Rosen commented 1 year ago

Thanks! Good to know. In my case, I was trying this on Windows 11 (although users on the MDTraj repo report issues with various versions of Mac OS but maybe for unrelated issues). In my case, I get

      mdtraj/formats/tng/src/lib/tng_io.c(32): fatal error C1083: Cannot open include file: 'zlib.h': No such file or directory
      error: command 'C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\Community\\VC\\Tools\\MSVC\\14.29.30133\\bin\\HostX86\\x64\\cl.exe' failed with exit code 2
      [end of output]

  note: This error originates from a subprocess, and is likely not a problem with pip.
  ERROR: Failed building wheel for mdtraj
Failed to build mdtraj
ERROR: Could not build wheels for mdtraj, which is required to install pyproject.toml-based projects

I know the answer here is to not use Windows, but alas. On WSL, it works fine.

TLCFEM commented 1 year ago

Just have a proper zlib installed. https://gnuwin32.sourceforge.net/packages/zlib.htm

Or use gnu compilers, msys2 , winlibs, too many options.

Or just comment out this line:

https://github.com/mdtraj/mdtraj/blob/2fe3b43fa3047d094c6bd09c928f04c5fd73b2cb/setup.py#L112

Andrew-S-Rosen commented 1 year ago

Ah, got it! Thanks!!

Andrew-S-Rosen commented 1 year ago

Closed due to appropriate workaround.