BirdNET-Analyzer icon indicating copy to clipboard operation
BirdNET-Analyzer copied to clipboard

Docker images built for arm64 don't work

Open mmcc-xx opened this issue 2 years ago • 0 comments

If the Dockerfile is built for the arm64 platform, the resulting image doesn't work. Errors are generated indicating...

ImportError: /lib/aarch64-linux-gnu/libc.so.6: version `GLIBC_2.33' not found (required by /usr/local/lib/python3.8/site-packages/tflite_runtime/_pywrap_tensorflow_interpreter_wrapper.so)

I found some comments suggesting that grpcio needed to be built from scratch. I tried that but still got the error. I then also specified an older version of tflite-runtime- version 2.7.0 to be exact. Then I was able to run the image.

I don't know if both changes are necessary or not.

To summarize... RUN pip3 install tensorflow==2.7.0

And after that... RUN pip uninstall grpcio RUN pip uninstall grpcio-status RUN pip install grpcio==1.44.0 --no-binary=grpcio RUN pip install grpcio-tools==1.44.0 --no-binary=grpcio-tools

I would NOT recommend rolling this into the main Dockerfile as the build takes a couple hours (at least on my old business PC that acts as my server). But, if you need to build the image for arm64, this is necessary.

mmcc-xx avatar May 29 '23 22:05 mmcc-xx