conda-rdkit icon indicating copy to clipboard operation
conda-rdkit copied to clipboard

conda-build v3.0 breaks the rdkit recipes

Open rvianello opened this issue 7 years ago • 9 comments

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

rvianello avatar Jul 10 '17 20:07 rvianello

Yepp, I can confirm this, RDKit can not be built anymore with the latest version of conda-build.

apahl avatar Jul 21 '17 07:07 apahl

Yeah, unfortunately we're going to have to redo the recipes for this.

greglandrum avatar Jul 21 '17 07:07 greglandrum

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.

rvianello avatar Jul 21 '17 08:07 rvianello

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 avatar Jul 21 '17 08:07 apahl

@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 avatar Jul 21 '17 08:07 greglandrum

@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.

apahl avatar Jul 21 '17 08:07 apahl

I "might" remember, but I don't. :-S

greglandrum avatar Jul 21 '17 08:07 greglandrum

We had that discussion on Slack.

apahl avatar Jul 21 '17 09:07 apahl

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

delton137 avatar Aug 22 '17 20:08 delton137