-
Notifications
You must be signed in to change notification settings - Fork 3.3k
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
add pyopenms #18522
add pyopenms #18522
Conversation
minor note: please adapt:
and add pyopenms nose test? |
Shouldn't this be a sub-package of the main OpenMS recipe? |
Hi Björn, Thanks for chipping in. Good question. So far we kept the projects separate and we probably need to look into what this would imply. AFAIK in our pip installer, we left the tools out and only compiled the library for use with pyopenms. Is it possible to do it as two recipes now and potentially move to the sub-package later? |
We can postpone this to later :) |
@Leon-Bichmann please check that all dependencies are installed. |
there seem to be an issue with boost now. |
boost has the boost-python stuff, boost-cpp is realy just the CPP part of boost. |
I think we're going to need to take a couple different tacks with this recipe. Firstly, we should just depend on openms, so we don't need to recompile the whole thing. We still need to run cmake, though, since otherwise |
Actually, I think it'll be easier to just manually make |
It would be great to get this into bioconda in order to include more recipes based on pyopenms #18701 |
@hroest Leon and I are a bit lost here and would like to hear what you think would be the best way forward? |
Most of our recipes are now build with C++17, so trying to compile with C++11 will have issues going forward, since it won't work with newer boost versions. I've gotten pyopenms to at least build now without needing to compile all of openms at the same time. There's a fair bit of hackiness involved in that, but it builds in half the time and at least partially passes testing (I'm not sure about the mulled testing yet). |
I think it is possible to depend on OpenMS but it is not the way we usually do our config and build since in the default config However, once the
as soon as you include OpenMS header files, you should enable C++11 flags
Which boost versions require C++17? Also this does not seem to be a pyOpenMS issue but an OpenMS issue in general - you can try and compile with C++17 and it may work out of the box, we have not tested it. If we get OpenMS to compile with C++17 then pyopenms should also work.
sounds good, see my concerns above about manually hacking the build system. Why is it so important to depend on openms instead of starting from scratch or from the same build environment? |
While boost doesn't explicitly require C++17, the recent (at least 1.70.0) packages on conda-forge have been compiled that way so you'll have issues getting the symbols correct if you force C++11. My only real concern with rebuilding openms is that anyone trying to install both openms and pyopenms in the same environment will then run into problems due to file collisions or slightly different requirements due to the packages getting built at somewhat different times. Explicitly depending on openms resolves that issue. |
@bioconda-bot please update |
At the very least it's building on Linux now, so there will be a test package. |
@bioconda-bot please fetch artifacts |
Package(s) built on CircleCI are ready for inspection:
You may also use
Docker image(s) built:
|
Can someone ensure the linux package works? We can then just skip the OSX build for now. |
@dpryan79 thx for getting this forward! I'll give the unix package a try. |
ok nice, everything seems to go fine and it works for me on unix |
Shall we skip OSX for now and merge this in? BTW, the errors on OSX are:
That strikes me as a cython bug on OSX. |
From my side we could skip OSX. |
Is there a way to check whether cython versions are the same for unix and OSX ? Maybe that was the issue here. |
Looking at the build logs it was 0.29.14 in both cases. |
@bioconda-bot please merge |
I will attempt to upload artifacts and merge this PR. This may take some time, please have patience. |
Concerning the macOS error, for potential future bug-fix PRs I have a question @dpryan79 : |
Presumably there was already a config.h in the source tree that got used. If it was inappropriate for OSX then that'd certainly cause issues, though type sizes should be mostly the same between Linux and OSX these days since they're the same architecture. |
Here we want to add a new conda package pyopenms, which builds the python bindings of the already available package openms.
Please review and merge if the tests pass.
Thanks!