vmatare / thinkfan

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

Upgrading package yaml-cpp to 0.7.0-2 results in thinkfan failing to load #162

Closed zijian-x closed 3 years ago

zijian-x commented 3 years ago

Snippet from journalctl:

Oct 26 10:19:45 t480 thinkfan[81133]: /usr/bin/thinkfan: error while loading shared libraries: libyaml-cpp.so.0.6: >
Oct 26 10:19:45 t480 systemd[1]: thinkfan.service: Control process exited, code=exited, status=127/n/a
░░ Subject: Unit process exited
░░ Defined-By: systemd
░░ Support: https://lists.freedesktop.org/mailman/listinfo/systemd-devel
░░
░░ An ExecStart= process belonging to unit thinkfan.service has exited.
░░
░░ The process' exit code is 'exited' and its exit status is 127.
Oct 26 10:19:45 t480 systemd[1]: thinkfan.service: Failed with result 'exit-code'.
░░ Subject: Unit failed
░░ Defined-By: systemd
░░ Support: https://lists.freedesktop.org/mailman/listinfo/systemd-devel
░░
░░ The unit thinkfan.service has entered the 'failed' state with result 'exit-code'.
Oct 26 10:19:45 t480 systemd[1]: Failed to start simple and lightweight fan control program.
░░ Subject: A start job for unit thinkfan.service has failed
░░ Defined-By: systemd
░░ Support: https://lists.freedesktop.org/mailman/listinfo/systemd-devel
░░
░░ A start job for unit thinkfan.service has finished with a failure.
░░
░░ The job identifier is 762 and the job result is failed.
Oct 26 10:20:10 t480 systemd[1]: Starting simple and lightweight fan control program...
░░ Subject: A start job for unit thinkfan.service has begun execution
░░ Defined-By: systemd
░░ Support: https://lists.freedesktop.org/mailman/listinfo/systemd-devel

had to downgrade the yaml package to 0.6.3-2 for now.

vmatare commented 3 years ago

Hi, thanks for your report, but the essential bit of the error message (1st line) is cut off. Please run journalctl -el -u thinkfan to find the full error output. However, even without seeing the full error message, I can tell that this is most likely a linking issue, which means it's a bug in your distribution package. The package definition is probably missing the dependency on libyaml-cpp and that's why it's not being rebuilt when libyaml-cpp is updated. Please report this as a bug against the thinkfan package in your distribution.

bssb commented 3 years ago

I'm the maintainer of the AUR thinkfan package. The yaml-cpp dependency is listed properly in the PKGBUILD, but it's up to your AUR helper program to detect that the package needs to be rebuilt. If the AUR helper cannot detect the updated dependency then you will need to rebuild manually.

vmatare commented 3 years ago

I'm the maintainer of the AUR thinkfan package. The yaml-cpp dependency is listed properly in the PKGBUILD, but it's up to your AUR helper program to detect that the package needs to be rebuilt.

Ah sorry @bssb, didn't realize we were talking about Arch here. On your typical binary distro rebuilding locally would not have been a feasible option.

If the AUR helper cannot detect the updated dependency then you will need to rebuild manually.

Anyways, that still begs the question why the AUR helper is not detecting the updated dependency. I don't know how it's supposed to work on Arch, I can only talk from personal Gentoo experience here. On Gentoo we have a mechanism called slot operators which control on what dependency changes some dependee gets rebuilt. From what you're saying I'm assuming that AUR helper must have something that serves a similar purpose but isn't working correctly in this case. Any ideas why? Is it a known issue?

zijian-x commented 2 years ago

I'm still a fairly new arch user but if I understand this correctly, the thinkfan package will be rebuilt after updating yaml-cpp. I think it's because I don't have any AUR helper on the machine. I just did the update with makepkg -sirc without doing the same for the thinkfan package.

zijian-x commented 2 years ago

So the issue isn't on thinkfan, nor does it come from missing dependency, it's on me not knowing to rebuild the package on my own. Now that I learned this, I realized that this issue should have not been here in the first place.