[AMBER-Developers] Amber 'configure' now forcing miniconda?

From: Daniel Roe <daniel.r.roe.gmail.com>
Date: Wed, 21 Dec 2016 11:12:58 -0500

Hi All,

Recently when configuring Amber I get this message:

```
We highly recommend to let AMBER install Python with all prerequisites inside
$AMBERHOME via Continuum Miniconda distribution.
This will only need to be done once.
This may take several minutes and will require Internet access.

NOTES
 - Amber requires Python version 2.7 or higher:
 - You can also install missing packages (e.g., numpy and matplotlib) yourself
   and then use --with-python </path/to/python> to specify a particular Python
   interpreter to use for Amber's Python-requiring programs.
 - Use --skip-python if you do not want to build any parts of Amber that
   require Python.

Should I download and install Miniconda for you? [y/n] n
```

This is despite the fact that I'm currently employing a full Anaconda
install (4.2.9, python 2.7), which up until recently Amber's configure
was quite happy with. When I say "no", I get this message:

```
OK. I will try to use /mnt/local/droe/anaconda2/bin/python, but not
all Python components
in Amber will work correctly...
```

Install then appears to proceed as normal. However, certain python
components like pytraj are silently skipped. Digging a little deeper
the issue appears to be that the script 'fix_conda_fortran.py' checks
to see if Amber's miniconda is in use, and if not it skips installing
certain python components (without much fanfare). According to the
notes in the script this was due to some libgfortran bug that was in
conda a while back. However, if I comment out the check in the script
everything appears to install OK, and python tests pass. So I think
this check is no longer needed, but I'd also like to bring up a few
points.

I think a better solution for situations like this in the future will
be to have 'configure' check if downloading Amber's miniconda is
actually needed to make programs run. IMO the proper time to check for
these things is *before* compile time, not during. It took me a couple
of minutes to realize that certain python components were skipped. The
current configure message is really vague and just says 'certain
components won't work correctly' without telling me which ones. The
message also implies I might have missing packages when in fact I
don't.

Having a built-in miniconda is great, unless you need to have several
versions of Amber installed on the same system (for e.g. different
compilers/parallel libraries), and then it can become cumbersome.
(Related to this, we really should make it so that we can specify an
external FFTW3). I think, 'configure' needs to 1) check that the
current python installation will work, 2) if it won't work, tell me
exactly why, and what I might do to make my python install
Amber-compatible (what packages etc), and 3) if certain python
components are going to be skipped and others not, tell me up-front
which ones.

Sorry for the long post.

-Dan

-- 
-------------------------
Daniel R. Roe
Laboratory of Computational Biology
National Institutes of Health, NHLBI
5635 Fishers Ln, Rm T900
Rockville MD, 20852
https://www.lobos.nih.gov/lcb
_______________________________________________
AMBER-Developers mailing list
AMBER-Developers.ambermd.org
http://lists.ambermd.org/mailman/listinfo/amber-developers
Received on Wed Dec 21 2016 - 08:30:03 PST
Custom Search