rdkit / conda-rdkit

Conda build recipe for the rdkit
50 stars 30 forks source link

conda-build v3.0 breaks the rdkit recipes #53

Open rvianello opened 7 years ago

rvianello commented 7 years ago

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
apahl commented 7 years ago

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

greglandrum commented 7 years ago

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

rvianello commented 7 years ago

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.

apahl commented 7 years ago

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

greglandrum commented 7 years ago

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

apahl commented 7 years ago

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

greglandrum commented 7 years ago

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

apahl commented 7 years ago

We had that discussion on Slack.

delton137 commented 7 years ago

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