Cannot find libsdbus-c++.so.1
Since a couple of weeks, pass-secrets stopped working because it cannot find libsdbus-c++.so.1.
I can however confirm that it is present on my system (installed from source) :
I tried rebuilding after updating the master branch to commit 9bf333c, without success.
What could be the cause of this?
Thank you very much.
Oct 31, 2023 06:13:05 Emile Turcotte @.***>:
Since a couple of weeks, pass-secrets stopped working because it cannot find libsdbus.so.1.
[https://user-images.githubusercontent.com/64606429/279384908-2b273121-0543-4c5c-9035-e7505eb39632.png][image][https://user-images.githubusercontent.com/64606429/279384908-2b273121-0543-4c5c-9035-e7505eb39632.png][https://user-images.githubusercontent.com/64606429/279384908-2b273121-0543-4c5c-9035-e7505eb39632.png]
I can however confirm that it is present on my system (installed from source) :
[https://user-images.githubusercontent.com/64606429/279385171-8b14d3a3-c796-49cb-b6c5-dd9a08928641.png][image][https://user-images.githubusercontent.com/64606429/279385171-8b14d3a3-c796-49cb-b6c5-dd9a08928641.png][https://user-images.githubusercontent.com/64606429/279385171-8b14d3a3-c796-49cb-b6c5-dd9a08928641.png]
I tried rebuilding after updating the master branch to commit 9bf333c, without success. What could be the cause of this?
Thank you very much.
— Reply to this email directly, view it on GitHub[https://github.com/nullobsi/pass-secrets/issues/14], or unsubscribe[https://github.com/notifications/unsubscribe-auth/AFKALLKXB6RZMT23K25N2IDYCD2N7AVCNFSM6AAAAAA6XVRZKGVHI2DSMVQWIX3LMV43ASLTON2WKOZRHE3TANBUGY4DEMQ]. You are receiving this because you are subscribed to this thread.[Tracking image][https://github.com/notifications/beacon/AFKALLIVQG2NAIPQ5RRSFOTYCD2N7A5CNFSM6AAAAAA6XVRZKGWGG33NNVSW45C7OR4XAZNFJFZXG5LFVJRW63LNMVXHIX3JMTHHK4VB4Y.gif]
Hello,
What distro are you using? If you also manually built sdbus-c++ you will need to also build sdbus-c++ again
Thank you for the quick reply.
I am using Arch Linux : uname -a : Linux 6.5.9-arch2-1
I already rebuilt sdbus-c++, to no effect.
Do you need other info about my setup?
I'm assuming you installed everything from the AUR then? Are you using an AUR manager?
What I'd try is checking pacman -Qm to view packages that aren't in the repositories (i.e. built manually from AUR). Then, I'd try to rebuild packages that pass-secrets might depend on
Also, use the ldd tool like ldd /usr/bin/pass-secrets to see if perhaps it's unable to resolve the dependency. You can do ldd /usr/local/lib/libsdbus-c++.so as well to see if maybe it's failing to find libsdbus because it can't be loaded. Unfortunately dynamic linker errors like "not found" can be incredibly vague and hide the actual reasons it can't be found
More reading: https://www.man7.org/linux/man-pages/man8/ld.so.8.html , especially sections regarding LD_DEBUG
I was building pass-secrets from source actually. I went ahead and downloaded it from the AUR, and now my problem is solved, since the dependencies are properly resolved. This means that the build from source method is lacking some instructions to properly build dependencies as well, I suppose.
Another problem that occurred however is that the pass-secrets process only looks in the home directory for the password-store, which was causing problems because I set my path via the PASSWORD_STORE_DIR environment variable. This is a minor thing, but would be quite nice for pass-secrets to look if this variable is set before defaulting to the home directory.
Thanks for the assistance.
This means that the build from source method is lacking some instructions to properly build dependencies as well, I suppose.
Thanks for letting me know. I'll do some testing with compiling in a clean chroot to see if there are any missing dependencies.
This is a minor thing, but would be quite nice for pass-secrets to look if this variable is set before defaulting to the home directory.
There have been some issues with coredumps when pass-secrets cannot find the directory, which I need to test on the branch I was working on
https://github.com/nullobsi/pass-secrets/blob/9bf333ca0cd9c1d1788c5206c09570933d51da1d/interop/PassStore.cpp#L17
Here, it's supposed to read the PASSWORD_STORE_DIR environment variable. If you're running it manually in a shell, it should be picking that up. If it's running through a session manager like systemd or being dbus-activated, it's possible that the environment variable is not being set in the session manager's environment.