question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

WARNING:root:Failed to get options via gdal-config (M1 mac)

See original GitHub issue

Hi there,

I’m running make build on macOS (m1) 12.0.1 and encounter this issue:

#11 6.510 Collecting rasterio==1.2.9
#11 6.553   Downloading rasterio-1.2.9.tar.gz (2.3 MB)
#11 7.162   Installing build dependencies: started
#11 13.24   Installing build dependencies: finished with status 'done'
#11 13.24   Getting requirements to build wheel: started
#11 13.45   Getting requirements to build wheel: finished with status 'error'
#11 13.45   ERROR: Command errored out with exit status 1:
#11 13.45    command: /usr/local/bin/python /usr/local/lib/python3.7/site-packages/pip/_vendor/pep517/in_process/_in_process.py get_requires_for_build_wheel /tmp/tmp_b8p17k_
#11 13.45        cwd: /tmp/pip-install-rusm7ufj/rasterio_d6e3703bd238492fb428a60f0b4d1a47
#11 13.45   Complete output (2 lines):
#11 13.45   WARNING:root:Failed to get options via gdal-config: [Errno 2] No such file or directory: 'gdal-config': 'gdal-config'
#11 13.45   ERROR: A GDAL API version must be specified. Provide a path to gdal-config using a GDAL_CONFIG environment variable or use a GDAL_VERSION environment variable.
#11 13.45   ----------------------------------------
#11 13.45 WARNING: Discarding https://files.pythonhosted.org/packages/1f/70/4e7a789f4988955e4c381de80923e184f912683bbe6fc4a3a00c91efdf59/rasterio-1.2.9.tar.gz#sha256=012a4964d8db365be4fae0af9cbeba00e683e5904d5031e8ba42ccb6040cc887 (from https://pypi.org/simple/rasterio/) (requires-python:>=3.6). Command errored out with exit status 1: /usr/local/bin/python /usr/local/lib/python3.7/site-packages/pip/_vendor/pep517/in_process/_in_process.py get_requires_for_build_wheel /tmp/tmp_b8p17k_ Check the logs for full command output.
#11 13.45 ERROR: Could not find a version that satisfies the requirement rasterio==1.2.9 (from versions: 0.1, 0.2, 0.3, 0.4, 0.5, 0.5.1, 0.6, 0.7, 0.7.1, 0.7.2, 0.7.3, 0.8, 0.9, 0.10, 0.10.1, 0.11, 0.11.1, 0.12, 0.12.1, 0.13, 0.13.1, 0.13.2, 0.14, 0.14.1, 0.15, 0.15.1, 0.16, 0.17, 0.17.1, 0.18, 0.19.0, 0.19.1, 0.20.0, 0.21.0, 0.22.0, 0.23.0, 0.24.0, 0.24.1, 0.25.0, 0.26.0, 0.27.0, 0.28.0, 0.29.0, 0.30.0, 0.31.0, 0.32.0, 0.32.0.post1, 0.33.0, 0.34.0, 0.35.0, 0.35.0.post1, 0.35.1, 0.36.0, 1.0a1, 1.0a2, 1.0a3, 1.0a4, 1.0a6, 1.0a7, 1.0a8, 1.0a9, 1.0a10, 1.0a11, 1.0a12, 1.0b1, 1.0b2, 1.0b3, 1.0b4, 1.0rc1, 1.0rc2, 1.0rc3, 1.0rc4, 1.0rc5, 1.0.0, 1.0.1, 1.0.2, 1.0.3, 1.0.3.post1, 1.0.4, 1.0.5, 1.0.6, 1.0.7, 1.0.8, 1.0.9, 1.0.10, 1.0.11, 1.0.12, 1.0.13, 1.0.14, 1.0.15, 1.0.16, 1.0.17, 1.0.18, 1.0.20, 1.0.21, 1.0.22, 1.0.23, 1.0.24, 1.0.25, 1.0.26, 1.0.27, 1.0.28, 1.1b1, 1.1b2, 1.1b3, 1.1.0, 1.1.1, 1.1.2, 1.1.3, 1.1.4, 1.1.5, 1.1.6, 1.1.7, 1.1.8, 1.2a1, 1.2b1, 1.2b2, 1.2b3, 1.2b4, 1.2.0, 1.2.1, 1.2.2, 1.2.3, 1.2.4, 1.2.5, 1.2.6, 1.2.7, 1.2.8, 1.2.9, 1.2.10, 1.3a1, 1.3a2)
#11 13.46 ERROR: No matching distribution found for rasterio==1.2.9
------
executor failed running [/bin/sh -c pip install         --no-index         --no-cache-dir         --disable-pip-version-check         --find-links=/root/wheels         uwsgi regex &&     pip install --no-cache-dir --disable-pip-version-check -r /app/requirements.txt &&         rm -rf /root/.cache/pip/* &&         rm root/wheels/* &&         rm /app/requirements.txt]: exit code: 1
make: *** [build] Error 1
Full logs
$ make build
docker build --tag opentopodata:`cat VERSION` --file docker/Dockerfile .
[+] Building 18.1s (11/14)
 => [internal] load build definition from Dockerfile                                                                                                                                                                                                                                                                                                                                                                                                                                                                     0.0s
 => => transferring dockerfile: 37B                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      0.0s
 => [internal] load .dockerignore                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        0.0s
 => => transferring context: 34B                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         0.0s
 => [internal] load metadata for docker.io/library/python:3.7.12-slim-buster                                                                                                                                                                                                                                                                                                                                                                                                                                             4.3s
 => [internal] load build context                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        0.0s
 => => transferring context: 5.39kB                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      0.0s
 => [builder 1/3] FROM docker.io/library/python:3.7.12-slim-buster@sha256:866b51113519f9022e2f432869d3e7d97b090b9853f4765dbf46394ac28d5a03                                                                                                                                                                                                                                                                                                                                                                               0.0s
 => CACHED [stage-1 2/8] RUN set -e &&     apt-get update &&     apt-get install -y --no-install-recommends         nginx         memcached         supervisor &&     rm -rf /var/lib/apt/lists/*                                                                                                                                                                                                                                                                                                                        0.0s
 => CACHED [builder 2/3] RUN set -e &&     apt-get update &&     apt-get install -y --no-install-recommends         gcc         python3.7-dev                                                                                                                                                                                                                                                                                                                                                                            0.0s
 => CACHED [builder 3/3] RUN pip wheel --wheel-dir=/root/wheels uwsgi==2.0.19.1 &&     pip wheel --wheel-dir=/root/wheels regex==2021.9.30                                                                                                                                                                                                                                                                                                                                                                               0.0s
 => CACHED [stage-1 3/8] COPY --from=builder /root/wheels /root/wheels                                                                                                                                                                                                                                                                                                                                                                                                                                                   0.0s
 => CACHED [stage-1 4/8] COPY requirements.txt /app/requirements.txt                                                                                                                                                                                                                                                                                                                                                                                                                                                     0.0s
 => ERROR [stage-1 5/8] RUN pip install         --no-index         --no-cache-dir         --disable-pip-version-check         --find-links=/root/wheels         uwsgi regex &&     pip install --no-cache-dir --disable-pip-version-check -r /app/requirements.txt &&         rm -rf /root/.cache/pip/* &&         rm root/wheels/* &&         rm /app/requirements.txt                                                                                                                                                 13.6s
------
 > [stage-1 5/8] RUN pip install         --no-index         --no-cache-dir         --disable-pip-version-check         --find-links=/root/wheels         uwsgi regex &&     pip install --no-cache-dir --disable-pip-version-check -r /app/requirements.txt &&         rm -rf /root/.cache/pip/* &&         rm root/wheels/* &&         rm /app/requirements.txt:
#11 1.033 Looking in links: /root/wheels
#11 1.040 Processing /root/wheels/uWSGI-2.0.19.1-cp37-cp37m-linux_aarch64.whl
#11 1.044 Processing /root/wheels/regex-2021.9.30-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
#11 1.066 Installing collected packages: uwsgi, regex
#11 1.157 Successfully installed regex-2021.9.30 uwsgi-2.0.19.1
#11 1.157 WARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv
#11 1.536 Collecting affine==2.3.0
#11 1.706   Downloading affine-2.3.0-py2.py3-none-any.whl (15 kB)
#11 1.746 Collecting attrs==21.2.0
#11 1.773   Downloading attrs-21.2.0-py2.py3-none-any.whl (53 kB)
#11 1.839 Collecting black==21.9b0
#11 1.868   Downloading black-21.9b0-py3-none-any.whl (148 kB)
#11 1.944 Collecting certifi==2021.5.30
#11 1.980   Downloading certifi-2021.5.30-py2.py3-none-any.whl (145 kB)
#11 2.051 Collecting charset-normalizer==2.0.6
#11 2.082   Downloading charset_normalizer-2.0.6-py3-none-any.whl (37 kB)
#11 2.121 Collecting click==8.0.1
#11 2.147   Downloading click-8.0.1-py3-none-any.whl (97 kB)
#11 2.189 Collecting click-plugins==1.1.1
#11 2.215   Downloading click_plugins-1.1.1-py2.py3-none-any.whl (7.5 kB)
#11 2.266 Collecting cligj==0.7.2
#11 2.290   Downloading cligj-0.7.2-py3-none-any.whl (7.1 kB)
#11 2.632 Collecting coverage[toml]==6.0.1
#11 2.661   Downloading coverage-6.0.1-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (243 kB)
#11 2.726 Collecting flask==2.0.2
#11 2.764   Downloading Flask-2.0.2-py3-none-any.whl (95 kB)
#11 2.811 Collecting flask-caching==1.10.1
#11 2.836   Downloading Flask_Caching-1.10.1-py3-none-any.whl (34 kB)
#11 2.873 Collecting geographiclib==1.52
#11 2.898   Downloading geographiclib-1.52-py3-none-any.whl (38 kB)
#11 2.938 Collecting idna==3.2
#11 2.964   Downloading idna-3.2-py3-none-any.whl (59 kB)
#11 3.027 Collecting importlib-metadata==4.8.1
#11 3.052   Downloading importlib_metadata-4.8.1-py3-none-any.whl (17 kB)
#11 3.083 Collecting iniconfig==1.1.1
#11 3.128   Downloading iniconfig-1.1.1-py2.py3-none-any.whl (5.0 kB)
#11 3.160 Collecting itsdangerous==2.0.1
#11 3.200   Downloading itsdangerous-2.0.1-py3-none-any.whl (18 kB)
#11 3.241 Collecting jinja2==3.0.2
#11 3.282   Downloading Jinja2-3.0.2-py3-none-any.whl (133 kB)
#11 3.361 Collecting markupsafe==2.0.1
#11 3.384   Downloading MarkupSafe-2.0.1-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (26 kB)
#11 3.409 Collecting mypy-extensions==0.4.3
#11 3.441   Downloading mypy_extensions-0.4.3-py2.py3-none-any.whl (4.5 kB)
#11 3.736 Collecting numpy==1.21.2
#11 3.770   Downloading numpy-1.21.2-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (13.0 MB)
#11 4.474 Collecting packaging==21.0
#11 4.500   Downloading packaging-21.0-py3-none-any.whl (40 kB)
#11 4.544 Collecting pathspec==0.9.0
#11 4.575   Downloading pathspec-0.9.0-py2.py3-none-any.whl (31 kB)
#11 4.606 Collecting pep517==0.11.0
#11 4.640   Downloading pep517-0.11.0-py2.py3-none-any.whl (19 kB)
#11 4.702 Collecting pip-tools==6.3.0
#11 4.727   Downloading pip_tools-6.3.0-py3-none-any.whl (47 kB)
#11 4.762 Collecting platformdirs==2.4.0
#11 4.793   Downloading platformdirs-2.4.0-py3-none-any.whl (14 kB)
#11 4.843 Collecting pluggy==1.0.0
#11 4.871   Downloading pluggy-1.0.0-py2.py3-none-any.whl (13 kB)
#11 4.898 Collecting polyline==1.4.0
#11 4.934   Downloading polyline-1.4.0-py2.py3-none-any.whl (4.4 kB)
#11 4.986 Collecting py==1.10.0
#11 5.015   Downloading py-1.10.0-py2.py3-none-any.whl (97 kB)
#11 5.055 Collecting pylibmc==1.6.1
#11 5.081   Downloading pylibmc-1.6.1.tar.gz (64 kB)
#11 5.651 Collecting pyparsing==2.4.7
#11 5.684   Downloading pyparsing-2.4.7-py2.py3-none-any.whl (67 kB)
#11 5.785 Collecting pyproj==3.2.1
#11 5.822   Downloading pyproj-3.2.1-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (6.1 MB)
#11 6.103 Collecting pytest==6.2.5
#11 6.146   Downloading pytest-6.2.5-py3-none-any.whl (280 kB)
#11 6.205 Collecting pytest-cov==3.0.0
#11 6.243   Downloading pytest_cov-3.0.0-py3-none-any.whl (20 kB)
#11 6.313 Collecting pyyaml==5.4.1
#11 6.347   Downloading PyYAML-5.4.1-cp37-cp37m-manylinux2014_aarch64.whl (716 kB)
#11 6.510 Collecting rasterio==1.2.9
#11 6.553   Downloading rasterio-1.2.9.tar.gz (2.3 MB)
#11 7.162   Installing build dependencies: started
#11 13.24   Installing build dependencies: finished with status 'done'
#11 13.24   Getting requirements to build wheel: started
#11 13.45   Getting requirements to build wheel: finished with status 'error'
#11 13.45   ERROR: Command errored out with exit status 1:
#11 13.45    command: /usr/local/bin/python /usr/local/lib/python3.7/site-packages/pip/_vendor/pep517/in_process/_in_process.py get_requires_for_build_wheel /tmp/tmp_b8p17k_
#11 13.45        cwd: /tmp/pip-install-rusm7ufj/rasterio_d6e3703bd238492fb428a60f0b4d1a47
#11 13.45   Complete output (2 lines):
#11 13.45   WARNING:root:Failed to get options via gdal-config: [Errno 2] No such file or directory: 'gdal-config': 'gdal-config'
#11 13.45   ERROR: A GDAL API version must be specified. Provide a path to gdal-config using a GDAL_CONFIG environment variable or use a GDAL_VERSION environment variable.
#11 13.45   ----------------------------------------
#11 13.45 WARNING: Discarding https://files.pythonhosted.org/packages/1f/70/4e7a789f4988955e4c381de80923e184f912683bbe6fc4a3a00c91efdf59/rasterio-1.2.9.tar.gz#sha256=012a4964d8db365be4fae0af9cbeba00e683e5904d5031e8ba42ccb6040cc887 (from https://pypi.org/simple/rasterio/) (requires-python:>=3.6). Command errored out with exit status 1: /usr/local/bin/python /usr/local/lib/python3.7/site-packages/pip/_vendor/pep517/in_process/_in_process.py get_requires_for_build_wheel /tmp/tmp_b8p17k_ Check the logs for full command output.
#11 13.45 ERROR: Could not find a version that satisfies the requirement rasterio==1.2.9 (from versions: 0.1, 0.2, 0.3, 0.4, 0.5, 0.5.1, 0.6, 0.7, 0.7.1, 0.7.2, 0.7.3, 0.8, 0.9, 0.10, 0.10.1, 0.11, 0.11.1, 0.12, 0.12.1, 0.13, 0.13.1, 0.13.2, 0.14, 0.14.1, 0.15, 0.15.1, 0.16, 0.17, 0.17.1, 0.18, 0.19.0, 0.19.1, 0.20.0, 0.21.0, 0.22.0, 0.23.0, 0.24.0, 0.24.1, 0.25.0, 0.26.0, 0.27.0, 0.28.0, 0.29.0, 0.30.0, 0.31.0, 0.32.0, 0.32.0.post1, 0.33.0, 0.34.0, 0.35.0, 0.35.0.post1, 0.35.1, 0.36.0, 1.0a1, 1.0a2, 1.0a3, 1.0a4, 1.0a6, 1.0a7, 1.0a8, 1.0a9, 1.0a10, 1.0a11, 1.0a12, 1.0b1, 1.0b2, 1.0b3, 1.0b4, 1.0rc1, 1.0rc2, 1.0rc3, 1.0rc4, 1.0rc5, 1.0.0, 1.0.1, 1.0.2, 1.0.3, 1.0.3.post1, 1.0.4, 1.0.5, 1.0.6, 1.0.7, 1.0.8, 1.0.9, 1.0.10, 1.0.11, 1.0.12, 1.0.13, 1.0.14, 1.0.15, 1.0.16, 1.0.17, 1.0.18, 1.0.20, 1.0.21, 1.0.22, 1.0.23, 1.0.24, 1.0.25, 1.0.26, 1.0.27, 1.0.28, 1.1b1, 1.1b2, 1.1b3, 1.1.0, 1.1.1, 1.1.2, 1.1.3, 1.1.4, 1.1.5, 1.1.6, 1.1.7, 1.1.8, 1.2a1, 1.2b1, 1.2b2, 1.2b3, 1.2b4, 1.2.0, 1.2.1, 1.2.2, 1.2.3, 1.2.4, 1.2.5, 1.2.6, 1.2.7, 1.2.8, 1.2.9, 1.2.10, 1.3a1, 1.3a2)
#11 13.46 ERROR: No matching distribution found for rasterio==1.2.9
------
executor failed running [/bin/sh -c pip install         --no-index         --no-cache-dir         --disable-pip-version-check         --find-links=/root/wheels         uwsgi regex &&     pip install --no-cache-dir --disable-pip-version-check -r /app/requirements.txt &&         rm -rf /root/.cache/pip/* &&         rm root/wheels/* &&         rm /app/requirements.txt]: exit code: 1
make: *** [build] Error 1

Any idea of what’s going on? How could I help you help me fix this? 😉

Thanks!

Issue Analytics

  • State:closed
  • Created 2 years ago
  • Comments:13 (13 by maintainers)

github_iconTop GitHub Comments

1reaction
ajnisbetcommented, Nov 13, 2021

Thanks for your help!

1reaction
ajnisbetcommented, Nov 11, 2021

Ah, I missed that you’re on an M1 mac, I imagine that is the issue.

I don’t have a macbook to test on, and I don’t quite understand how M1, docker and rosetta all work together. I’m surprised rosetta didn’t work.

I know rasterio doesn’t have wheels for M1s (https://github.com/rasterio/rasterio-wheels/issues/69). Even on linux installing gdal and proj is a headache, which is why I went the rasterio route.

This Dockerfile works for me on linux (it builds and the tests pass): on my linux machine it pulls the rasterio wheel of course, but if the base image works on m1 that should have the dependencies needed to build rasterio

FROM osgeo/gdal:ubuntu-full-3.4.0
RUN set -e && \
    apt-get update && \
    apt-get install -y --no-install-recommends \
        nginx \
        memcached \
        python3-pip \
        gcc \
        g++ \
        supervisor \
        libmemcached-dev \
        python3.8-dev && \
    rm -rf /var/lib/apt/lists/*

COPY requirements.txt /app/requirements.txt
RUN pip install \
        --no-cache-dir \
        --disable-pip-version-check \
        uwsgi regex && \
    pip install --no-cache-dir --disable-pip-version-check -r /app/requirements.txt && \
        rm -rf /root/.cache/pip/* && \
        rm /app/requirements.txt

WORKDIR /app
COPY . /app/

RUN echo > /etc/nginx/sites-available/default && \
    cp /app/docker/nginx.conf /etc/nginx/conf.d/nginx.conf && \
    cp /app/docker/supervisord.conf /etc/supervisor/conf.d/supervisord.conf

CMD ["sh", "/app/docker/run.sh"]
EXPOSE 5000

ENV CURL_CA_BUNDLE=/etc/ssl/certs/ca-certificates.crt
ENV GDAL_DISABLE_READDIR_ON_OPEN=TRUE
ENV GDAL_NUM_THREADS=ALL_CPUS
ENV GDAL_CACHEMAX=512

Otherwise you could try running without docker using homebrew and/or conda.

Read more comments on GitHub >

github_iconTop Results From Across the Web

pip install gdal failing on macOS · Issue #2166 - GitHub
Expected behavior and actual behavior. As of the new release (3.0.3), pip install gdal is failing for me. Error is $ pip install...
Read more >
Unable to install gdal in python 3.6.1 in macos Sierra
1) Install GDAL framework using dmg installer for MAC [GDAL MAC ... 2) Add gdal-config folder to your path and get your version:....
Read more >
Python GDAL package missing header file when installing via ...
selimnairb's answer is close but you wont have the headers unless you've installed libgdal-dev: sudo apt-get install libgdal-dev.
Read more >
Dockerfile working on Linux but not on Mac M1 - Reddit
The main issue is with a package called Rasterio.On Mac it throws me: WARNING:root:Failed to get options via gdal-config: [Errno 2] No such...
Read more >
Spatial Data Science: Installing GDAL on Windows and MacOS
It will open a command prompt/terminal with the GDAL environment set up. again, invoke gdalinfo --version to verify that it has been installed....
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found