jiixyj / epoll-shim

small epoll implementation using kqueue; includes all features needed for libinput/libevdev
MIT License
91 stars 24 forks source link

gmake: *** No rule to make target 'install'. Stop. #47

Open sandikodev opened 1 year ago

sandikodev commented 1 year ago
[ 62%] Linking C executable pipe-test
[ 62%] Built target pipe-test
[ 65%] Building C object test/CMakeFiles/socketpair-test.dir/socketpair-test.c.o
[ 67%] Linking C executable socketpair-test
[ 67%] Built target socketpair-test
[ 69%] Building C object test/CMakeFiles/tst-epoll.dir/tst-epoll.c.o
[ 72%] Linking C executable tst-epoll
[ 72%] Built target tst-epoll
[ 74%] Building C object test/CMakeFiles/tst-timerfd.dir/tst-timerfd.c.o
[ 76%] Linking C executable tst-timerfd
[ 76%] Built target tst-timerfd
[ 79%] Building C object test/CMakeFiles/rwlock-test.dir/rwlock-test.c.o
[ 81%] Linking C executable rwlock-test
[ 81%] Built target rwlock-test
[ 83%] Building C object test/CMakeFiles/epoll-include-test.dir/epoll-include-test.c.o
[ 86%] Linking C executable epoll-include-test
[ 86%] Built target epoll-include-test
[ 88%] Building C object test/CMakeFiles/epoll-include-c89-test.dir/epoll-include-c89-test.c.o
[ 90%] Linking C executable epoll-include-c89-test
[ 90%] Built target epoll-include-c89-test
[ 93%] Building C object test/CMakeFiles/fcntl-warning.dir/fcntl-warning.c.o
[ 95%] Linking C executable fcntl-warning
[ 95%] Built target fcntl-warning
[ 97%] Building C object test/CMakeFiles/dlsym-fail.dir/epoll-include-test.c.o
[100%] Linking C executable dlsym-fail
[100%] Built target dlsym-fail
➜  build git:(master) git pull
Already up to date.
➜  build git:(master) cmake --build . --target install    

gmake: *** No rule to make target 'install'.  Stop.
➜  build git:(master) 

infact there's no install: properties Makefile have

➜  build git:(master) make install
make: *** No rule to make target 'install'.  Stop.
➜  build git:(master) 
jiixyj commented 1 year ago

Are you on Linux by any chance? There is no install target for Linux by design: https://github.com/jiixyj/epoll-shim/blob/master/CMakeLists.txt#L47

The only reason to build this project on Linux is for running the test suite in order to verify how the different system calls in the epoll family behave natively.

sandikodev commented 1 year ago

Are you on Linux by any chance? There is no install target for Linux by design: https://github.com/jiixyj/epoll-shim/blob/master/CMakeLists.txt#L47

The only reason to build this project on Linux is for running the test suite in order to verify how the different system calls in the epoll family behave natively.

my bad, i am sorry. i try to use libei. then they ask to use epoll-shim https://gitlab.freedesktop.org/libinput/libei/-/blob/main/meson.build#L77`

...
dep_epoll = dependency('epoll-shim', required: false)
...

even though required: false by mean optional *maybe

is it safe to me ? to comment this line, and go forward make install so epoll-shim can found by env: pkg-config and cmake ?

what i've done:

[ 81%] Built target rwlock-test
[ 86%] Built target epoll-include-test
[ 90%] Built target epoll-include-c89-test
[ 95%] Built target fcntl-warning
[100%] Built target dlsym-fail
Install the project...
-- Install configuration: "RelWithDebInfo"
-- Installing: /usr/local/libdata/pkgconfig/epoll-shim.pc
-- Installing: /usr/local/libdata/pkgconfig/epoll-shim-interpose.pc
CMake Error at cmake_install.cmake:69 (file):
  file INSTALL cannot find
  "/home/dev/hyper/Hyprland/dep/epoll-shim/build/install-include": No such
  file or directory.

make: *** [Makefile:110: install] Error 1
➜  build git:(master) ✗ pwd
/home/dev/hyper/Hyprland/dep/epoll-shim/build
➜  build git:(master) ✗ mkdir install-include
➜  build git:(master) ✗ sudo make install    
[  4%] Built target microatf-c
[  9%] Built target microatf-translate-signal
[ 11%] Built target rwlock
[ 18%] Built target epoll-test
[ 25%] Built target epoll-test-rdhup-linux-def
[ 30%] Built target timerfd-test
[ 34%] Built target timerfd-root-test
[ 39%] Built target timerfd-mock-test
[ 44%] Built target signalfd-test
[ 48%] Built target perf-many-fds
[ 53%] Built target atf-test
[ 58%] Built target eventfd-ctx-test
[ 62%] Built target pipe-test
[ 67%] Built target socketpair-test
[ 72%] Built target tst-epoll
[ 76%] Built target tst-timerfd
[ 81%] Built target rwlock-test
[ 86%] Built target epoll-include-test
[ 90%] Built target epoll-include-c89-test
[ 95%] Built target fcntl-warning
[100%] Built target dlsym-fail
Install the project...
-- Install configuration: "RelWithDebInfo"
-- Up-to-date: /usr/local/libdata/pkgconfig/epoll-shim.pc
-- Up-to-date: /usr/local/libdata/pkgconfig/epoll-shim-interpose.pc
-- Installing: /usr/local/include/libepoll-shim
-- Installing: /usr/local/lib/cmake/epoll-shim/epoll-shim-targets.cmake
-- Installing: /usr/local/lib/cmake/epoll-shim/epoll-shim-config.cmake

host:

➜  libei git:(main) lsb_release -a                              
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 22.04.3 LTS
Release:    22.04
Codename:   jammy
jiixyj commented 1 year ago

If you are running Linux, there is no need for epoll-shim at all. This is why there is the required: false in dependency('epoll-shim', required: false). On Linux, epoll-shim must not be found, actually.