Allow me to explain a little more: Binaries embed a value called RPATH which points to the locations where to load dynamic libraries (also called "shared objects"). When building a binary, Guix automatically sets the RPATH to that of the required inputs. Jami (indirectly) depends on both sqlite and sqlite-with-column-metadata. When the binary is started, the loader finds both "sqlite" shared objects in the RPATH, but it's not very clear which is one is loaded first. Hence my comment. The wrapper aims to fix this issue by prepending sqlite-with-column-metadata to LD_LIBRARY_PATH, which has higher priority than the RPATH. This makes sure the right library is loaded. Does that make more sense? -- Pierre Neidhardt https://ambrevar.xyz/