I am trying to find files installed from libboost-all-dev using dpkg, but it does not work. First, an indication of that I have installed the package:

$ find /usr/lib/ -name '*boost*sys*'

Now running:

$ dpkg -l boost
dpkg-query: no packages found matching boost
$ dpkg -L libboost-all-dev

so it only shows two files: copyright and changelog.gz. All libraries and headers are missing. The strange thing is that dpkg -l cannot find anything at all:

$ dpkg -l a
dpkg-query: no packages found matching a
  • What is the output of dpkg -S /usr/lib/x86_64-linux-gnu/libboost_system.so – Ravexina Jul 29 '19 at 19:04
  • 2
    Basically this package is just a meta package depending on bunch of other packages: packages.ubuntu.com/disco/libboost-all-dev – Ravexina Jul 29 '19 at 19:05
  • The output is : libboost-system1.67-dev:amd64: /usr/lib/x86_64-linux-gnu/libboost_system.so. If I run dpkg -L libboost-system1.67-dev:amd64 it shows the files, but why is not dpkg -l libboost showing anything? – Håkon Hægland Jul 29 '19 at 19:07
  • 1
    dpkg -l package-name expects a correct package name, use dpkg -l libboost* instead. – Ravexina Jul 29 '19 at 19:12
  • 1
    This might help you find about all files: apt-cache depends libboost-all-dev | grep Depends: | awk '{print $2}' | xargs -I PKGS dpkg -L PKGS 2> /dev/null. – Ravexina Jul 29 '19 at 19:27

Basically this package is just a meta package depending on bunch of other packages.

For example here is a chain of dependencies:

libboost-all-dev --> libboost-system-dev --> libboost-system1.67-dev

Which /usr/lib/x86_64-linux-gnu/libboost_system.so comes from.

You can use dpkg -S PATH to find which package has created the corresponding file.

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.