vividnightmare / g510s

Graphical utility for Logitech G510 and G510s keyboards on Linux.
GNU General Public License v3.0
20 stars 2 forks source link

Possible Bad Linking #5

Closed ocket8888 closed 6 years ago

ocket8888 commented 6 years ago

After installing (make && sudo make install && sudo udevadm control --reload-rules && sudo udevadm trigger) the g510s executable fails to launch. I tried both the one at /usr/local/bin/g510s and the one in the repo directory after building - both fail with the message:

g510s: error while loading shared libraries: libg15render.so.1: cannot open shared object file: No such file or directory
ocket8888 commented 6 years ago

I do have the library in question, freshly built from source and located at /usr/local/lib/libg15render.so.1

vividnightmare commented 6 years ago

I would suspect /usr/local/lib is not in your ld.so.conf

Check /etc/ld.so.conf.d

ocket8888 commented 6 years ago

Files in that dir only have the paths for /usr/lib32 and /usr/lib/libfakeroot. You're saying I can just drop a new one in there containing /usr/local/lib?

vividnightmare commented 6 years ago

Which would be why your linker isn't finding a shared object available in /usr/local/lib

vividnightmare commented 6 years ago

You could also remove libg15render and tell the configure script you want to install it under a different prefix.

ocket8888 commented 6 years ago

I might try that, because after adding a new file pointing at /usr/loca/libdidn't do anything. Manually setting the LD_LIBRARY_PATH before calling the executable did work, though. Of course, now it's not finding my device...

vividnightmare commented 6 years ago

You would also need to run ldconfig to update ld.so.cache

ocket8888 commented 6 years ago

ah. I have no idea how that stuff works. I guess I can close this, but it's weird that the default install directory for these things is in a place where they can't be found by the linker.

vividnightmare commented 6 years ago

That would be an issue with Arch Linux philosophy. Generally packages not maintained by the distribution are installed to /usr/local

I don't know why Arch doesn't like that, you'd have to ask them.