[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Missing links of libraries (*.so) on Debian 11



On Mon, Jan 16, 2023 at 11:15:33AM +0000, piorunz wrote:
> On 16/01/2023 10:33, Avtansh Gupta wrote:
> > */usr/lib/x86_64-linux-gnu/libaudit.so*
> > 
> > This is the missing .so file in debian11. This file was present on the
> > previous versions of Debian and other Linux distros as well.
> 
> Incorrect. You just did not installed it yet :)
> 
> $ lsb_release -d
> Description:    Debian GNU/Linux 11 (bullseye)
> 
> $ apt-file search libaudit.so
> libaudit-dev: /usr/lib/x86_64-linux-gnu/libaudit.so
> libaudit1: /lib/x86_64-linux-gnu/libaudit.so.1
> libaudit1: /lib/x86_64-linux-gnu/libaudit.so.1.0.0
> 
> Your file is there. Install first package and your program hopefully will
> start working again.

On Mon, Jan 16, 2023 at 01:20:18PM +0100, Vincent Lefevre wrote:
> On 2023-01-16 17:02:19 +0530, Anurag Aggarwal wrote:
> > The tool is looking for .so file to run, not for build.
> 
> This tool is buggy since the .so symlink may point to any version
> of the library, and the various versions are not compatible to
> each other. The symlink with the supported version number (only
> one integer) must be used.

Both of these responses are correct.  piorunz's response is technically
correct, and might even give a working result... or it might not.
There is indeed a libaudit.so file in the -dev package, but it's intended
to be used when building a program that uses the dynamically linked
libaudit, not for loading a library at runtime.

Vincent's response is correct, but doesn't really give a way forward.

If all the OP cares about is "make it work right now", then installing
the libaudit-dev package MIGHT be sufficient.  If it doesn't work, then
see below.

Ideally, the OP should contact the maintainer(s) of the program in
question, and try to get the program fixed so that it works properly.
It should either be dynamically linked against libaudit.so.1 (or whichever
version of libaudit was in use when it was built), or it should be
dynamically loading libaudit.so.1 (or libaudit.so.0 or whatever) instead
of libaudit.so.

Fixing this will require changing the source code of the broken program,
and then rebuilding it.  Rebuilding it will require libaudit-dev to be
installed.

If the broken program was written against a different API version of
libaudit (something older, perhaps) then the changes might be nontrivial.


Reply to: