-
-
Notifications
You must be signed in to change notification settings - Fork 67
Use pin_run_as_build
variants
#56
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
Use pin_run_as_build
variants
#56
Conversation
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 ( |
@conda-forge-admin, please re-render. |
recipe/meta.yaml
Outdated
- libtiff 4.0.* | ||
- jsoncpp # [unix] | ||
- expat | ||
- zlib {{ zlib }} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You don't {{ zlib }}
here
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
How do I know which cases to use {{ pkg }}
versus not using them? If I drop the {{ pkg }}
syntax, is it equivalent to having it because of the changes in PR ( conda-forge/conda-forge-pinning-feedstock#46 ). Sorry still trying to wrap my head around the features in conda-build
3 related to pinning.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If I drop the {{ pkg }} syntax, is it equivalent to having it because of the changes in PR ( conda-forge/conda-forge-pinning-feedstock#46 ).
Yes
d63e7ff
to
675105c
Compare
@conda-forge-admin, please re-render. |
Appears the pinnings may not be tight enough in some cases. Here's a loading error with Traceback (most recent call last):
File "/Users/distiller/miniconda3/conda-bld/vtk_1524956796987/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold/lib/python3.5/site-packages/vtk/vtkRenderingFreeType.py", line 5, in <module>
from .vtkRenderingFreeTypePython import *
ImportError: dlopen(/Users/distiller/miniconda3/conda-bld/vtk_1524956796987/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold/lib/python3.5/site-packages/vtk/vtkRenderingFreeTypePython.so, 2): Library not loaded: @rpath/libpng16.16.dylib
Referenced from: /Users/distiller/miniconda3/conda-bld/vtk_1524956796987/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold/lib/libfreetype.6.dylib
Reason: Incompatible library version: libfreetype.6.dylib requires version 51.0.0 or later, but libpng16.16.dylib provides version 49.0.0 Edit: ...or at least some rebuilding needs to occur with the newer versions in our pinning file. |
It's because |
@isuruf @jakirkham if this is fixed now, can you rerender? |
It’s not yet fixed. We are discussing in PR ( conda-forge/conda-forge-pinning-feedstock#52 ). |
f87f5cb
to
158e968
Compare
@conda-forge-admin, please re-render. |
Will give this another go this evening given new pinnings are out. |
Instead of relying on the `toolchain` (directly) or `vc` features (directly), use the `compiler` in the `build` section to enforce compiler and runtime match up. Also split out the `host` dependencies from the `build` dependencies.
These are already pinned automatically by `conda-build` due to the variant files provided with their pinnings. So we don't need to manually set the pinning requirements ourselves. Hence they are dropped for simplicity.
Re-render now that the new compiler syntax is in use. Pinnings are now set based on `conda-forge-pinning`.
Needed for updated pinnings.
ff46191
to
34b9119
Compare
As much of the stack is still using `hdf5` version `1.10.1`, pin `vtk` to that specific version of `hdf5` even though the pinnings now use `hdf5` version `1.10.2`. Ultimately this should be reverted once the rest of stack (specifically `libnetcdf` is rebuilt with `hdf5` version `1.10.2`). This should provide us a way forward rebuilding `vtk` with newer pinnings in the interim.
As `hdf5` has been pinned manually to `1.10.1` (temporarily), re-render to remove this pinning from the variant file.
- zlib 1.2.11 | ||
- freetype 2.8.1 | ||
- zlib | ||
- freetype | ||
- hdf5 1.10.1 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Currently libnetcdf
is using hdf5
version 1.10.1
. So we are unable to use 1.10.2
here yet. Have manually pinned this until libnetcdf
is rebuilt.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
so whats the reason for pinning 1.10.2 in conda-forge-pinnings if it introduce that much trouble?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We want to update. We just haven't rebuilt everything yet.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ultimately this could be said of any time we update pinnings actually. Nothing will be using them yet and if a lot of packages are dependent on it, there will be work to upgrade them. That work is significantly less given our new tooling, but it still needs to be done.
Ran into issue ( conda-forge/conda-smithy#775 ). Submitted PR ( conda-forge/conda-smithy#785 ) to fix it. This seems to work based on local testing. Edit: Fix included in |
In order to fix an issue with `yum_requirements.txt` not being used in the re-rendering on Linux, update to the latest `conda-smithy` release and re-render. Should fix a recent failure seen on CIs due to the absence of these requirements from `yum`.
So this looks ok thus far, but it will take a while to build. We can let it build through. Though given the length of the build, we might need to do the merge Friday evening (assuming all goes well 🍀) to avoid swamping CIs during the day. |
pin_run_as_build
variantspin_run_as_build
variants
All packages are now deployed. 🎉 Enjoy. 😄 |
Tries to use the variant pinning strategy described in the docs. Not sure if this is the best way to do this. Also unsure as to whether it can be simplified/relaxed further. Feedback welcome.
Checklist
0
(if the version changed)conda-smithy
Closes #62
ref: #54
cc @isuruf @msarahan