The examples below are from a Slackware current x86_64 installation (March 2026).

Cache synchronisation

Cache is up to date

If nothing has changed since the last run:

$ sbbdep
sync cache /home/user/.cache/sbbdep.db
cache up to date

Cache update

When packages have been installed or upgraded the cache is updated automatically:

$ sbbdep
sync cache /home/user/.cache/sbbdep.db
search for changes
apply changes
clear openssl-solibs-3.5.4-x86_64-1
index openssl-solibs-3.5.5-x86_64-1
clear openssl-3.5.4-x86_64-1
index openssl-3.5.5-x86_64-1
wait for resolving symbolic links
persist new information to disk
run db analyzer

---synchronisation summary:
upgraded: openssl-3.5.5-x86_64-1  (was 3.5.4-x86_64-1)
upgraded: openssl-solibs-3.5.5-x86_64-1  (was 3.5.4-x86_64-1)

From here on the examples use --quiet to suppress the synchronisation output.

Get dependencies

Query dependencies of a package

Query the runtime dependencies of the curl package:

$ sbbdep --quiet /var/adm/packages/curl-8.19.0-x86_64-1
aaa_glibc-solibs = 2.42-x86_64-1 | glibc = 2.42-x86_64-1
aaa_libraries = 15.1-x86_64-49 | c-ares = 1.34.6-x86_64-1
aaa_libraries = 15.1-x86_64-49 | krb5 = 1.22.2-x86_64-1
aaa_libraries = 15.1-x86_64-49 | libidn2 = 2.3.8-x86_64-1
aaa_libraries = 15.1-x86_64-49 | libpsl = 0.21.5-x86_64-1
aaa_libraries = 15.1-x86_64-49 | libssh2 = 1.11.1-x86_64-1
aaa_libraries = 15.1-x86_64-49 | zlib = 1.3.2-x86_64-1
brotli = 1.2.0-x86_64-1
nghttp2 = 1.68.0-x86_64-1
nghttp3 = 1.15.0-x86_64-1
ngtcp2 = 1.21.0-x86_64-1
openssl = 3.5.5-x86_64-1 | openssl-solibs = 3.5.5-x86_64-1

The output format is a dependency list as slapt-get expects it.
Using --short prints just the package names, comma-separated:

$ sbbdep --quiet --short /var/adm/packages/curl-8.19.0-x86_64-1
aaa_glibc-solibs | glibc, aaa_libraries | c-ares, aaa_libraries | krb5,
aaa_libraries | libidn2, aaa_libraries | libpsl, aaa_libraries | libssh2,
aaa_libraries | zlib, aaa_libraries | zstd, brotli, nghttp2, nghttp3,
ngtcp2, openssl | openssl-solibs

Query dependencies of a file

sbbdep also accepts a single binary or library as argument:

$ sbbdep --quiet /usr/lib64/libssl.so.3

check /lib64/libssl.so.3, 64bit library (libssl.so.3)
 .. from package openssl-solibs-3.5.5-x86_64-1
 .. from package openssl-3.5.5-x86_64-1

aaa_glibc-solibs = 2.42-x86_64-1 | glibc = 2.42-x86_64-1
openssl = 3.5.5-x86_64-1 | openssl-solibs = 3.5.5-x86_64-1
zlib = 1.3.2-x86_64-1 | aaa_libraries = 15.1-x86_64-49

Query who needs a package or file

Who needs a package

Find all packages that depend on curl:

$ sbbdep --quiet --whoneeds /var/adm/packages/curl-8.19.0-x86_64-1
NetworkManager-1.56.0-x86_64-1
cmake-4.2.3-x86_64-1
curl-8.19.0-x86_64-1
elfutils-0.194-x86_64-1
exiv2-0.28.8-x86_64-1
git-2.49.0-x86_64-1
httpd-2.4.63-x86_64-1
...

Using --short:

$ sbbdep --quiet --whoneeds --short /var/adm/packages/curl-8.19.0-x86_64-1
NetworkManager, cmake, curl, elfutils, exiv2, git, httpd, ...

Note: curl itself appears in the list because the whoneeds query does not filter out self-references, unlike the dependency query.

Who needs a file

$ sbbdep --quiet --whoneeds /usr/lib64/libssl.so.3
/lib64/libssl.so.3 (libssl.so.3) is used from:
  aaa_libraries-15.1-x86_64-49
    /usr/lib64/libcups.so.2
    /usr/lib64/libcurl.so.4.8.0
    /usr/lib64/libldap.so.2.0.200
    /usr/lib64/libssh2.so.1.0.1
  alpine-2.29.9-x86_64-1
    /usr/bin/alpine
    /usr/bin/pico
  bind-9.20.20-x86_64-1
    /usr/bin/dnssec-cds
    /usr/bin/dnssec-keyfromlabel
    /usr/bin/dnssec-keygen
  ...

Getting more details with --xdl

The --xdl option (explain dynamic linked) reports dependencies at the individual file level. It works with both dependency and whoneeds queries.

xdl dependency query

$ sbbdep --quiet --xdl /usr/lib64/libssl.so.3

check /lib64/libssl.so.3, 64bit library (libssl.so.3)
 .. from package openssl-solibs-3.5.5-x86_64-1
 .. from package openssl-3.5.5-x86_64-1

file /lib64/libssl.so.3 needs:
  libc.so.6 found in:
    /lib64/libc-2.42.so (aaa_glibc-solibs-2.42-x86_64-1 | glibc-2.42-x86_64-1)
  libcrypto.so.3 found in:
    /lib64/libcrypto.so.3 (openssl-3.5.5-x86_64-1 | openssl-solibs-3.5.5-x86_64-1)
  libz.so.1 found in:
    /lib64/libz.so.1.3.2 (aaa_libraries-15.1-x86_64-49 | zlib-1.3.2-x86_64-1)

xdl whoneeds query

$ sbbdep --quiet --whoneeds --xdl /usr/lib64/libssl.so.3

/lib64/libssl.so.3 (libssl.so.3) is used from:
  aaa_libraries-15.1-x86_64-49
    /usr/lib64/libcups.so.2
    /usr/lib64/libcurl.so.4.8.0
    /usr/lib64/libldap.so.2.0.200
    /usr/lib64/libssh2.so.1.0.1
  alpine-2.29.9-x86_64-1
    /usr/bin/alpine
    /usr/bin/pico
  bind-9.20.20-x86_64-1
    /usr/bin/dnssec-cds
    /usr/bin/dnssec-keyfromlabel

Search for strings and files

If the argument is just a string (not a file path), sbbdep searches all installed package file lists for matching filenames:

$ sbbdep --quiet openssl.cnf
 dovecot-2.3.21.1-x86_64-7: usr/doc/dovecot-2.3.21.1/dovecot-openssl.cnf
 stunnel-5.77-x86_64-1: etc/stunnel/openssl.cnf.new
 ppp-2.5.2-x86_64-1: etc/ppp/openssl.cnf
 openvpn-2.7.0-x86_64-1: usr/doc/openvpn-2.7.0/sample-keys/openssl.cnf
 openssl-solibs-3.5.5-x86_64-1: etc/ssl/openssl.cnf.new
 openssl-3.5.5-x86_64-1: etc/ssl/openssl.cnf.new
 dracut-110-x86_64-1: usr/lib64/dracut/modules.d/11fips/openssl.cnf

File lookup

If the argument is an existing file path, sbbdep searches by filename and also reports an exact absolute path match:

$ sbbdep --quiet /etc/ssl/openssl.cnf
not a file with binary dependencies: /etc/ssl/openssl.cnf
 try to find information in package list:
 filename found in /var/adm/packages/stunnel-5.77-x86_64-1: openssl.cnf
 filename found in /var/adm/packages/openvpn-2.7.0-x86_64-1: openssl.cnf
absolute match in /var/adm/packages/openssl-solibs-3.5.5-x86_64-1: /etc/ssl/openssl.cnf
absolute match in /var/adm/packages/openssl-3.5.5-x86_64-1: /etc/ssl/openssl.cnf