Evidlo / remarkable_mouse

use your reMarkable as a graphics tablet
GNU General Public License v3.0
514 stars 49 forks source link

undefined symbol: libevdev_event_value_get_name #38

Closed sersorrel closed 4 years ago

sersorrel commented 4 years ago

When I run remouse with --evdev, it crashes after Debugging enabled...:

Traceback (most recent call last):
  File "/home/ash/.local/bin/remouse", line 8, in <module>
    sys.exit(main())
  File "/home/ash/.local/venvs/remarkable-mouse/lib/python3.8/site-packages/remarkable_mouse/remarkable_mouse.py", line 108, in main
    local_device = create_local_device()
  File "/home/ash/.local/venvs/remarkable-mouse/lib/python3.8/site-packages/remarkable_mouse/evdev.py", line 25, in create_local_device
    import libevdev
  File "/home/ash/.local/venvs/remarkable-mouse/lib/python3.8/site-packages/libevdev/__init__.py", line 23, in <module>
    from .device import Device, InputAbsInfo
  File "/home/ash/.local/venvs/remarkable-mouse/lib/python3.8/site-packages/libevdev/device.py", line 29, in <module>
    from .event import InputEvent
  File "/home/ash/.local/venvs/remarkable-mouse/lib/python3.8/site-packages/libevdev/event.py", line 23, in <module>
    from .const import EventType, EventCode
  File "/home/ash/.local/venvs/remarkable-mouse/lib/python3.8/site-packages/libevdev/const.py", line 413, in <module>
    _load_consts()
  File "/home/ash/.local/venvs/remarkable-mouse/lib/python3.8/site-packages/libevdev/const.py", line 338, in _load_consts
    Libevdev()  # classmethods, need to make sure it's loaded at once
  File "/home/ash/.local/venvs/remarkable-mouse/lib/python3.8/site-packages/libevdev/_clib.py", line 395, in __init__
    super(Libevdev, self).__init__()
  File "/home/ash/.local/venvs/remarkable-mouse/lib/python3.8/site-packages/libevdev/_clib.py", line 76, in __init__
    self._load()
  File "/home/ash/.local/venvs/remarkable-mouse/lib/python3.8/site-packages/libevdev/_clib.py", line 85, in _load
    func = getattr(cls._lib, name)
  File "/usr/local/lib/python3.8/ctypes/__init__.py", line 382, in __getattr__
    func = self.__getitem__(name)
  File "/usr/local/lib/python3.8/ctypes/__init__.py", line 387, in __getitem__
    func = self._FuncPtr((name_or_ordinal, self))
AttributeError: /usr/lib/x86_64-linux-gnu/libevdev.so.2: undefined symbol: libevdev_event_value_get_name

I'm on Ubuntu 18.04; is this just "your system libevdev is too old"?

Evidlo commented 4 years ago

I'm not sure, but its failing at importing libevdev, so it's not a problem here.

Evidlo commented 4 years ago

On Debian 11:

[evan@blackbox ~] readelf -Ws /usr/lib/x86_64-linux-gnu/libevdev.so.2 | grep libevdev_event_value_get_name
    43: 000000000000cf10    35 FUNC    GLOBAL DEFAULT   13 libevdev_event_value_get_name@@LIBEVDEV_1_6
sersorrel commented 4 years ago

ugh, ok, yeah; I have libevdev 1.5.8, but libevdev_event_value_get_name was added in 1.6.0: https://lists.freedesktop.org/archives/input-tools/2018-October/001488.html