conda-rdkit
conda-rdkit copied to clipboard
conda-build v3.0 breaks the rdkit recipes
It seems that the mechanism used to manage the package version in the rdkit and rdkit-postgresql* recipes is no longer supported. Once the build has completed, packaging fails with the error below:
ValueError: support for __conda_version__ has been removed as of Conda-build 3.0.Try Jinja templates instead: http://conda.pydata.org/docs/building/meta-yaml.html#templating-with-jinja
Yepp, I can confirm this, RDKit can not be built anymore with the latest version of conda-build.
Yeah, unfortunately we're going to have to redo the recipes for this.
Here are a couple of links related to the main changes coming with conda-build3:
https://www.continuum.io/blog/developer-blog/package-better-conda-build-3 https://conda.io/docs/building/variants.html
On the good side, the built-in support for creating package variants looks complex, but quite interesting/useful. On the bad side, I was trying to use it yesterday w/ conda-build 3.0.6 and I ran into some bugs (I didn't yet test the newer version 3.0.8 though..), so I'm wondering if in the shortest term downgrading to the latest v.2.x could be a reasonable workaround.
Yes, these (unnecessary?) breaking changes suck.
This Friday morning I thought: "Hey I know, I'll just update the RDKit, it only takes half an hour, right". Well, no.
Sometimes using open source software makes me very tired... (not that this won't happen with commercial software and after all, where would be the fun if not in fixing some challenging breaking changes, but sometimes you just want a dull Friday morning).
@apahl in this case do you actually need to do your own build? Could you use a pre-built RDKit version instead? That would be a lot easier and would help make Friday morning boring again.
@greglandrum, you might remember that the pre-built version is significantly slower for me (which you could not reproduce), therefore I always build it myself. In the meantime I have downgraded conda-build to 2.1.17 and successfully built the RDKit.
I "might" remember, but I don't. :-S
We had that discussion on Slack.
I am trying to install conda-rdkit using the provided recipe and conda-build 3.0.10
Everything compiles but 2 tests fail at the end:
OK
[16:29:09] ERROR:
[16:29:09] ERROR:
!!! TEST FAILURE: python PandasTools.py {}
!!! TEST FAILURE: python UnitTestPandasTools.py {}
98% tests passed, 2 tests failed out of 116
Total Test time (real) = 146.84 sec
The following tests FAILED:
111 - pythonTestDirML (Failed)
116 - pythonTestDirChem (Failed)
Errors while running CTest
Traceback (most recent call last):
File "/home/dan/anaconda3/bin/conda-build", line 11, in <module>
sys.exit(main())
File "/home/dan/anaconda3/lib/python3.6/site-packages/conda_build/cli/main_build.py", line 387, in main
execute(sys.argv[1:])
File "/home/dan/anaconda3/lib/python3.6/site-packages/conda_build/cli/main_build.py", line 378, in execute
noverify=args.no_verify)
File "/home/dan/anaconda3/lib/python3.6/site-packages/conda_build/api.py", line 184, in build
need_source_download=need_source_download, config=config, variants=variants)
File "/home/dan/anaconda3/lib/python3.6/site-packages/conda_build/build.py", line 1733, in build_tree
notest=notest,
File "/home/dan/anaconda3/lib/python3.6/site-packages/conda_build/build.py", line 1125, in build
utils.check_call_env(cmd, env=env, cwd=src_dir)
File "/home/dan/anaconda3/lib/python3.6/site-packages/conda_build/utils.py", line 678, in check_call_env
return _func_defaulting_env_to_os_environ(subprocess.check_call, *popenargs, **kwargs)
File "/home/dan/anaconda3/lib/python3.6/site-packages/conda_build/utils.py", line 674, in _func_defaulting_env_to_os_environ
return func(_args, **kwargs)
File "/home/dan/anaconda3/lib/python3.6/subprocess.py", line 291, in check_call
raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['/bin/bash', '-x', '-e', '/home/dan/anaconda3/conda-bld/rdkit_1503433137320/work/conda_build.sh']' returned non-zero exit status 8.
so I tried to install conda build 2.0 using
conda install conda-build==2.0
but then I get
UnsatisfiableError: The following specifications were found to be in conflict:
- conda-build ==2.0 -> python 2.7* -> openssl 1.0.1*
- python 3.6*
any advice on how to proceed?? I had to nuke my anaconda installation recently, and I'm looking for an easy way to install RDkit (last time I did it from source). I will be having to install RDkit on multiple clusters soon.
details: Linux Mint 18.1 Serena Python 3.5