Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Cannot find libsdbus-c++.so.1 #14

Open
emileturcotte opened this issue Oct 31, 2023 · 5 comments
Open

Cannot find libsdbus-c++.so.1 #14

emileturcotte opened this issue Oct 31, 2023 · 5 comments

Comments

@emileturcotte
Copy link

emileturcotte commented Oct 31, 2023

Since a couple of weeks, pass-secrets stopped working because it cannot find libsdbus-c++.so.1.

image

I can however confirm that it is present on my system (installed from source) :

image

I tried rebuilding after updating the master branch to commit 9bf333c, without success.
What could be the cause of this?

Thank you very much.

@emileturcotte emileturcotte changed the title Cannot find libsdbus.so.1 Cannot find libsdbus-c++.so.1 Oct 31, 2023
@nullobsi
Copy link
Owner

nullobsi commented Oct 31, 2023 via email

@emileturcotte
Copy link
Author

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?

@nullobsi
Copy link
Owner

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

@emileturcotte
Copy link
Author

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.

@nullobsi
Copy link
Owner

nullobsi commented Nov 1, 2023

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

auto storeLoc = getenv("PASSWORD_STORE_DIR");

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants