Xtr126 / wayland-getevent

GNU General Public License v3.0
32 stars 4 forks source link

Make usage guide clearer #2

Closed blacklightpy closed 10 months ago

blacklightpy commented 11 months ago

I was using Void Linux musl edition and I had to compile it for myself. Since the existing static libraries were built with glibc, make wouldn't work on my system.

I had to spend a lot of time until I figured out that the build was static, but my package manager only had dynamic libraries.

I had to go on IRC until people showed me the scripts in the source which would generate static libraries, or to simply disable the static flag.

I know it is mentioned in the README, but I wondered why I would need to build the dependencies if I already have them from the package manager, and then I later forgot that they generate static libraries which my package manager didn't give.

So, please move the notes about build.sh before installing the dependencies from package manager, because even if it works for Arch, it doesn't work for Void, which usually prefers to keep just the dynamic libraries.

I doubt if Arch too ships static libraries, and probably the build only works because you shipped the libraries along with the source.

Some people recommended that you could use CMake's External Project feature to pull in the missing libraries rather than using scripts.. or at least if you're just using scripts, then make the Makefile run the scripts, or just describe build.sh as the build command rather than make.

Xtr126 commented 10 months ago

Thanks for bringing this into attention. The packages are required for header files. I used a static build initially as I wanted to push the binary to Android for doing IPC with the Android app. But as it's not being used currently I will switch it to a dynamic build by default for now. If someone wants to build the client instead of using a binary from GitHub actions but doesn't read the whole thing, I can't help though.