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

Boost in conda anaconda channel not compatible with rdkit. #6

Closed
lewisacidic opened this issue Apr 8, 2015 · 5 comments
Closed

Boost in conda anaconda channel not compatible with rdkit. #6

lewisacidic opened this issue Apr 8, 2015 · 5 comments

Comments

@lewisacidic
Copy link
Contributor

The boost library available in the anaconda channel (built using this recipe I think) doesn't link to python and so doesn't work for rdkit. This is a problem, as conda install rdkit no longer generates a working install in a fresh environment (at least on linux) as the anaconda boost is installed in preference to that bundled with rdkit (the anaconda boost is selected as the package to satisfy the dependency, as it is version 1.57, not sure if it still would be if the rdkit channel boost was the same version as anacondas).

We can either set a requirement somewhere in meta.yml for using the rdkit bundled boost (such as requiring boost-1.56), or modifying the anaconda boost recipe - I think this may be better in the long run.

Note that conda install rdkit will work if you previously conda install boost==1.56.

@rvianello
Copy link
Contributor

Hi Rich, yes, the problem has indeed appeared on the rdkit mailing list a couple of times and I would be happy to implement some kind of solution when updating the recipes for the upcoming RDKit release.

One easy way could be pinning boost to 1.56.0 in the rdkit meta.yaml file as you wrote (assuming that this version will be now unlikely to appear in the anaconda public repositories, and that the rdkit will not require an upgrade very soon). If we upgraded the recipe to match the version available from the public servers I think the dependency resolution could be controlled using the channels list specified in a ~/.condarc file.

Alternatively, also because the boost build is restricted on linux/osx to the libraries actually used by the toolkit, the package could be renamed boost-rdkit so that the risk of clashes is further reduced (but the package would conflict with the 'boost' one).

"Features" (http://conda.pydata.org/docs/build.html#features) could also help, but I'm not sure this would be the right use case.

Comments/preferences?

@lewisacidic
Copy link
Contributor Author

Depending on 1.56 seems to be a good fix for the immediate future.

Ideally I would think we should be aiming to get rdkit into the anaconda distribution eventually, or have it available in the defaults - they would likely prefer that rdkit be compatible with the defaults boost build, so perhaps we should look at offering a pull request over there?

@rvianello
Copy link
Contributor

I in general agree when changes are pushed upstream, but the rdkit has some non-trivial dependencies and I'm not probably in the best position to judge. Maybe a PR could be initially proposed for the boost package only.

Anyway, I agree that an explicit dependency from boost 1.56.0 would be a quick and effective solution. @greglandrum have you got any better preferences/suggestions?

@greglandrum
Copy link
Member

I can't think of any reason to not just force a particular version of boost, at least in the short term.
Mid-term, it seems like doing a PR for the boost package makes sense. This must be affecting others too.

I also agree that we should start thinking about talking to the guys at continuum and seeing how receptive they would be to having the RDKit come in as an "official" part of anaconda.

@rvianello
Copy link
Contributor

ok, good, this should fixed on the development branch.

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

3 participants