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

arrow-cpp v10.0.1 #875

Merged
merged 40 commits into from
Dec 4, 2022
Merged

Conversation

regro-cf-autotick-bot
Copy link
Contributor

@regro-cf-autotick-bot regro-cf-autotick-bot commented Oct 26, 2022

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

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

Closes #158
Closes #862
Closes #867
Closes #866
Closes #880
Closes #890
Closes #894

Information about 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.
  3. 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.
  4. 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 bot automerge feature to your feedstock.
  5. 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.

Pending Dependency Version Updates

Here is a list of all the pending dependency version updates for this repo. Please double check all dependencies before merging.

Name Upstream Version Current Version
arrow-cpp 10.0.0 Anaconda-Server Badge

Dependency Analysis

We couldn't run dependency analysis due to an internal error in the bot. :/ Help is very welcome!

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. Feel free to drop us a line if there are any issues! This PR was generated by https://github.com/regro/autotick-bot/actions/runs/3327188129, please use this URL for debugging.

@conda-forge-linter
Copy link
Contributor

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.

@jakirkham
Copy link
Member

Please see PR ( #866 )

@conda-forge-linter
Copy link
Contributor

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

I was trying to look for recipes to lint for you, but it appears we have a merge conflict.
Please try to merge or rebase with the base branch to resolve this conflict.

Please ping the 'conda-forge/core' team (using the @ notation in a comment) if you believe this is a bug.

@xhochy
Copy link
Member

xhochy commented Oct 27, 2022

@h-vetinari You can also mark PRs as draft to stop the bot from reopening them.

@h-vetinari
Copy link
Member

@h-vetinari You can also mark PRs as draft to stop the bot from reopening them.

Cool, didn't know that!

@conda-forge-linter
Copy link
Contributor

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.

@h-vetinari h-vetinari marked this pull request as draft November 7, 2022 05:54
@h-vetinari
Copy link
Member

h-vetinari commented Nov 7, 2022

So, this PR is doing a couple of things:

  • version bump
  • sync with upstream recipe
  • unpin aws-sdk-cpp (see discussion here)
  • build for openssl 3
  • remove python as a host-dep from arrow-cpp 🥳
    • this causes the bot to collapse the python-jobs into one per aarch -> no more insane build matrix sizes 🚀
    • needs a little massaging to make sure we split jobs by openssl version
  • figure out the following on windows (upstream issue):
    import: 'pyarrow.parquet'
    [FATAL] 2022-11-08 00:12:43.210 WinHttpSyncHttpClient [2936] Failed setting secure crypto protocols with error code: 87
    
    update: seems to not be critical
  • re-enable CUDA builds on aarch/ppc; this needs cross-compilation support, more discussion on the why here
  • follow through on the ancient arrow-cpp -> libarrow rename plans, where @xhochy said (cf. above):

    I would delay the renaming until we can split libarrow and libarrow_python into separate outputs. This will then probably still be a build with a full Python matrix but at least the libarrow output would then be Python independent.

While we figure out these issues (help appreciated!), this is a draft.

@h-vetinari h-vetinari mentioned this pull request Nov 7, 2022
@h-vetinari
Copy link
Member

@xhochy @pitrou @kou
Do we actually still need numpy (for the C-API?) to build arrow-cpp?

I'm getting

WARNING (libarrow): run-exports library package conda-forge::numpy-1.20.3-py39h139494b_2 in requirements/run but it is not used (i.e. it is overdepending or perhaps statically linked? If that is what you want then add it to `build/ignore_run_exports`)

on all platforms...

Also, has someone seen the following error before (which happens on windows, but doesn't fail the test section apparently):

import: 'pyarrow'
import: 'pyarrow.dataset'
import: 'pyarrow.flight'
import: 'pyarrow.gandiva'
import: 'pyarrow.parquet'
[FATAL] 2022-11-07 07:27:02.824 WinHttpSyncHttpClient [4232] Failed setting secure crypto protocols with error code: 87
import: 'pyarrow.fs'
import: 'pyarrow._s3fs'

PS. Link to previous CI run (since I'm about to force-push)

@h-vetinari h-vetinari force-pushed the 10.0.0_h495dfd branch 2 times, most recently from f909f03 to 3835d23 Compare November 7, 2022 09:18
@xhochy
Copy link
Member

xhochy commented Nov 7, 2022

Do we actually still need numpy (for the C-API?) to build arrow-cpp?

I would have to look into the source but as long as there is no Python dependency, there should also be no NumPy dependency.

Due to the nature of NumPy's linking mechanism (which is really great!), you should never see an actual linkage against it. If the warning isn't always showing up, I would be very curious why it happens. All references are filled at runtime through the C function import_numpy().

@h-vetinari
Copy link
Member

Just hoping there is a way here, versus loosing out on PyArrow and Conda/Conda-forge. !

It's technically possible. Assuming the CI passes it would not add an extreme maintenance burden, though it depends also whether the other maintainers agree (w.r.t. precedent etc.). But this will be a topic for a separate PR.

In any case (and without knowing your constraints obviously), python upgrades have become much less painless, and it should be part of regular dependency hygiene; it's getting high time to move away from 3.7, where the dependency landscape is bitrotting with each passing week (and it's easier to move incrementally than to do 3.7->3.11).

@rxm7706
Copy link

rxm7706 commented Dec 2, 2022

Just hoping there is a way here, versus loosing out on PyArrow and Conda/Conda-forge. !

It's technically possible. Assuming the CI passes it would not add an extreme maintenance burden, though it depends also whether the other maintainers agree (w.r.t. precedent etc.). But this will be a topic for a separate PR.

Thank you for explaining @h-vetinari , understand the overhead and potential path available. I will raise as a separate PR. Yes, would have loved to not be in the situation we are, still reliant on Python 3.7, monolith systems and Vendor/3rd Party system dependencies. Appreciate your time and direction.

@h-vetinari
Copy link
Member

I will raise as a separate PR.

Please do this only after this PR is merged and if you know (at least roughly) how to insert this into conda_build_config.yaml. otherwise I'm planning to open that PR after this one is merged :)

@h-vetinari
Copy link
Member

@conda-forge/arrow-cpp
Barring further comments, I'm planning to merge this on the weekend. :)

@h-vetinari h-vetinari merged commit 509c955 into conda-forge:main Dec 4, 2022
@regro-cf-autotick-bot regro-cf-autotick-bot deleted the 10.0.0_h495dfd branch December 4, 2022 07:52
kou pushed a commit to apache/arrow that referenced this pull request Dec 12, 2022
Synching after conda-forge/arrow-cpp-feedstock#875, which does quite a lot of things, see this [summary](conda-forge/arrow-cpp-feedstock#875 (review)). I'm not keeping the commit history here, but it might be instructive to check the commits there to see why certain changes came about.

It also fixes the CI that was broken by a3ef64b (undoing the changes of #14102 in `tasks.yml`).

Finally, it adapts to conda making a long-planned [switch](conda-forge/conda-forge.github.io#1586) w.r.t. to the format / extension of the artefacts it produces.

I'm very likely going to need some help (or at least pointers) for the R-stuff. CC @ xhochy
(for context, I never got a response to conda-forge/r-arrow-feedstock#55, but I'll open a PR to build against libarrow 10).

Once this is done, I can open issues to tackle the tests that shouldn't be failing, resp. the segfaults on PPC resp. in conjunction with `sparse`.
* Closes: #14828

Authored-by: H. Vetinari <[email protected]>
Signed-off-by: Sutou Kouhei <[email protected]>
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.

Can the aws-sdk-cpp pin be loosened? Make arrow-cpp not depend on python anymore
9 participants