vmatare / thinkfan

The minimalist fan control program
GNU General Public License v3.0
534 stars 61 forks source link

Arch Linux: error while loading shared libraries after yaml-cpp 0.8.0 upgrade #233

Open k1gen opened 11 months ago

k1gen commented 11 months ago

yaml-cpp updated to 0.8.0 on arch, so thinkfan stopped working: /usr/bin/thinkfan: error while loading shared libraries: libyaml-cpp.so.0.7: cannot open shared object file: No such file or directory

nozwock commented 11 months ago

Have you tried the main build of thinkfan? Does it also have the incompatibility?

nozwock commented 11 months ago

You may also try symlinking the 0.8.0 libyaml to libyaml-cpp.so.0.7, would probably work.

k1gen commented 11 months ago

haven't tried the main build yet, am using v1.3.1 from arch repos. also, while the lib symlink is an ugly decision, it works. sudo ln -s libyaml-cpp.so.0.8 /usr/lib/libyaml-cpp.so.0.7 fixed the issue for me. waiting for the upstream fix anyway

nozwock commented 11 months ago

Ok, so all you have to do is rebuild the binary with the updated dependencies.

-- Found PkgConfig: /usr/bin/pkg-config (found version "1.8.1") 
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Success
-- Found Threads: TRUE  
-- Checking for module 'systemd'
--   Found systemd, version 254
-- Checking for module 'openrc'
--   Package 'openrc', required by 'virtual:world', not found
-- Checking for module 'yaml-cpp'
--   Found yaml-cpp, version 0.8.0
-- Checking for module 'libatasmart'
--   Found libatasmart, version 0.19
-- Configuring done (0.6s)
-- Generating done (0.0s)
-- Build files have been written to: /tmp/thinkfan

So you either need to do the lib symlinking or have to rebuild the binary. Ofc, you can just wait for an upstream release, but it's been years since the last one, so I wouldn't depend on that.

bssb commented 11 months ago

This is pretty much a duplicate of #74, #162, #169.

It's just the way AUR packaging works. If your AUR helper program doesn't automatically rebuild a package when one of its dependency is updated, you have to rebuild the package manually. I don't know of any AUR helpers that can do that btw, I've always rebuilt manually.