proteus icon indicating copy to clipboard operation
proteus copied to clipboard

Installing with "make develop" using existing py2 environment

Open dloney opened this issue 5 years ago • 7 comments

When I use an anaconda python 2 environment, I have the issue where the proteus build does not create the linux directory as its build destination, but rather overwrites the existing python 2 conda environment to create a python 3 environment. The issue appears to be that the build has an issue creating the correct folder structure. Here's what I see in my build process:

Linking stack/default.yaml for this arch ln -s /home/dloney/Documents/repo/proteus-dev/stack/examples/proteus.linux.yaml /home/dloney/Documents/repo/proteus-dev/stack/default.yaml ln: failed to create symbolic link '/home/dloney/Documents/repo/proteus-dev/stack/default.yaml': File exists make: [Makefile:139: stack/default.yaml] Error 1 (ignored) ln -sf /home/dloney/Documents/repo/proteus-dev/linux/lib64/* /home/dloney/Documents/repo/proteus-dev/linux/lib ln: failed to create symbolic link '/home/dloney/Documents/repo/proteus-dev/linux/lib': No such file or directory make: [Makefile:191: develop] Error 1 (ignored) ln -sf /home/dloney/Documents/repo/proteus-dev/linux/lib64/cmake/* /home/dloney/Documents/repo/proteus-dev/linux/lib/cmake ln: failed to create symbolic link '/home/dloney/Documents/repo/proteus-dev/linux/lib/cmake': No such file or directory make: [Makefile:192: develop] Error 1 (ignored)


Installing development version


Please include this information in all bug reports. +======================================================================================================+ PROTEUS : /home/dloney/Documents/repo/proteus-dev PROTEUS_ARCH : linux PROTEUS_PREFIX : /home/dloney/anaconda3/envs/proteus_dev PROTEUS_VERSION: +====================

dloney avatar Jan 28 '20 23:01 dloney

I can replicate with a clean python 2 environment and newly downloaded copy of proteus.

dloney avatar Jan 28 '20 23:01 dloney

@dloney, just to clarify, do you intend to build proteus through hashdist?

zhang-alvin avatar Jan 29 '20 00:01 zhang-alvin

Hi Alvin. Yes, that's what I was hoping. It appears to jump over to the conda build system though when it fails with hashdisk.

dloney avatar Jan 29 '20 12:01 dloney

Hi Alvin. Yes, that's what I was hoping. It appears to jump over to the conda build system though when it fails with hashdisk.

Could you also post the commands you used to start the build? If you used make develop, it looks like it's skipping the building of the dependencies https://github.com/erdc/proteus/blob/master/Makefile#L143-L154.

zhang-alvin avatar Jan 29 '20 14:01 zhang-alvin

@dloney I'd also recommend excluding anaconda python from your path since my understanding is that conda overrides pip, and we use that in the proteus build process. Hashdist should be fine with the system python2 to execute the build. When starting from a failed build like this, it's probably worth manually removing any old prefix directory, such as llinux and/or linux2.

cekees avatar Jan 30 '20 15:01 cekees

@zhang-alvin All I did was make develop within the conda environment, so I didn't modify anything from its default configuration. I started with clean environment and a new clone of proteus.

dloney avatar Jan 31 '20 12:01 dloney

@cekees That makes sense. Even if you called pip within a conda environment, it would still target just that single directory. It's still strange that the build is throwing an error on making the folder though.

How does removing conda from the path and bashrc affect the ability to use conda environments from the terminal for other applications? Wouldn't one need to have a secondary terminal like the Anaconda prompt to run conda environments then on a machine using proteus?

dloney avatar Jan 31 '20 13:01 dloney