PeterCxy / evdev-right-click-emulation

Implement Long-Press-to-Right-Click on Touchscreen Linux Devices with Xorg or Wayland
Do What The F*ck You Want To Public License
90 stars 32 forks source link

can't compile on Debian sid with libevdev-dev 1.8.0 #2

Closed zaza42 closed 4 years ago

zaza42 commented 4 years ago

I've tried to compile on Debian sid, here is the result:

# make
gcc -Wall -std=c11 -D_POSIX_C_SOURCE=199309L -levdev -I/usr/include/libevdev-1.0 -c uinput.c -o out/uinput.o
gcc -Wall -std=c11 -D_POSIX_C_SOURCE=199309L -levdev -I/usr/include/libevdev-1.0 -c input.c -o out/input.o
gcc -Wall -std=c11 -D_POSIX_C_SOURCE=199309L -levdev -I/usr/include/libevdev-1.0 -c rce.c -o out/rce.o
gcc -Wall -std=c11 -D_POSIX_C_SOURCE=199309L -levdev -I/usr/include/libevdev-1.0 out/uinput.o out/input.o out/rce.o -o out/evdev-rce
/usr/bin/ld: out/uinput.o: in function `uinput_initialize':
uinput.c:(.text+0x9): undefined reference to `libevdev_new'
/usr/bin/ld: uinput.c:(.text+0x20): undefined reference to `libevdev_set_name'
/usr/bin/ld: uinput.c:(.text+0x31): undefined reference to `libevdev_enable_event_type'
/usr/bin/ld: uinput.c:(.text+0x4c): undefined reference to `libevdev_enable_event_code'
/usr/bin/ld: uinput.c:(.text+0x69): undefined reference to `libevdev_uinput_create_from_device'
/usr/bin/ld: uinput.c:(.text+0x81): undefined reference to `libevdev_free'
/usr/bin/ld: out/uinput.o: in function `uinput_send_right_click':
uinput.c:(.text+0xae): undefined reference to `libevdev_uinput_write_event'
/usr/bin/ld: uinput.c:(.text+0xc9): undefined reference to `libevdev_uinput_write_event'
/usr/bin/ld: uinput.c:(.text+0xe4): undefined reference to `libevdev_uinput_write_event'
/usr/bin/ld: uinput.c:(.text+0xff): undefined reference to `libevdev_uinput_write_event'
/usr/bin/ld: out/input.o: in function `free_evdev':
input.c:(.text+0x14): undefined reference to `libevdev_get_fd'
/usr/bin/ld: input.c:(.text+0x23): undefined reference to `libevdev_free'
/usr/bin/ld: out/input.o: in function `build_fd_set':
input.c:(.text+0xdf): undefined reference to `libevdev_get_fd'
/usr/bin/ld: out/input.o: in function `process_evdev_input':
input.c:(.text+0x4a9): undefined reference to `libevdev_get_fd'
/usr/bin/ld: input.c:(.text+0x4de): undefined reference to `libevdev_get_fd'
/usr/bin/ld: input.c:(.text+0x548): undefined reference to `libevdev_next_event'
/usr/bin/ld: input.c:(.text+0x5c0): undefined reference to `libevdev_uinput_destroy'
/usr/bin/ld: out/rce.o: in function `find_evdev':
rce.c:(.text+0x1ad): undefined reference to `libevdev_new_from_fd'
/usr/bin/ld: rce.c:(.text+0x1fa): undefined reference to `libevdev_has_event_type'
/usr/bin/ld: rce.c:(.text+0x213): undefined reference to `libevdev_has_event_type'
/usr/bin/ld: rce.c:(.text+0x231): undefined reference to `libevdev_has_event_code'
/usr/bin/ld: rce.c:(.text+0x24f): undefined reference to `libevdev_has_event_code'
/usr/bin/ld: rce.c:(.text+0x263): undefined reference to `libevdev_get_name'
/usr/bin/ld: rce.c:(.text+0x346): undefined reference to `libevdev_free'
collect2: error: ld returned 1 exit status
make: *** [Makefile:19: out/evdev-rce] Error 1
apt policy libevdev-dev
libevdev-dev:
  Installed: 1.8.0+dfsg-2
  Candidate: 1.8.0+dfsg-2
  Version table:
 *** 1.8.0+dfsg-2 500
        500 http://cdn-fastly.deb.debian.org/debian sid/main amd64 Packages
        100 /var/lib/dpkg/status
zaza42 commented 4 years ago

Still can't compile:

$ make
gcc -Wall -std=c11 -D_POSIX_C_SOURCE=199309L -levdev -I/usr/include/libevdev-1.0 -c uinput.c -o out/uinput.o
gcc -Wall -std=c11 -D_POSIX_C_SOURCE=199309L -levdev -I/usr/include/libevdev-1.0 -c input.c -o out/input.o
gcc -Wall -std=c11 -D_POSIX_C_SOURCE=199309L -levdev -I/usr/include/libevdev-1.0 -c rce.c -o out/rce.o
gcc -Wall -std=c11 -D_POSIX_C_SOURCE=199309L -levdev -I/usr/include/libevdev-1.0 out/uinput.o out/input.o out/rce.o -o out/evdev-rce
/usr/bin/ld: out/uinput.o: in function `uinput_initialize':
uinput.c:(.text+0x9): undefined reference to `libevdev_new'
/usr/bin/ld: uinput.c:(.text+0x20): undefined reference to `libevdev_set_name'
/usr/bin/ld: uinput.c:(.text+0x31): undefined reference to `libevdev_enable_event_type'
/usr/bin/ld: uinput.c:(.text+0x4c): undefined reference to `libevdev_enable_event_code'
/usr/bin/ld: uinput.c:(.text+0x69): undefined reference to `libevdev_uinput_create_from_device'
/usr/bin/ld: uinput.c:(.text+0x81): undefined reference to `libevdev_free'
/usr/bin/ld: out/uinput.o: in function `uinput_send_right_click':
uinput.c:(.text+0xae): undefined reference to `libevdev_uinput_write_event'
/usr/bin/ld: uinput.c:(.text+0xc9): undefined reference to `libevdev_uinput_write_event'
/usr/bin/ld: uinput.c:(.text+0xe4): undefined reference to `libevdev_uinput_write_event'
/usr/bin/ld: uinput.c:(.text+0xff): undefined reference to `libevdev_uinput_write_event'
/usr/bin/ld: out/input.o: in function `free_evdev':
input.c:(.text+0x14): undefined reference to `libevdev_get_fd'
/usr/bin/ld: input.c:(.text+0x23): undefined reference to `libevdev_free'
/usr/bin/ld: out/input.o: in function `build_fd_set':
input.c:(.text+0xdf): undefined reference to `libevdev_get_fd'
/usr/bin/ld: out/input.o: in function `process_evdev_input':
input.c:(.text+0x4a9): undefined reference to `libevdev_get_fd'
/usr/bin/ld: input.c:(.text+0x4de): undefined reference to `libevdev_get_fd'
/usr/bin/ld: input.c:(.text+0x545): undefined reference to `libevdev_next_event'
/usr/bin/ld: input.c:(.text+0x5c0): undefined reference to `libevdev_uinput_destroy'
/usr/bin/ld: out/rce.o: in function `find_evdev':
rce.c:(.text+0x1ae): undefined reference to `libevdev_new_from_fd'
/usr/bin/ld: rce.c:(.text+0x1fb): undefined reference to `libevdev_has_event_type'
/usr/bin/ld: rce.c:(.text+0x214): undefined reference to `libevdev_has_event_type'
/usr/bin/ld: rce.c:(.text+0x232): undefined reference to `libevdev_has_event_code'
/usr/bin/ld: rce.c:(.text+0x250): undefined reference to `libevdev_has_event_code'
/usr/bin/ld: rce.c:(.text+0x264): undefined reference to `libevdev_get_name'
/usr/bin/ld: rce.c:(.text+0x347): undefined reference to `libevdev_free'
collect2: error: ld returned 1 exit status
make: *** [Makefile:19: out/evdev-rce] Error 1

libc6:amd64 2.31-0experimental0 amd64 gcc-9 9.3.0-10 libevdev-dev:amd64 1.9.0+dfsg-1

kauedg commented 4 years ago

@zaza42 the fix hasn't been merged to the master branch yet. Manually edit your Makefile do match the fix and it will build

zaza42 commented 4 years ago

Thx, it fixed!

phd commented 2 years ago

@zaza42 Is the issue fixed? Or you just worked around it manually?