Skip to content

Building Docker image fails #965

Description

@jonatan-ivanov

Describe the bug
Since Docker images are unavailable, I tried to build them, using the command in the docs but the build fails.

To Reproduce
Follow what the docs says and try to build the image:

git clone https://github.com/birdnet-team/BirdNET-Analyzer.git
cd BirdNET-Analyzer
docker build -t birdnet-analyzer .

Error message:

18.78 Installing collected packages: namex, libclang, flatbuffers, wrapt, urllib3, typing_extensions, tqdm, threadpoolctl, termcolor, six, setuptools, pyyaml, pyparsing, pygments, pycparser, pyarrow, psutil, protobuf, platformdirs, pillow, packaging, ordered-set, opt_einsum, numpy, narwhals, msgpack, mdurl, llvmlite, kiwisolver, joblib, idna, gast, fonttools, decorator, cycler, charset_normalizer, certifi, backports.strenum, audioread, absl-py, wheel, soxr, scipy, requests, python-dateutil, optree, numba, ml_dtypes, markdown-it-py, lazy_loader, h5py, grpcio, google_pasta, contourpy, cffi, ai-edge-litert, soundfile, scikit-learn, rich, resampy, pooch, pandas, matplotlib, kagglesdk, astunparse, librosa, keras, kagglehub, tensorflow, birdnet, birdnet_analyzer
36.59 Successfully installed absl-py-2.5.0 ai-edge-litert-2.1.6 astunparse-1.6.3 audioread-3.1.0 backports.strenum-1.2.8 birdnet-0.2.16 birdnet_analyzer-2.4.0 certifi-2026.7.22 cffi-2.1.0 charset_normalizer-3.4.9 contourpy-1.3.3 cycler-0.12.1 decorator-5.3.1 flatbuffers-25.12.19 fonttools-4.63.0 gast-0.7.0 google_pasta-0.2.0 grpcio-1.83.0 h5py-3.14.0 idna-3.18 joblib-1.5.3 kagglehub-1.0.2 kagglesdk-0.1.35 keras-3.15.0 kiwisolver-1.5.0 lazy_loader-0.5 libclang-18.1.1 librosa-0.11.0 llvmlite-0.48.0 markdown-it-py-4.2.0 matplotlib-3.11.1 mdurl-0.1.2 ml_dtypes-0.5.4 msgpack-1.2.1 namex-0.1.0 narwhals-2.24.0 numba-0.66.0 numpy-2.4.6 opt_einsum-3.4.0 optree-0.19.1 ordered-set-4.1.0 packaging-26.2 pandas-3.0.5 pillow-12.3.0 platformdirs-4.11.0 pooch-1.9.0 protobuf-7.35.1 psutil-7.2.2 pyarrow-25.0.0 pycparser-3.0 pygments-2.20.0 pyparsing-3.3.2 python-dateutil-2.9.0.post0 pyyaml-6.0.3 requests-2.34.2 resampy-0.4.3 rich-15.0.0 scikit-learn-1.9.0 scipy-1.18.0 setuptools-83.0.0 six-1.17.0 soundfile-0.14.0 soxr-1.1.0 tensorflow-2.21.0 termcolor-3.3.0 threadpoolctl-3.6.0 tqdm-4.69.1 typing_extensions-4.16.0 urllib3-2.7.0 wheel-0.47.0 wrapt-2.2.2
36.59 WARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager, possibly rendering your system unusable. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv. Use the --root-user-action option if you know what you are doing and want to suppress this warning.
36.67
36.67 [notice] A new release of pip is available: 25.0.1 -> 26.1.2
36.67 [notice] To update, run: pip install --upgrade pip
36.95 Found existing installation: tensorflow 2.21.0
37.12 Uninstalling tensorflow-2.21.0:
37.17   Successfully uninstalled tensorflow-2.21.0
37.33 WARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager, possibly rendering your system unusable. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv. Use the --root-user-action option if you know what you are doing and want to suppress this warning.
37.57 ERROR: Could not find a version that satisfies the requirement tensorflow-cpu>=2.20 (from versions: none)
37.66
37.66 [notice] A new release of pip is available: 25.0.1 -> 26.1.2
37.66 [notice] To update, run: pip install --upgrade pip
37.66 ERROR: No matching distribution found for tensorflow-cpu>=2.20
------
Dockerfile:14
--------------------
  13 |     # uses ai-edge-litert), so the GPU-enabled TensorFlow build is dead weight.
  14 | >>> RUN pip3 install --no-cache-dir . \
  15 | >>>     && pip3 uninstall -y tensorflow \
  16 | >>>     && pip3 install --no-cache-dir "tensorflow-cpu>=2.20"
  17 |
--------------------
ERROR: failed to build: failed to solve: process "/bin/sh -c pip3 install --no-cache-dir .     && pip3 uninstall -y tensorflow     && pip3 install --no-cache-dir \"tensorflow-cpu>=2.20\"" did not complete successfully: exit code: 1

Especially this:

37.66 ERROR: No matching distribution found for tensorflow-cpu>=2.20

Expected behavior
Being able to build the docker image running docker build.

Screenshots
N/A

Desktop (please complete the following information):

  • OS: macOS
  • Version 26.5.2 arm64

Additional context
I can build the image for the 2.4.0 release:

# clone first
git checkout v2.4.0
git switch -c 2.4.0 # so we won't have a detached HEAD
docker build -t birdnet-analyzer .

#961 was merged recently which seems to be connected since it is forcing the version of tensorflow-cpu that the build also have a problem with:

37.66 ERROR: No matching distribution found for tensorflow-cpu>=2.20

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions