-
Notifications
You must be signed in to change notification settings - Fork 4
Move to Conda-Forge? #2
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
Comments
Hi Rick, I'm all for this, let's do it! I'm going to test the macOS conda part this week and let you know. |
Rick, sorry, I'm just a noob: how should go about creating a conda package for macOS? Is there a sequence of conda commands you can suggest? Thanks! |
Hey luca, Sorry about the delayed response, I missed this github notification for a few days. Thanks for being down with the conda-forge move. I'll add in the appropriate modifications to the meta.yaml files now. I'll provide the install instructions I used for linux, they should be almost identical for macOS since it's all unix based anyways. NOTE: If you use disk encryption on your machine, read my note at the end of this post before attempting the build process. SETUP
The packages need to be built in the following order: 1) itk, 2) vtk, 3) vmtk BUILDING ITK
As ITK does not depend on python in any way, we only need to build it once. The package is saved on your local machine, and will be used from there when building vtk and vmtk in the following steps. BUILDING VTK
Since VTK depends on the python version for correct wrapping, VTK needs to be build 5 seperate times, once specifying each python version we are building VMTK for:
BUILDING VMTK The paradigm is the same as for building VTK. since we are building for 5 different python versions, this needs to be run 5 seperate times interchanging the parameter
TESTING VMTK CONDA PACKAGE
UPLOAD TO ANACONDA CLOUD Once you have tested each of the vmtk version built, it is time to upload the packages to anaconda cloud. Since we haven't released these publically yet, upload to the
17 upload vmtk:
NOTE ON BUILDING WITH AN ENCRYPTED MACHINE Specifying a 128 character prefix length worked just fine on my system before I moved to building on an (un-encrypted) large multicore server I spunup on google cloud (I needed to do this for my own sanity since building ITK/VTK takes a decent chunk of time on a 4 core system, and the only way to test if the meta.yaml / build.sh files worked correctly was to do a full build and check the results after each change). |
sorry for the essay there, let me know if you have any question, and good luck on building with windows. I would check out https://conda.io/docs/build_tutorials/windows.html since there seems to be some VS version requirements to build against different python versions on windows. let me know how it goes. |
Hey Rick, thanks a lot for taking the time to write up the directions. |
Doing itk and vtk on macOS... so far so good |
VTK was a go. The build fails on vmtk though. I can't decipher the issue right away, the culprit seems to be
Does it ring a bell on your end? Full log here:
THanks! |
So I don't htink this is an issue that I ran into specifically. If I had to guess, I would say that it's an issue with the
I'm not sure how to address the issue. I would take a look at the docs on working with shared libraries or some of the suggestions in conda/conda-build#279 to try and fix it |
Heres a copy of a successful build log (may be useful for comparrison):
|
also, before we can use conda-forge, we need to wait for them to support building on OSX. I guess the build time is slightly too long for the free build computers available to conda-forge. However, there seems to be a fix in the works. see conda-forge/vtk-feedstock#10 for more info. |
Hey @lantiga , how goes building VTK? any successes? |
Hey @rlizzo , I've been stuck with project-related work. It's in my shortlist, I hope to get to this towards the end of this week. Thanks for your patience! |
Working on this. I fixed the RPATH issue, but the error persists. Digging. |
Got it: the PYTHON_LIBRARY PATH variable that CMake picks up is wrong. Fixing. |
Thanks @lantiga ! Glad to hear that it is working! |
Hey @rlizzo, I'm launching the builds for all python versions today and then I'm going to upload. |
Test works except that the RenderingPython bindings were not built. I didnt' get this one, so I'm investigating. We're close though :-) |
I just want to throw this out there since I came across it and thought it may be relevant to your problem: Take a look at the conda-forge vtk-feedstock readme; https://github.com/conda-forge/vtk-feedstock/blob/master/recipe/README.md |
Also, are you having trouble with one specific python version, or all of them? I'm rebuilding because of the new merge into vmtk/master, and all of a sudden VTK won't build for me with python3.3. it's wierd. every other version works perfectly, but 3.3 is failing all of a sudden, and I have no idea why. |
I'm working with 2.7, it's really odd. If I Regarding |
It works! 🎉 |
Well that's very strange that it wouldn't build that one component, but awesome! glad to hear it works now! I'm really stumped on the python 3.3 thing. I've reverted back to previous commits, tried to debug manually, tried to screw it up on purpose to see what it does.. nothing. The only thing I can think of is that something in my system setup changed that is freaking out You're quite right: if you're already using python 3, theres not much of an excuse to not use version 3.5/3.6. After 3.2 there weren't any application breaking changes, and the new features / performance gains realeased in 3.6 are just killer (I freaking love the new pathlib objects). In any case, since python 3.4 works as expected I built that as well. The most recent build has been pushed up to the vmtk anaconda channel under vmtk/label/dev. Can't wait to see the MacOS ones get uploaded as well. I guess we only have to deal with Windows now ... should be fun ... /s |
FYI, i just merged the improvements numpy/image conversion in vmtk master: vmtk/vmtk#189. you'll have to rebuild vmtk in order to get the latest version of the master branch. |
Building VTK on macOS is slooow! There's a "Fixing linking" phase that takes forever - it took the whole day to build on 2.7, 3.5 and 3.6 (3.4 failed in the testing phase). Well, done with that, I'm rebuilding vmtk and then I'll upload. Fingers crossed! |
Uploaded. Tomorrow I'll test the packages on a clean machine. |
Hey Rick, |
Thanks @daron1337! After seeing vmtk/vmtk#194, I realized that I missed the VTK version specification in the vmtk/meta.yaml file. I need to test this, but I'm concerned that if the VMTK package is built with VTK 8, it will break if it is run in an environment where VTK 7 is installed (or vice versa). Since:
It's an easy enough test and fix, but I just wanted you to be aware of it since I'm currently swamped and won't be able to dig into it until after the weekend. Also, we're going to need a rebuild anyways after I address vmtk/vmtk#193. Let me know if you have a chance to test this before I get to it. Otherwise I'll report back early next week. |
I'm closing this issue as the discussion has gone out of scope and the original topic is moot until the conda-forge channel upgrades to conda-build 3+ (which may allow VTK to be built on macs). pertinent tutorials have been copied to the project readme. |
@rlizzo and @lantiga: Are there any updates on the move to conda-forge? From what I understand the problem with VTK is now fixed: conda-forge/vtk-feedstock#56. I would be happy to contribute with the move. |
Awesome job, @aslakbergersen. Thank you for getting the ball rolling! |
@lantiga
Now that we have the recipes stable and building (on linux64 atleast), I'm thinking of the best way to build the packages in the long term. I've been looking into conda-forge, and think that it may be a solution we may want to adopt in the long term. There are a number of benefits to this approach:
You can read more about the benefits of conda-forge here.
In order to make the move the process is fairly simple, the steps are outlined below:
Let me know your thoughts and I'll start working on building an appropriate meta.yaml and build.sh / build.bat file for the conda-forge tool. If this is a route we want to go down it may be best to do it from day 1 so that when VMTK users start using the anaconda packaging, they have the conda-forge channel as their default and will recieve updates with no intervention in the future.
The text was updated successfully, but these errors were encountered: