diff --git a/cli/main.c b/cli/main.c index 0a814d5..cff22e6 100644 --- a/cli/main.c +++ b/cli/main.c @@ -1465,8 +1465,20 @@ cleanup3: printf(" "); if (!(want_flags & PKG_STATIC)) + { pkgconf_client_set_flags(&pkg_client, pkg_client.flags & ~PKGCONF_PKG_PKGF_SEARCH_PRIVATE); + /* redo the solution for the library set: free the solution itself, and any cached graph nodes */ + pkgconf_solution_free(&pkg_client, &world); + pkgconf_cache_free(&pkg_client); + + if (!pkgconf_queue_solve(&pkg_client, &pkgq, &world, maximum_traverse_depth)) + { + ret = EXIT_FAILURE; + goto out; + } + } + apply_libs(&pkg_client, &world, NULL, maximum_traverse_depth); } diff --git a/libpkgconf/pkg.c b/libpkgconf/pkg.c index bc73327..fe0293e 100644 --- a/libpkgconf/pkg.c +++ b/libpkgconf/pkg.c @@ -154,7 +154,7 @@ pkgconf_pkg_parser_internal_dependency_func(pkgconf_client_t *client, pkgconf_pk pkgconf_dependency_parse(client, pkg, dest, value, PKGCONF_PKG_DEPF_INTERNAL); } -/* a variant of pkgconf_pkg_parser_dependency_func which colors the dependency node as an "internal" dependency. */ +/* a variant of pkgconf_pkg_parser_dependency_func which colors the dependency node as a "private" dependency. */ static void pkgconf_pkg_parser_private_dependency_func(pkgconf_client_t *client, pkgconf_pkg_t *pkg, const char *keyword, const size_t lineno, const ptrdiff_t offset, const char *value) {