Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

properly defining conda build output root #1

Open
NiklasTR opened this issue Apr 12, 2022 · 1 comment
Open

properly defining conda build output root #1

NiklasTR opened this issue Apr 12, 2022 · 1 comment

Comments

@NiklasTR
Copy link
Collaborator

NiklasTR commented Apr 12, 2022

Hi Brian,

first, it is great to meet you this way, and thank you for inviting me to this repo! I am currently trying to build an application-grade version of rifdock that could serve as a public good for any scientist to design their protein binder of interest.
I am currently working through the README and got stuck at a very basic step, the definition of the conda build output path when building the conda package. I attached the example:

# after cloning this repository and installing dependencies (e.g. realpath) for Mac via "brew install coreutils"
rindtorff@niklas rifdock-recipes % ./docker_build.sh rosetta_omp ~/rosetta github_token.txt
readlink: illegal option -- f
usage: readlink [-n] [file ...]
readlink: illegal option -- f
usage: readlink [-n] [file ...]
conda-build output root: '/Users/rindtorff/rosetta' can not fall within working tree: '/Users/rindtorff/zettelkasten/labdao/rifdock-recipes/rosetta_omp'
Usage: ./docker_build.sh <rosetta_omp|rifdock> <conda-build output root> <github access token file>
rindtorff@niklas rifdock-recipes % 

Do you have an example for the usage of within the command? I am afraid I do not fully understand what it is used for (and how to mitigate the current error I am encountering).

Thank you!

@weitzner
Copy link
Owner

Hi Niklas,

Super cool idea that would be very useful. I should point out that AFAIK the Rosetta license forbids the kind of use you're describing and you'd need to negotiate a special license from the University of Washington to do that.

On to the error! Basically the call to readlink is failing so it thinks the universe is too broken to continue building. Since it sounds like you're on a Mac, my bet is that it's still calling the system readink, which is the BSD implementation as opposed to the GNU implementation you want to use. You could try changing the calls to readlink to greadlink in the docker_build.sh script but note that those changes won't work on Linux. On my Mac system, I use MacPorts as my package manager instead of homebrew, installed coreutils and prepended /opt/local/libexec/gnubin to my path to call greadlink as readlink. Works like a charm.

You may prefer building on Linux regardless because the filesystem performance on docker on a Mac is awful, like 1000x slower than it should be and since there are so many files to copy, compile and link, it's really noticeable. Hope this helps!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants