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

GH-14993: [CI][Conda] Fix missing RECIPE_ROOT variable now expected by conda build #15014

Merged
merged 6 commits into from
Dec 20, 2022

Conversation

h-vetinari
Copy link
Contributor

@h-vetinari h-vetinari commented Dec 18, 2022

@github-actions
Copy link

Thanks for opening a pull request!

If this is not a minor PR. Could you open an issue for this pull request on GitHub? https://github.com/apache/arrow/issues/new/choose

Opening GitHub issues ahead of time contributes to the Openness of the Apache Arrow project.

Then could you also rename the pull request title in the following format?

GH-${GITHUB_ISSUE_ID}: [${COMPONENT}] ${SUMMARY}

or

MINOR: [${COMPONENT}] ${SUMMARY}

In the case of old issues on JIRA the title also supports:

ARROW-${JIRA_ISSUE_ID}: [${COMPONENT}] ${SUMMARY}
PARQUET-${JIRA_ISSUE_ID}: [${COMPONENT}] ${SUMMARY}

See also:

@h-vetinari h-vetinari changed the title fix missing RECIPE_ROOT variable now expected by conda build GH-14993: fix missing RECIPE_ROOT variable now expected by conda build Dec 18, 2022
@github-actions
Copy link

@github-actions
Copy link

⚠️ GitHub issue #14993 has been automatically assigned in GitHub to PR creator.

@h-vetinari
Copy link
Contributor Author

@github-actions crossbow submit -g conda

@github-actions
Copy link

Revision: f3b77cc

Submitted crossbow builds: ursacomputing/crossbow @ actions-ccb0a7fe84

Task Status
conda-clean Azure
conda-linux-aarch64-cpu-py3 Azure
conda-linux-aarch64-cpu-r41 Azure
conda-linux-aarch64-cpu-r42 Azure
conda-linux-ppc64le-cpu-py3 Azure
conda-linux-x64-cpu-py3 Azure
conda-linux-x64-cpu-r41 Azure
conda-linux-x64-cpu-r42 Azure
conda-linux-x64-cuda-py3 Azure
conda-osx-arm64-cpu-py3 Azure
conda-osx-arm64-cpu-r41 Azure
conda-osx-arm64-cpu-r42 Azure
conda-osx-x64-cpu-py3 Azure
conda-osx-x64-cpu-r41 Azure
conda-osx-x64-cpu-r42 Azure
conda-win-x64-cpu-py3 Azure
conda-win-x64-cpu-r41 Azure
conda-win-x64-cuda-py3 Azure

@h-vetinari
Copy link
Contributor Author

h-vetinari commented Dec 18, 2022

So, the R-builds for aarch are still failing with:

> library('arrow')
Error: package or namespace load failed for ‘arrow’ in dyn.load(file, DLLpath = DLLpath, ...):
 unable to load shared object '[...]lib/R/library/arrow/libs/arrow.so':
  [...]/lib/R/library/arrow/libs/arrow.so: undefined symbol: _ZTIN5arrow17RecordBatchReaderE
Execution halted

I don't understand why this is looking for arrow.so instead of libarrow.so - the recipe hasn't changed.

CC @xhochy

@h-vetinari
Copy link
Contributor Author

I don't understand why this is looking for arrow.so instead of libarrow.so - the recipe hasn't changed.

Though on the other hand, the build.sh for r-arrow is calling straight into the top-level r/-folder:

${R} CMD INSTALL --build r/. ${R_ARGS}

so something broke there in the last couple of days. For example, dca8c07 changed r/configure quite a bit, which could explain why now the libs are being built differently or not linked correctly anymore.

CC @thisisnic

@xhochy
Copy link
Member

xhochy commented Dec 18, 2022

I don't understand why this is looking for arrow.so instead of libarrow.so - the recipe hasn't changed.

This is OK, arrow.so is the R module. libarrow.so is the pure C++ shared library.

@xhochy
Copy link
Member

xhochy commented Dec 18, 2022

@h-vetinari This looks problematic:

2022-12-18T05:51:13.5618933Z *** Found local C++ source: '../cpp'
2022-12-18T05:51:13.5619835Z *** Building libarrow from source
2022-12-18T05:51:13.5620314Z     For build options and troubleshooting, see the install guide:
2022-12-18T05:51:13.5621188Z     https://arrow.apache.org/docs/r/articles/install.html
2022-12-18T05:51:13.8434741Z **** cmake
2022-12-18T05:51:18.7191251Z **** arrow  
2022-12-18T05:51:20.8624297Z **** Error building Arrow C++. Re-run with ARROW_R_DEV=true for debug information. 
2022-12-18T05:51:21.5582869Z PKG_CFLAGS=  -std=c++17
2022-12-18T05:51:21.5589264Z PKG_LIBS= 

@xhochy
Copy link
Member

xhochy commented Dec 18, 2022

@github-actions crossbow submit conda-linux-aarch64-cpu-r41

@github-actions
Copy link

Revision: 6efeeec

Submitted crossbow builds: ursacomputing/crossbow @ actions-8a6b714265

Task Status
conda-linux-aarch64-cpu-r41 Azure

@kou
Copy link
Member

kou commented Dec 19, 2022

For example, dca8c07 changed r/configure quite a bit, which could explain why now the libs are being built differently or not linked correctly anymore.

Oh, the change was by me. I'll look into this.

@kou
Copy link
Member

kou commented Dec 19, 2022

@github-actions crossbow submit conda-linux-aarch64-cpu-r41

@github-actions
Copy link

Revision: e04c9dc

Submitted crossbow builds: ursacomputing/crossbow @ actions-297ce68126

Task Status
conda-linux-aarch64-cpu-r41 Azure

@kou
Copy link
Member

kou commented Dec 19, 2022

@github-actions crossbow submit conda-linux-aarch64-cpu-r41

@github-actions
Copy link

Revision: b26892d

Submitted crossbow builds: ursacomputing/crossbow @ actions-5a2723bac4

Task Status
conda-linux-aarch64-cpu-r41 Azure

For example, Apache Arrow C++ is installed in system directory.
@kou
Copy link
Member

kou commented Dec 19, 2022

@github-actions crossbow submit conda-linux-aarch64-cpu-r41

@github-actions
Copy link

Revision: 3b9c72d

Submitted crossbow builds: ursacomputing/crossbow @ actions-5e596172d1

Task Status
conda-linux-aarch64-cpu-r41 Azure

@h-vetinari
Copy link
Contributor Author

Success! 🥳

Well done @kou & @xhochy


if [[ "${target_platform}" == osx-* ]]; then
# See https://conda-forge.org/docs/maintainer/knowledge_base.html#newer-c-features-with-old-sdk
export ARROW_R_CXXFLAGS="${ARROW_R_CXXFLAGS} -D_LIBCPP_DISABLE_AVAILABILITY"
fi

export PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig${PKG_CONFIG_PATH:+:${PKG_CONFIG_PATH}}"
export PKG_CONFIG_PATH="${BUILD_PREFIX}/lib/pkgconfig${PKG_CONFIG_PATH:+:${PKG_CONFIG_PATH}}"
Copy link
Member

Choose a reason for hiding this comment

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

This doesn't look right. BUILD_PREFIX is the build system, not host. It has been failing in the cross-compiling case and this change makes me suspicious whether we then link to the wrong libraries.

Copy link
Member

Choose a reason for hiding this comment

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

Ah, sorry. This is not related to fix the R problem.
We may be able remove this line entirely. I'll try it.

@kou kou changed the title GH-14993: fix missing RECIPE_ROOT variable now expected by conda build GH-14993: [CI][Conda] Fix missing RECIPE_ROOT variable now expected by conda build Dec 19, 2022
@github-actions
Copy link

⚠️ GitHub issue #14993 has been automatically assigned in GitHub to PR creator.

@kou
Copy link
Member

kou commented Dec 19, 2022

@github-actions crossbow submit conda-linux--cpu-r -g r

@github-actions
Copy link

Revision: f018c90

Submitted crossbow builds: ursacomputing/crossbow @ actions-5001db49ca

Task Status
conda-linux-aarch64-cpu-r41 Azure
conda-linux-aarch64-cpu-r42 Azure
conda-linux-x64-cpu-r41 Azure
conda-linux-x64-cpu-r42 Azure
conda-osx-arm64-cpu-r41 Azure
conda-osx-arm64-cpu-r42 Azure
conda-osx-x64-cpu-r41 Azure
conda-osx-x64-cpu-r42 Azure
conda-win-x64-cpu-r41 Azure
homebrew-r-autobrew Github Actions
homebrew-r-brew Github Actions
r-binary-packages Github Actions
test-fedora-r-clang-sanitizer Azure
test-r-arrow-backwards-compatibility Github Actions
test-r-depsource-bundled Azure
test-r-depsource-system Github Actions
test-r-dev-duckdb Github Actions
test-r-devdocs Github Actions
test-r-gcc-11 Github Actions
test-r-gcc-12 Github Actions
test-r-install-local Github Actions
test-r-install-local-minsizerel Github Actions
test-r-library-r-base-latest Azure
test-r-linux-as-cran Github Actions
test-r-linux-rchk Github Actions
test-r-linux-valgrind Azure
test-r-minimal-build Azure
test-r-offline-maximal Github Actions
test-r-offline-minimal Azure
test-r-rhub-debian-gcc-devel-lto-latest Azure
test-r-rhub-debian-gcc-release-custom-ccache Azure
test-r-rhub-ubuntu-gcc-release-latest Azure
test-r-rstudio-r-base-4.1-opensuse153 Azure
test-r-rstudio-r-base-4.2-centos7-devtoolset-8 Azure
test-r-rstudio-r-base-4.2-focal Azure
test-r-ubuntu-22.04 Github Actions
test-r-versions Github Actions
test-ubuntu-18.04-r-sanitizer Azure

@h-vetinari
Copy link
Contributor Author

crossbow submit conda-linux-_-cpu-r_ -g r

is _ the placeholder here? And what's the difference between before -g and after?

Extrapolating from crossbow submit -g conda, I would have naïvely expected to be able to run all conda-r builds as

crossbow submit - g conda-*-r

@kou
Copy link
Member

kou commented Dec 20, 2022

is _ the placeholder here?

_ isn't a placeholder. The real crossbow command what I used is @github-actions crossbow submit conda-linux-*-cpu-r* -g r. * is a glob pattern. If the command is processed as a Markdown text, *...* is replaced with <em>...</em>. This is the trick. :-)

And what's the difference between before -g and after?

Without -g: Find tasks from tasks: in dev/tasks/tasks.yml

With -g: Find groups from groups: in dev/tasks/tasks.yml`. Found groups are expanded to tasks.

Extrapolating from crossbow submit -g conda, I would have naïvely expected to be able to run all conda-r builds as

crossbow submit - g conda-*-r

We can use @github-actions crossbow submit conda-*-r for them.

@h-vetinari
Copy link
Contributor Author

@kou, I think this would be good to merge (as all the conda builds now pass)? I have other changes lined up, but those would be better in a separate PR IMO.

@kou
Copy link
Member

kou commented Dec 20, 2022

OK. I merge this.

@kou kou merged commit 4e9b65a into apache:master Dec 20, 2022
@h-vetinari h-vetinari deleted the conda_ci branch December 20, 2022 03:26
@ursabot
Copy link

ursabot commented Dec 20, 2022

Benchmark runs are scheduled for baseline = 23a7a15 and contender = 4e9b65a. 4e9b65a is a master commit associated with this PR. Results will be available as each benchmark for each run completes.
Conbench compare runs links:
[Finished ⬇️0.0% ⬆️0.0%] ec2-t3-xlarge-us-east-2
[Finished ⬇️1.42% ⬆️0.07%] test-mac-arm
[Finished ⬇️0.0% ⬆️0.0%] ursa-i9-9960x
[Finished ⬇️0.14% ⬆️0.03%] ursa-thinkcentre-m75q
Buildkite builds:
[Finished] 4e9b65a4 ec2-t3-xlarge-us-east-2
[Finished] 4e9b65a4 test-mac-arm
[Finished] 4e9b65a4 ursa-i9-9960x
[Finished] 4e9b65a4 ursa-thinkcentre-m75q
[Finished] 23a7a159 ec2-t3-xlarge-us-east-2
[Finished] 23a7a159 test-mac-arm
[Finished] 23a7a159 ursa-i9-9960x
[Finished] 23a7a159 ursa-thinkcentre-m75q
Supported benchmarks:
ec2-t3-xlarge-us-east-2: Supported benchmark langs: Python, R. Runs only benchmarks with cloud = True
test-mac-arm: Supported benchmark langs: C++, Python, R
ursa-i9-9960x: Supported benchmark langs: Python, R, JavaScript
ursa-thinkcentre-m75q: Supported benchmark langs: C++, Java

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[CI][Conda] conda-linux-aarch64-* are failing
4 participants