-
-
Notifications
You must be signed in to change notification settings - Fork 13
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
Build 16.1.0 for linux and macOS #80
Conversation
…nda-forge-pinning 2024.03.16.19.50.45
…nda-forge-pinning 2024.06.03.19.07.16
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 ( |
First I tried 15.0.1, but the URL https://dist.apache.org/repos/dist/release/arrow/arrow-15.0.1/apache-arrow-15.0.1.tar.gz no longer exists. Looking at https://dist.apache.org/repos/dist/release/arrow/, it appears that links to old releases are removed. Is there a less ephemeral link that we could use as the source? Then I tried 16.0.0, but that failed to load during the test section. It was looking for > library('arrow'); stopifnot(arrow_with_dataset(), arrow_with_parquet(), arrow_with_s3())
Error: package or namespace load failed for ‘arrow’ in dyn.load(file, DLLpath = DLLpath, ...):
unable to load shared object '/home/conda/feedstock_root/build_artifacts/r-arrow_1717529301336/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehol/lib/R/library/arrow/libs/arrow.so':
libarrow_substrait.so.1600: cannot open shared object file: No such file or directory
Execution halted Anyways, 16.1.0 was able to build. Can we release this newer version for linux and macOS? |
@h-vetinari @xhochy thoughts on temporarily skipping the Windows build in order to create Linux and macOS binaries for r-arrow 16.1.0? |
I'll leave this for @xhochy to decide, who has been battling the windows builds here. |
Tip tl;dr Skip to the end to jump to the conclusion. Essentially the tightened run exports pin was only applied to 16.1.0 and not 16.0.0, so I don't believe we can build r-arrow 16.0.0 without backporting this to libarrow* 16.0.0. I am still unclear why the run exports of libarrow-substrait isn't being enforced for r-arrow. It is listed in the host requirements, so it's run exports should be enforced at runtime. r-arrow-feedstock/recipe/meta.yaml Line 44 in 51b3145
Here's the link to the 16.0.0 build. I confirmed again that libarrow-substrait 16.0.0 was installed in the host env but libarrow-substrait 16.1.0 in the test section. But it's not like there is no run exports. It clearly pins on the major version: mamba create --dry-run -n test \
-c conda-forge --override-channels \
r-arrow=14 | grep substrait
## + libarrow-substrait 14.0.2 he4f5ca8_25_cpu conda-forge 524kB I also looked at pyarrow. It pins correctly, but in an odd way that doesn't utilize run exports. Instead it manually pins the runtime dependency. I assume there is some reason why this strategy was chosen instead of relying on run exports mamba create --dry-run -n test \
-c conda-forge --override-channels \
pyarrow=15 | grep substrait
## + libarrow-substrait 15.0.2 he4f5ca8_12_cpu conda-forge 523kB
mamba create --dry-run -n test \
-c conda-forge --override-channels \
pyarrow=16.0 | grep substrait
## + libarrow-substrait 16.0.0 h7e0c224_1_cpu conda-forge 549kB
mamba create --dry-run -n test \
-c conda-forge --override-channels \
pyarrow=16.1 | grep substrait
## + libarrow-substrait 16.1.0 h7e0c224_7_cpu conda-forge 549kB Ah, I think I found it. The run exports of libarrow-substrait (and the other libarrow libraries) was only increased from So that must mean my run above installed a libarrow-substrait 16.0 build prior to the updated pin. Unclear why the solver would favor this older version.
Nope. That is the latest version. It was uploaded on 2024-05-08, so prior to the updated run exports pins that was merged on 2024-05-17. Oh wait. That PR was merged into main, so it only affected 16.1.0, not 16.0.0. And because the repodata patch can't be applied between the build and the test section, then IIUC there is no way to build r-arrow 16.0.0 without backporting the tightened run exports to 16.0.0. |
Fine with me. I found a bit of the root of the windows errors, but for fully solving, it will me some more hours of attention. |
Checklist
0
(if the version changed)conda-smithy
(Use the phrase@conda-forge-admin, please rerender
in a comment in this PR for automated rerendering){{ stdlib("c") }}
, and rerendered