Polybar jsoncpp cannot open shared object file

Revision history
Tags: arch pacman polybar

After an update of jsoncpp (1.8.4-1 -> 1.8.4-2), the library object file path that polybar looks for has changed filename.

polybar: error while loading shared libraries: libjsoncpp.so.19: cannot open shared object file: No such file or directory

After the update, the filename version suffix was bumped up, chaning it to libjsoncpp.so.20. This path is set when polybar is compiled, so re-compiling will make it work properly again.

I am using yaourt to handle my AUR packages, so I can trigger a compile and reinstall with

# yaourt -S polybar

If you think this is too much of an hassle to do, you can also just symlink the new file back to the old filename.

# ln -s /usr/lib/libjsoncpp.so.20 /usr/lib/libjsoncpp.so.19

There’s an issue filed in polybar upstream that discusses this issue in more detail.

Additionally, an issue regarding inconsistencies in .so file versioning during the build process of jsoncpp itself may be related.


If you have any comments or feedback, please send me an e-mail. (stig at stigok dotcom).

Did you find any typos, incorrect information, or have something to add? Then please propose a change to this post.

Creative Commons License This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.