BirdNET-Analyzer
                                
                                 BirdNET-Analyzer copied to clipboard
                                
                                    BirdNET-Analyzer copied to clipboard
                            
                            
                            
                        Docker images built for arm64 don't work
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.