-
Notifications
You must be signed in to change notification settings - Fork 30
Open
Description
Describe the bug
See #3867 (comment):
- On ARM Linux,
pip install tiledbsomaperforms a source build (because we don't publish ARM Linux wheels). - vcpkg fails to find binaries for ARM Linux (why?), also source-builds.
- Possible lead: vcpkg fails to build on ARM Linux unless you explicitly set
VCPKG_FORCE_SYSTEM_BINARIES=1(source, linked from nixpkgs#335868).
- Possible lead: vcpkg fails to build on ARM Linux unless you explicitly set
- vcpkg source build builds cmrc 2.0.1 (Sept '18) instead of
952ffdd(pinned in portfile.cmake and vcpkg.json, and contains a corrected CMakeRC.cmake#L37), for some reason.
To Reproduce
See failed GHA from #3867.
Example Dockerfile
# Debian 12 image with GCC 13
ARG gcc=13
FROM gcc:$gcc-bookworm
ENV DEBIAN_FRONTEND=noninteractive VCPKG_FORCE_SYSTEM_BINARIES=1
RUN apt update -y \
&& apt install -y cmake curl g++ git make ninja-build pkg-config tar unzip zip \
&& apt install -y python3 python-is-python3 python3-pip python3-venv \
&& python -m venv .venv
ENV PATH=/.venv/bin:$PATH
# tiledbsoma>=1.16 requires GCC 13
ARG v=''
RUN if [ -z $v ]; then pip install tiledbsoma; else pip install tiledbsoma==$v; fi
ENTRYPOINT [ "python", "-c", "import tiledbsoma; tiledbsoma.show_package_versions()" ]Versions
- TileDB-SOMA version: 1.16.1
- Language and language version: Python 3.12 (but believe it applies to all)
- OS: ARM Linux
Workarounds
#3891 added both of these, and got python-dockers.yml working:
- Pinning
cmake<4inpyproject.tomlbuild-system.requireswill help, but requires a release to unbreakpip install tiledbsomaon ARM Linux. - A pip "constraints" file can be used to force setuptools to use
cmake<4, in the meantime.
Longer-term fixes
- Publish TileDB-SOMA ARM Linux wheels (#3909)
- Debug why vcpkg is using cmrc 2.0.1 instead of
952ffdd - Debug why we're not getting vcpkg ARM Linux binaries (cc @@teo-tsirpanis)
Metadata
Metadata
Assignees
Labels
No labels