[Slackbuilds-users] Please list all direct dependencies as dependencies

Erich Ritz erich.public at protonmail.com
Tue Apr 28 17:43:24 UTC 2026


Hello all,

I know that some like to "optimize" the dependency list of SlackBuilds by not listing dependencies that are already included as dependencies of dependencies.  I would humbly ask to please not do this.  If a package directly depends on another package, explicitly list it as a dependency.  For those familiar with C programming, this is similar to the question of which headers to include in your source files (whether or not to list headers that are already included by other headers).

Why?  2 reasons:

1) You don't have to track the dependency list of your dependencies (and their dependencies, etc.).  It shouldn't matter if a dependency 3 levels deep drops a dependency on something you actually need.

2) Slackrepo's rebuild logic depends on it.  When a package is updated, slackrepo builds it and then rebuilds all packages that depend on it.  It does not, however, rebuild packages that depend on rebuilt packages.

For me, the fwupd build failed with error:

protoc-gen-c: error while loading shared libraries: libabsl_log_internal_check_op.so.2508.0.0: cannot open shared object file: No such file or directory

The reason is that abseil-cpp was updated, and slackrepo duly rebuilt protobuf3.  However, it did not rebuild protobuf-c, as protobuf-c only lists protobuf3 as a dependency (and not abseil-cpp).  fwupd depends on protobuf-c.  The (trimmmed) slackrepo dependency tree output is:

Dependency tree:
system/fwupd (update for version 1.9.34)
  libraries/protobuf-c (ok)
    development/protobuf3 (ok)
      development/abseil-cpp (ok)

After explicitly telling slackrepo to rebuild protobuf-c, the fwupd build succeeded.  I can thus infer that protobuf-c directly depends on abseil-cpp.  In other words, whenever abseil-cpp is upgraded protobuf-c needs to be rebuilt.

Of course, maintainers are free to do as they wish.  I ask because I prefer not to rebuild all my SBo packages each week, instead (re)building only what is necessary.  This happens infrequent enough that I usually forget this is the issue, wait a week for the build to be fixed, and after further investigation remember that some of the dependencies need a manual rebuild.

Erich


More information about the SlackBuilds-users mailing list