DeepLabCut / DeepLabCut

Official implementation of DeepLabCut: Markerless pose estimation of user-defined features with deep learning for all animals incl. humans
http://deeplabcut.org
GNU Lesser General Public License v3.0
4.58k stars 1.65k forks source link

Installation issue: ImportError: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.28' not found #2256

Closed meghalD closed 1 year ago

meghalD commented 1 year ago

Is there an existing issue for this?

Bug description

Hi, I created the conda environment using the .yaml file as instructed on my linux machine, but everytime I get this error when trying to run: import deeplabcut or python -m deeplabcut

full trace of the error: 2023-05-28 18:41:02.629205: I tensorflow/core/platform/cpu_feature_guard.cc:193] This TensorFlow binary is optimized with oneAPI Deep Neural Network Library (oneDNN) to use the following CPU instructions in performance-critical operations: AVX2 AVX512F AVX512_VNNI FMA To enable them in other operations, rebuild TensorFlow with the appropriate compiler flags. 2023-05-28 18:41:02.812836: I tensorflow/core/util/util.cc:169] oneDNN custom operations are on. You may see slightly different numerical results due to floating-point round-off errors from different computation orders. To turn them off, set the environment variable TF_ENABLE_ONEDNN_OPTS=0. 2023-05-28 18:41:02.819838: W tensorflow/stream_executor/platform/default/dso_loader.cc:64] Could not load dynamic library 'libcudart.so.11.0'; dlerror: libcudart.so.11.0: cannot open shared object file: No such file or directory 2023-05-28 18:41:02.819864: I tensorflow/stream_executor/cuda/cudart_stub.cc:29] Ignore above cudart dlerror if you do not have a GPU set up on your machine. 2023-05-28 18:41:02.856951: E tensorflow/stream_executor/cuda/cuda_blas.cc:2981] Unable to register cuBLAS factory: Attempting to register factory for plugin cuBLAS when one has already been registered 2023-05-28 18:41:03.569152: W tensorflow/stream_executor/platform/default/dso_loader.cc:64] Could not load dynamic library 'libnvinfer.so.7'; dlerror: libnvinfer.so.7: cannot open shared object file: No such file or directory 2023-05-28 18:41:03.569229: W tensorflow/stream_executor/platform/default/dso_loader.cc:64] Could not load dynamic library 'libnvinfer_plugin.so.7'; dlerror: libnvinfer_plugin.so.7: cannot open shared object file: No such file or directory 2023-05-28 18:41:03.569246: W tensorflow/compiler/tf2tensorrt/utils/py_utils.cc:38] TF-TRT Warning: Cannot dlopen some TensorRT libraries. If you would like to use Nvidia GPU with TensorRT, please make sure the missing libraries mentioned above are installed properly. Loading DLC 2.3.4... Traceback (most recent call last): File "/shared-local/mdani31/anaconda3/envs/DEEPLABCUT/lib/python3.8/site-packages/qtpy/init.py", line 253, in from PySide6.QtCore import version as QT_VERSION # analysis:ignore ImportError: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.28' not found (required by /shared-local/mdani31/anaconda3/envs/DEEPLABCUT/lib/python3.8/site-packages/PySide6/Qt/lib/libQt6Core.so.6)

During handling of the above exception, another exception occurred:

Traceback (most recent call last): File "/shared-local/mdani31/anaconda3/envs/DEEPLABCUT/lib/python3.8/runpy.py", line 185, in _run_module_as_main mod_name, mod_spec, code = _get_module_details(mod_name, _Error) File "/shared-local/mdani31/anaconda3/envs/DEEPLABCUT/lib/python3.8/runpy.py", line 144, in _get_module_details return _get_module_details(pkg_main_name, error) File "/shared-local/mdani31/anaconda3/envs/DEEPLABCUT/lib/python3.8/runpy.py", line 111, in _get_module_details import(pkg_name) File "/home/mdani31/akata-shared/mdani31/DeepLabCut/deeplabcut/init.py", line 25, in from deeplabcut.gui.tracklet_toolbox import refine_tracklets File "/home/mdani31/akata-shared/mdani31/DeepLabCut/deeplabcut/gui/init.py", line 15, in import qtpy # Necessary unused import to properly store the env variable File "/shared-local/mdani31/anaconda3/envs/DEEPLABCUT/lib/python3.8/site-packages/qtpy/init.py", line 259, in raise QtBindingsNotFoundError() qtpy.QtBindingsNotFoundError: No Qt bindings could be found

Operating System

Linux

DeepLabCut version

error in importing and running GUI as mentioned in bug description

DeepLabCut mode

single animal

Device type

NVIDIA-SMI 515.105.01

Steps To Reproduce

No response

Relevant log output

>>> import deeplabcut
2023-05-28 18:51:50.481494: I tensorflow/core/platform/cpu_feature_guard.cc:193] This TensorFlow binary is optimized with oneAPI Deep Neural Network Library (oneDNN) to use the following CPU instructions in performance-critical operations:  AVX2 AVX512F AVX512_VNNI FMA
To enable them in other operations, rebuild TensorFlow with the appropriate compiler flags.
2023-05-28 18:51:50.661496: I tensorflow/core/util/util.cc:169] oneDNN custom operations are on. You may see slightly different numerical results due to floating-point round-off errors from different computation orders. To turn them off, set the environment variable `TF_ENABLE_ONEDNN_OPTS=0`.
2023-05-28 18:51:50.668176: W tensorflow/stream_executor/platform/default/dso_loader.cc:64] Could not load dynamic library 'libcudart.so.11.0'; dlerror: libcudart.so.11.0: cannot open shared object file: No such file or directory
2023-05-28 18:51:50.668200: I tensorflow/stream_executor/cuda/cudart_stub.cc:29] Ignore above cudart dlerror if you do not have a GPU set up on your machine.
2023-05-28 18:51:50.704569: E tensorflow/stream_executor/cuda/cuda_blas.cc:2981] Unable to register cuBLAS factory: Attempting to register factory for plugin cuBLAS when one has already been registered
2023-05-28 18:51:51.384683: W tensorflow/stream_executor/platform/default/dso_loader.cc:64] Could not load dynamic library 'libnvinfer.so.7'; dlerror: libnvinfer.so.7: cannot open shared object file: No such file or directory
2023-05-28 18:51:51.384764: W tensorflow/stream_executor/platform/default/dso_loader.cc:64] Could not load dynamic library 'libnvinfer_plugin.so.7'; dlerror: libnvinfer_plugin.so.7: cannot open shared object file: No such file or directory
2023-05-28 18:51:51.384774: W tensorflow/compiler/tf2tensorrt/utils/py_utils.cc:38] TF-TRT Warning: Cannot dlopen some TensorRT libraries. If you would like to use Nvidia GPU with TensorRT, please make sure the missing libraries mentioned above are installed properly.
Loading DLC 2.3.4...
Traceback (most recent call last):
  File "/shared-local/mdani31/anaconda3/envs/DEEPLABCUT/lib/python3.8/site-packages/qtpy/__init__.py", line 253, in <module>
    from PySide6.QtCore import __version__ as QT_VERSION  # analysis:ignore
ImportError: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.28' not found (required by /shared-local/mdani31/anaconda3/envs/DEEPLABCUT/lib/python3.8/site-packages/PySide6/Qt/lib/libQt6Core.so.6)

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/home/mdani31/akata-shared/mdani31/DeepLabCut/deeplabcut/__init__.py", line 25, in <module>
    from deeplabcut.gui.tracklet_toolbox import refine_tracklets
  File "/home/mdani31/akata-shared/mdani31/DeepLabCut/deeplabcut/gui/__init__.py", line 15, in <module>
    import qtpy  # Necessary unused import to properly store the env variable
  File "/shared-local/mdani31/anaconda3/envs/DEEPLABCUT/lib/python3.8/site-packages/qtpy/__init__.py", line 259, in <module>
    raise QtBindingsNotFoundError()
qtpy.QtBindingsNotFoundError: No Qt bindings could be found

Anything else?

I did the following:

I saw the error originates from TF initially, but that works fine separately Then updated qtpy and Pyside6 libraries. The import works fine apart from import PySide6.QtCore I printed the strings /lib/x86_64-linux-gnu/libc.so.6 | grep GLIBC (but the error in the log always gives the higher version my system does not have; I tried to run on multiple servers and get the same issue).

GLIBC_2.2.5 GLIBC_2.2.6 GLIBC_2.3 GLIBC_2.3.2 GLIBC_2.3.3 GLIBC_2.3.4 GLIBC_2.4 GLIBC_2.5 GLIBC_2.6 GLIBC_2.7 GLIBC_2.8 GLIBC_2.9 GLIBC_2.10 GLIBC_2.11 GLIBC_2.12 GLIBC_2.13 GLIBC_2.14 GLIBC_2.15 GLIBC_2.16 GLIBC_2.17 GLIBC_2.18 GLIBC_2.22 GLIBC_2.23 GLIBC_2.24 GLIBC_2.25 GLIBC_2.26 GLIBC_2.27 GLIBC_PRIVATE

Note: I do not have sudo permission for the cluster.

Code of Conduct

MMathisLab commented 1 year ago

can you let me know what software you are using on your linux machine, ie ubuntu 20.04 LTS?, etc?

https://deeplabcut.github.io/DeepLabCut/docs/recipes/installTips.html#installation-on-ubuntu-20-04-lts

meghalD commented 1 year ago

I tried it on two different GPU Servers as below:

Server 1: NAME="Ubuntu" VERSION="18.04.6 LTS (Bionic Beaver)" ID=ubuntu ID_LIKE=debian PRETTY_NAME="Ubuntu 18.04.6 LTS" VERSION_ID="18.04" HOME_URL="https://www.ubuntu.com/" SUPPORT_URL="https://help.ubuntu.com/" BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/" PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy" VERSION_CODENAME=bionic UBUNTU_CODENAME=bionic

Server 2: NAME="Rocky Linux" VERSION="9.0 (Blue Onyx)" ID="rocky" ID_LIKE="rhel centos fedora" VERSION_ID="9.0" PLATFORM_ID="platform:el9" PRETTY_NAME="Rocky Linux 9.0 (Blue Onyx)" ANSI_COLOR="0;32" LOGO="fedora-logo-icon" CPE_NAME="cpe:/o:rocky:rocky:9::baseos" HOME_URL="https://rockylinux.org/" BUG_REPORT_URL="https://bugs.rockylinux.org/" ROCKY_SUPPORT_PRODUCT="Rocky-Linux-9" ROCKY_SUPPORT_PRODUCT_VERSION="9.0" REDHAT_SUPPORT_PRODUCT="Rocky Linux" REDHAT_SUPPORT_PRODUCT_VERSION="9.0"

MMathisLab commented 1 year ago

Are you trying to use the DLC GUI, or a server? Server you are likely headless, so you can jsut install pip install deeplabcut[tf] but to solve the other issue, which is related to GUIs, please see: https://github.com/DeepLabCut/DeepLabCut/issues/2167