Skip to content
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

vtk v9.0.0 #127

Merged
merged 13 commits into from May 29, 2020
Merged

vtk v9.0.0 #127

merged 13 commits into from May 29, 2020

Conversation

regro-cf-autotick-bot
Copy link
Contributor

@regro-cf-autotick-bot regro-cf-autotick-bot commented May 2, 2020

It is very likely that the current package version for this feedstock is out of date.
Notes for merging this PR:

  1. Feel free to push to the bot's branch to update this PR if needed.
  2. The bot will almost always only open one PR per version.
    Checklist before merging this PR:
  • Dependencies have been updated if changed: see upstream
  • Tests have passed
  • Updated license if changed and license_file is packaged

Note that the bot will stop issuing PRs if more than 3 Version bump PRs generated by the bot are open. If you don't want to package a particular version please close the PR.

NEW: If you want these PRs to be merged automatically, make an issue with @conda-forge-admin,please add bot automerge in the title and merge the resulting PR. This command will add our new bot automerge feature to your feedstock!

If this PR was opened in error or needs to be updated please add the bot-rerun label to this PR. The bot will close this PR and schedule another one. If you do not have permissions to add this label, you can use the phrase @conda-forge-admin, please rerun bot in a PR comment to have the conda-forge-admin add it for you.

This PR was created by the regro-cf-autotick-bot.
The regro-cf-autotick-bot is a service to automatically track the dependency graph, migrate packages, and propose package version updates for conda-forge. If you would like a local version of this bot, you might consider using rever. Rever is a tool for automating software releases and forms the backbone of the bot's conda-forge PRing capability. Rever is both conda (conda install -c conda-forge rever) and pip (pip install re-ver) installable.
Finally, feel free to drop us a line if there are any issues!
This PR was generated by https://circleci.com/gh/regro/circle_worker/16425, please use this URL for debugging

Here is a list of all the pending dependencies (and their versions) for this repo. Please double check all dependencies before merging.

Name Upstream Version Current Version
boost-cpp 1.73.0 Anaconda-Server Badge
tbb 2020.2 Anaconda-Server Badge

@conda-forge-linter
Copy link

Hi! This is the friendly automated conda-forge-linting service.

I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.

@xylar
Copy link
Contributor

xylar commented May 2, 2020

@conda-forge-admin, please rerender

@conda-forge-linter
Copy link

Hi! This is the friendly automated conda-forge-linting service.

I wanted to let you know that I linted all conda-recipes in your PR (recipe) and found some lint.

Here's what I've got...

For recipe:

  • Failed to even lint the recipe, probably because of a conda-smithy bug 😢. This likely indicates a problem in your meta.yaml, though. To get a traceback to help figure out what's going on, install conda-smithy and run conda smithy recipe-lint . from the recipe directory.

@xylar
Copy link
Contributor

xylar commented May 2, 2020

@conda-forge-admin, please rerender

@conda-forge-linter
Copy link

Hi! This is the friendly automated conda-forge-linting service.

I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.

@xylar
Copy link
Contributor

xylar commented May 2, 2020

@jsbronder, I believe your help is needed to get TCL/TK support working in 9.0.0. As we discussed in #105, I don't think I was successful in getting it to work and eventually had to move on with 9.0.0rc1 without it. Perhaps 9.0.0 will be easier?

@xylar
Copy link
Contributor

xylar commented May 2, 2020

It looks like the release hasn't gone live yet at https://vtk.org/download/ and the hash is getting changed. I guess we'd better hold off on merging, but @jsbronder, it still would make sense to try to figure out TCL/TK.

@xylar
Copy link
Contributor

xylar commented May 2, 2020

@conda-forge/vtk, even though the release isn't posted yet on the VTK download page, it would be very good to get a review from as many of you as possible. Given that the release has already been tagged on the GitLab web page, I don't expect any remaining changes to affect the recipe other than the sha256.

@looooo
Copy link
Contributor

looooo commented May 2, 2020

it would be nice to try to avoid "build_env" prefixed paths in the cmake files. We saw some problems with this in vtk8.2: #86

@xylar
Copy link
Contributor

xylar commented May 2, 2020

@looooo, please edit the recipe and let's see how it goes.

@looooo
Copy link
Contributor

looooo commented May 2, 2020

I didn't find any "buid_env" prefixes in the cmake files of the vtk9.0.0.rc3 package. So I guess this is not a problem.

@jsbronder
Copy link
Contributor

@jsbronder, I believe your help is needed to get TCL/TK support working in 9.0.0. As we discussed in #105, I don't think I was successful in getting it to work and eventually had to move on with 9.0.0rc1 without it. Perhaps 9.0.0 will be easier?

Will do, I'll take a look early next week.

@jsbronder
Copy link
Contributor

@jsbronder, I believe your help is needed to get TCL/TK support working in 9.0.0. As we discussed in #105, I don't think I was successful in getting it to work and eventually had to move on with 9.0.0rc1 without it. Perhaps 9.0.0 will be easier?

Will do, I'll take a look early next week.

This all seems to work for me. I cloned vtk-feedstock and used the following script:

#!/usr/bin/env bash

topdir=$(dirname $(realpath -m $0))

export BUILD_CONFIG=Release
export PREFIX=${topdir}
export PY_VER=3
export SP_DIR=lib/python${PY_VER}/sites-packages

bash /home/jbronder/st/vtk-feedstock/recipe/build.sh

Once that completes I can:

PYTHONPATH=lib/python3.7/site-packages/ python -c 'import vtk.tk.vtkTkRenderWidget'

which all works. What exactly are you seeing fail?

@xylar
Copy link
Contributor

xylar commented May 5, 2020

@jsbronder, if it seems to be working, that's great! I had commented just before merging this PR to dev that I was disabling TK support: #105 (comment)
And since I am more or less bringing over that recipe, I thought that was still going to be the case here. I haven't had time to investigate further and am not able to do a non-osmesa build on my local machine so I haven't done any of my own testing.

recipe/build.sh Outdated
-DVTK_MODULE_USE_EXTERNAL_vtkeigen:BOOL=ON \
-DVTK_MODULE_USE_EXTERNAL_vtkdoubleconversion:BOOL=ON \
-DVTK_MODULE_USE_EXTERNAL_vtklz4:BOOL=ON \
-DVTK_MODULE_USE_EXTERNAL_vtkzlib:BOOL=ON \
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this is wrong, try VTK_MODULE_USE_EXTERNAL_zlib=ON
even better you can use VTK_USE_EXTERNAL=ON and disable only those that are not present (libharu, utf8)

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@jschueller, I think the syntax changed with 9.0.0 but I could be wrong. I will try your suggestion. libharu is now available from conda-forge. I'm not sure about utf8 but I ended up with a list of 6 other packages that weren't on conda-forge yet and still had to be "vendored": #55 (comment)

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

By the way, I think you are more than welcome to be come a maintaner...

recipe/build.sh Outdated
if [ "${OSNAME}" == Linux ]; then
VTK_ARGS+=(
"-DVTK_USE_X:BOOL=OFF"
"-DCMAKE_TOOLCHAIN_FILE=${RECIPE_DIR}/cross-linux.cmake"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

why do you need a cross file ? CMAKE_PREFIX_PATH is usually enough

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm happy to see if we can remove this. The CDAT folks seemed to think it was needed but I'm not sure if that's still true. @muryanto1?

recipe/build.sh Outdated
-DVTK_MODULE_USE_EXTERNAL_vtkzfp:BOOL=OFF \
-DVTK_MODULE_USE_EXTERNAL_vtkxdmf2:BOOL=OFF \
-DVTK_MODULE_USE_EXTERNAL_vtkxdmf3:BOOL=OFF \
-DVTK_MODULE_USE_EXTERNAL_vtkpegtl:BOOL=OFF \
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@jschueller, this syntax isn't working Please let me know if you have further advice.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

read the log again, it does work, now pegtl is required so either disable it or create a pegtl package

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@jschueller, I certainly don't have time to make packages for these six libraries. My plan was to leave them vendored for now and hope that others do. That was what my syntax before was aiming to do.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

as I said, this must be VTK_MODULE_USE_EXTERNAL_pegtl:BOOL=OFF, not VTK_MODULE_USE_EXTERNAL_vtkpegtl:BOOL=OFF

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Okay, I'll give that a go.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This didn't appear to change the outcome. I don't have time to work on this further today. I would very much welcome help from others more knowledgeable about cmake! @jschueller, if you would prefer not to become a maintainer but want to throw up a test build of your own, I would certainly welcome that, too.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It seems I forgot an extra "VTK" in VTK_MODULE_USE_EXTERNAL_VTK_pegtl

@xylar
Copy link
Contributor

xylar commented May 9, 2020

@conda-forge-admin, please rerender

@xylar
Copy link
Contributor

xylar commented May 14, 2020

@conda-forge-admin, please rerender

@xylar xylar removed the request for review from ivoflipse May 14, 2020 09:25
@MuellerSeb
Copy link
Member

Okay, and here's the answer to the first question:
https://gitlab.kitware.com/vtk/vtk/-/blob/master/ThirdParty/libharu/CMakeLists.txt#L8-10
VTK requires an unreleased version.

Seems like LibHaru needs a new maintainer (as written on their webpage)

@xylar
Copy link
Contributor

xylar commented May 29, 2020

Given that builds without mesalib are building correctly and I don't know what the problem is with the mesalib build, I'm going to disable the mesalib builds for now to get this merged.

@xylar
Copy link
Contributor

xylar commented May 29, 2020

@conda-forge-admin, please rerender

@jschueller
Copy link
Contributor

jschueller commented May 29, 2020

bld.bat does not actually use external dependencies, the variables are misnamed, see build.sh:

-DVTK_USE_EXTERNAL:BOOL=ON \
    -DVTK_MODULE_USE_EXTERNAL_VTK_libharu:BOOL=OFF \
    -DVTK_MODULE_USE_EXTERNAL_VTK_diy2:BOOL=OFF \
    -DVTK_MODULE_USE_EXTERNAL_VTK_kzfp:BOOL=OFF \
    -DVTK_MODULE_USE_EXTERNAL_VTK_pegtl:BOOL=OFF \
    -DVTK_MODULE_USE_EXTERNAL_VTK_kissfft:BOOL=OFF \

by the way diy2, kzf and kissfft cannot be enabled via external use, so these are actually also useless from build.sh

@xylar
Copy link
Contributor

xylar commented May 29, 2020

Thanks for your ongoing advice, @jschueller. Does my last commit address your last comment?

I think I had meant to update bld.bat earlier once I was sure we had build.sh figured out but forgot. VTK isn't my highest priority, just trying to help out some colleagues who use it...

...based on suggestions from @jschueller
@jschueller
Copy link
Contributor

perfect, for lzma I had to specify the path to the lib, see pv feedstock

following approach in paraview-feedstock
@xylar
Copy link
Contributor

xylar commented May 29, 2020

Thanks, that's a very helpful tip!

@xylar xylar merged commit cb6ccc4 into conda-forge:master May 29, 2020
@regro-cf-autotick-bot regro-cf-autotick-bot deleted the 9.0.0_hbc8ac4 branch May 29, 2020 18:29
@banesullivan banesullivan mentioned this pull request Nov 6, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

8 participants