Skip to content

GLIBCXX_3.4.29 not found error when trying to run geopic-tag-reader on Debian 11

I tried to run geopic-tag-reader on a Debian 11 machine, it didn't work:

$ python3 --version
Python 3.9.2
$ python3 -m venv py3-geovisio
$ . py3-geovisio/bin/activate
$ pip install geopic_tag_reader
Successfully installed click-8.1.7 geopic-tag-reader-1.0.4 pyexiv2-2.8.3 typer-0.9.0 typing-extensions-4.9.0 xmltodict-0.13.0
$ geopic-tag-reader read --image GPAH0801.JPG
Traceback (most recent call last):
  File "/home/user/venv/py3-geovisio/bin/geopic-tag-reader", line 5, in <module>
    from geopic_tag_reader.main import app
  File "/home/user/venv/py3-geovisio/lib/python3.9/site-packages/geopic_tag_reader/main.py", line 3, in <module>
    from geopic_tag_reader import reader
  File "/home/user/venv/py3-geovisio/lib/python3.9/site-packages/geopic_tag_reader/reader.py", line 2, in <module>
    import pyexiv2  # type: ignore
  File "/home/user/venv/py3-geovisio/lib/python3.9/site-packages/pyexiv2/__init__.py", line 6, in <module>
    from .core import *
  File "/home/user/venv/py3-geovisio/lib/python3.9/site-packages/pyexiv2/core.py", line 4, in <module>
    from .lib import exiv2api
  File "/home/user/venv/py3-geovisio/lib/python3.9/site-packages/pyexiv2/lib/__init__.py", line 19, in <module>
    ctypes.CDLL(os.path.join(lib_dir, 'libexiv2.so'))
  File "/usr/lib/python3.9/ctypes/__init__.py", line 374, in __init__
    self._handle = _dlopen(self._name, mode)
OSError: /lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.29' not found (required by /home/user/venv/py3-geovisio/lib/python3.9/site-packages/pyexiv2/lib/libexiv2.so)

I installed the latest version of pyexiv2 (2.12.0), the error is different but it still fails:

OSError: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.32' not found (required by /home/zorun/venv/py3-geovisio/lib/python3.9/site-packages/pyexiv2/lib/libexiv2.so)