choderalab / openmoltools

An open set of tools for automating tasks relating to small molecules
MIT License
63 stars 30 forks source link

Remove Libgfortran dependency pin #266

Closed Lnaden closed 6 years ago

Lnaden commented 6 years ago

Remove the libgfotran pinned dependency as its been almost 2 years since that fix went in. I'm assuming SciPy should have fixed its problems related to that and pinning to 1.0 seems backwards as it now has a 3.0 release.

Any objections or reasons this should not happen, @jchodera, @davidlmobley ?

Lnaden commented 6 years ago

This is also causing some conflicts with mpi4py versions which rely on version 3 of libgfortran library

davidlmobley commented 6 years ago

SGTM, @Lnaden .

jchodera commented 6 years ago

It looks like the python 2.7 tests are running into an issue with the OpenEye tools not being correctly installed:

======================================================================
ERROR: test_packmol.test_packmol_simulation_ternary_bydensity
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/travis/miniconda/envs/test/lib/python2.7/site-packages/nose/case.py", line 197, in runTest
    self.test(*self.arg)
  File "/home/travis/miniconda/envs/test/lib/python2.7/site-packages/openmoltools-0.8.3.dev0-py2.7.egg/openmoltools/tests/test_packmol.py", line 100, in test_packmol_simulation_ternary_bydensity
    size = packmol.approximate_volume_by_density( smiles_list, [12, 22, 46] )
  File "/home/travis/miniconda/envs/test/lib/python2.7/site-packages/openmoltools-0.8.3.dev0-py2.7.egg/openmoltools/packmol.py", line 270, in approximate_volume_by_density
    oechem = import_("openeye.oechem")
  File "/home/travis/miniconda/envs/test/lib/python2.7/site-packages/mdtraj/utils/delay_import.py", line 195, in import_
    raise ImportError(m)
ImportError: The code at packmol.py:270 requires the openeye.oechem package
jchodera commented 6 years ago

The OpenEye toolkits don't seem to available via conda for Python 2.7. Do we really want to continue testing on Python 2.7, or is it time we dropped support for it?

Lnaden commented 6 years ago

That is part of the issue. We pip install the OpenEye toolkits, and it looks like the 2018.2.1 release marked the end of them distributing on Py2.7, we can still install 2017.10.1 if we want, but we have to specify it manually.

The other problem is we do a install of packmol, which is also pinned to libgfortran 1.0 and so we would either need to update it first, or remove its install as part of the tests for this repo.

jchodera commented 6 years ago

Packmol is also due for a package update. omnia is currently distributing 17.221, but the latest release is 18.013.

Lnaden commented 6 years ago

Right, but the question is, do we keep it pinned to libgfortran 1?

jchodera commented 6 years ago

I'm not sure. It's quite possible that we no longer need to if we build a new package.

Lnaden commented 6 years ago

I have cut a new conda deployment of packmol (see omnia-md/conda-recipes#864) which removed the libgfortran 1.0 pin and appears to be working. Once that is built, I'll upload some changes to this PR and I think we will want to do a new version cut with what I change. Details once I've got it pushed.

Lnaden commented 6 years ago

I have now removed the libgfortran requirement from this package as the packmol build no longer needs it pinned to 1.0

I have also made the Python 2.7 builds pin the last OpenEye version which used 2.7, so tests should still run and we can make one final cut of this package with 2.7. The README.md file has been updated to show that 0.8.3 will be the last version which uses Python 2.7. And I will want to cut a release to finalize this change.

Fixes #223 probably

davidlmobley commented 6 years ago

Sounds great. Shall i merge?

Also OE announced they are officially no longer supporting py27 and are dropping builds for it, consistent with what we've seen. I think we should move towards doing the same.

Lnaden commented 6 years ago

I can merge, I just wanted to get some feedback before I did.

OE announced they are officially no longer supporting py27

Did they do this at CUP today? Either way, its good to get official word so there is no incessant demon in my head asking "ohhhhh, but what if they just are having problems with the py27 release? OoOoOo"

davidlmobley commented 6 years ago

yesterday, yes.