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

docker/ubuntu-full/Dockerfile: pin libarrow-acero-dev version (fixes #9183) #9186

Conversation

PerMildner
Copy link
Contributor

This works around an apparent dependency bug in libarrow-dataset-dev, by first explicitly installing the matching version of libarrow-acero-dev.

What does this PR do?

Changes the Dockerfile to install libarrow-acero-dev first, with the correct version (${ARROW_VERSION}), before installing libarrow-dataset-dev.
If this is not done, installing a specific version of libarrow-dataset-dev seems to try to install the latest version of libarrow-acero-dev, instead of the one with matching version, and this makes apt-get install fail.

An advantage with this fix, compared to bumping ARROW_VERSION to the currently latest version of Apache Arrow (libarrow-dataset-dev et al.) is that "the currently latest version of Apache Arrow" can change at any time depending on the Apache Arrow release schedule, which would break the GDAL build again.

The real bug is presumably that libarrow-dataset-dev has incorrect dependency information.

Note: When I ran ubuntu-full/build.sh in Docker Desktop on my Intel Mac it successfully installed libarrow-dataset-dev but much later, during build of some arm64(!) thing, the build crashed:

...
Setting up libgnutls30:arm64 (3.7.3-4ubuntu1.4) ...
Processing triggers for libc-bin (2.35-0ubuntu3.6) ...
qemu: uncaught target signal 11 (Segmentation fault) - core dumped
Segmentation fault
qemu: uncaught target signal 11 (Segmentation fault) - core dumped
Segmentation fault
dpkg: error processing package libc-bin (--configure):
 installed libc-bin package post-installation script subprocess returned error exit status 139
Errors were encountered while processing:
 libc-bin
E: Sub-process /usr/bin/dpkg returned an error code (1)
The command '/bin/sh -c apt-get update -y && apt-get upgrade -y     && rm -rf /var/lib/apt/lists/*' returned a non-zero code: 100

I would guess this crash is completely unrelated to the changes in this PR.

What are related issues/pull requests?

Issue #9183

Tasklist

  • ADD YOUR TASKS HERE
  • Make sure code is correctly formatted (cf pre-commit configuration)
  • Add test case(s)
  • Add documentation
  • Updated Python API documentation (swig/include/python/docs/)
  • Review
  • Adjust for comments
  • All CI builds and checks have passed

Environment

Provide environment details, if relevant:

  • OS:
  • Compiler:

…SGeo#9183)

This works around an apparent dependency bug in libarrow-dataset-dev,
by first explicitly installing the same version of libarrow-acero-dev.
@rouault
Copy link
Member

rouault commented Feb 1, 2024

Thanks!

This works around an apparent dependency bug in libarrow-dataset-dev

perhaps this should be reported at https://github.com/apache/arrow/ ? I see they have a "packaging" component

@rouault rouault merged commit c8dbd4b into OSGeo:master Feb 1, 2024
1 of 2 checks passed
@PerMildner
Copy link
Contributor Author

I have now reported the packaging issue at Apache Arrow.

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.

2 participants