rdkit / homebrew-rdkit

Homebrew formula for rdkit
44 stars 19 forks source link

Formula not working due to boost 1.60 dependency #32

Closed greglandrum closed 4 years ago

greglandrum commented 8 years ago

Everything builds, but the Python wrappers are not fully functional due to a bug in boost 1.60

We need to figure out how to use boost 1.59

mcs07 commented 8 years ago

I think the way to do this is to depend on a formula from the homebrew/versions tap. So we could use this formula: https://github.com/Homebrew/homebrew-versions/blob/master/boost159.rb

It may be a simple as changing line 20 in the formula to

depends_on 'homebrew/versions/boost159'

But I suspect there will be additional complications because I don't think these older versions formulae automatically symlink into /usr/local, so we may also have to point cmake at the install location, which will be something like /usr/local/Cellar/boost/1.59/...

greglandrum commented 8 years ago

I think that's not going to work because boost and boost-python end up in different directories thanks to the way homebrew has broken them into to packages. When they are actually installed and linked, they end up in the same place, but as long as they are /usr/local/Cellar/boost and /usr/local/Cellar/boost-python there may be a problem.

mcs07 commented 8 years ago

Having thought about this, I am now thinking the best solution would be to add https://github.com/boostorg/python/pull/59 as a patch to the standard boost 1.60 formula. I will try submit this as a pull request to homebrew-core when I have time. Hopefully they will accept it - there is already another upstream patch applied due to another bug in 1.60 (see https://github.com/Homebrew/homebrew-core/commit/c25419f996b370b96a2c69edac74ababc221cef6) so hopefully it will be fine.

If they don't accept it for some reason, we could alternatively add the patched boost formula into this tap, and explicitly use depends_on rdkit/rdkit/boost in the RDKit formula.

greglandrum commented 8 years ago

This makes a lot of sense. Thanks for that @mcs07 And let me know when your PR is in, I'll go +1 it.

mcs07 commented 8 years ago

OK this should now be sorted (see https://github.com/Homebrew/homebrew-core/issues/516), it will just require a brew reinstall boost for those who already got 1.60.

Apparently boost 1.61 is scheduled for release next wednesday, so it would have been resolved soon anyway!

greglandrum commented 8 years ago

Great. thanks!

ignaciot commented 6 years ago

I just tried installing rdkit and still got this issue, with the latest version available of boost (1.65.1). Maybe the fix applied to 1.61 was lost in a later version? Is there a workaround to get this to install, in the meantime? (I mainly care about rdkit's Python libraries) Thanks!

EDIT: Also tried to remove boost and brew install boost@1.60 after getting rid of the latest version, but rdkit pushes 1.65.1 again as part of its formula, so I keep getting the same error. Got it working as a conda environment, but I'd rather not depend on that and just run rdkit as part of my standard Python environment.

ManvithaPonnapati commented 6 years ago

+1

mcs07 commented 6 years ago

@ignaciot @ManvithaPonnapati See https://github.com/rdkit/homebrew-rdkit/issues/43#issuecomment-330340925

UnixJunkie commented 5 years ago

This can be closed.

UnixJunkie commented 4 years ago

I still think this can be closed. ;)