apache / apache/arrow

[Python] test_get_include failing in conda builds on unix

Open
#15,016 4 comments 0 reactions 0 assignees View on GitHub
Component: Continuous Integration Component: Python Priority: Medium Status: needs champion Type: bug
Dominant language
C++
Stars
17.1k
Forks
4.3k
Avg merge
3d 18h
Merged PRs (30d)
91

Description

### Describe the bug, including details regarding any error messages, version, and platform.

#14832 switched on the test suite within the conda-builds, which itself synced with https://github.com/conda-forge/arrow-cpp-feedstock/pull/875

In the process of doing so [`test_get_include`](https://github.com/apache/arrow/blob/apache-arrow-10.0.1/python/pyarrow/tests/test_misc.py#L27-L29) was skipped,
https://github.com/apache/arrow/blob/2c768a1767c0d7b33644910e0e96a949bc6f6f42/dev/tasks/conda-recipes/arrow-cpp/meta.yaml#L382-L383

I believe that is broken now that the C/C++ lib is separate. In particular, the test is looking for `include/arrow/api.h` (rather than, say, `include/arrow/pyarrow/api.h`) in the (python-specific) site-packages directory, but the C/C++ headers are now in `$PREFIX/include/arrow/...`. Interestingly, this passes on windows, because the windows build just seems to copy the C/C++ headers to the `%SP_DIR%` as well (in addition to the ones correctly put into `%LIBRARY_INC%`). My outsider's impression is that the test should be adapted (and that windows shouldn't copy the non-python headers to `%SP_DIR%`).

To fix this, the line quoted above should be removed, and the conda tests still pass.

### Component(s)

Continuous Integration, Python

Contributor guide

Open the contributing guide

Research direction

Start with test_get_include in python/pyarrow/tests/test_misc.py and the corresponding skip in dev/tasks/conda-recipes/arrow-cpp/meta.yaml. Run the conda-build tests after removing the quoted skip line; done means the conda tests pass on Unix without requiring C/C++ headers in the Python site-packages directory.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp, python
Domain
build-system, ci-cd, testing-qa
Issue type
Bug
Difficulty
2/5
Estimated time
1-3 hours
Activity status
Quiet
Clarity
Clearly specified
Newbie friendliness
58/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.