Note: This is a public test instance of Red Hat Bugzilla. The data contained within is a snapshot of the live data so any changes you make will not be reflected in the production Bugzilla. Email is disabled so feel free to test any aspect of the site that you want. File any problems you find or give feedback at bugzilla.redhat.com.
Bug 1422256
Summary: | gnutls pc file has incorrect Requires.private statements | ||
---|---|---|---|
Product: | [Fedora] Fedora | Reporter: | Zbigniew Jędrzejewski-Szmek <zbyszek> |
Component: | gnutls | Assignee: | Nikos Mavrogiannopoulos <nmavrogi> |
Status: | CLOSED NOTABUG | QA Contact: | Fedora Extras Quality Assurance <extras-qa> |
Severity: | high | Docs Contact: | |
Priority: | unspecified | ||
Version: | rawhide | CC: | awilliam, dridi.boukelmoune, ignatenko, mtasaka, ngompa13, nmavrogi, tmraz |
Target Milestone: | --- | Keywords: | Reopened |
Target Release: | --- | ||
Hardware: | Unspecified | ||
OS: | Unspecified | ||
Whiteboard: | |||
Fixed In Version: | Doc Type: | If docs needed, set a value | |
Doc Text: | Story Points: | --- | |
Clone Of: | Environment: | ||
Last Closed: | 2017-02-20 07:38:46 UTC | Type: | Bug |
Regression: | --- | Mount Type: | --- |
Documentation: | --- | CRM: | |
Verified Versions: | Category: | --- | |
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
Cloudforms Team: | --- | Target Upstream Version: | |
Embargoed: | |||
Bug Depends On: | |||
Bug Blocks: | 1424391 |
Description
Zbigniew Jędrzejewski-Szmek
2017-02-14 21:59:23 UTC
This could well be the new pkgconf thing, not gnutls' fault? https://fedoraproject.org/wiki/Changes/pkgconf_as_system_pkg-config_implementation https://bugzilla.redhat.com/show_bug.cgi?id=1413522 Rebuild of jd also fails. Switching to pkgconf, this is due to that pkgconf does not handle Requires.private correctly: https://people.freedesktop.org/~dbn/pkg-config-guide.html For rebuilding jd: [mockbuild@localhost jd-2.8.9-150226]$ gdb --args pkg-config --cflags --print-errors 'gnutls >= 1.2' GNU gdb (GDB) Fedora 7.12.1-44.fc26 .... .... (gdb) break pkgconf_pkg_report_graph_error Function "pkgconf_pkg_report_graph_error" not defined. Make breakpoint pending on future shared library load? (y or [n]) y Breakpoint 1 (pkgconf_pkg_report_graph_error) pending. (gdb) r Starting program: /usr/bin/pkg-config --cflags --print-errors gnutls\ \>=\ 1.2 Missing separate debuginfos, use: dnf debuginfo-install glibc-2.25-1.fc26.x86_64 Breakpoint 1, pkgconf_pkg_walk_list (deplist=0x55555575c680, depth=1999, data=0x0, func=0x0, parent=0x55555575c5b0, client=0x55555575b720 <pkg_client>) at libpkgconf/pkg.c:1253 1253 pkgconf_pkg_report_graph_error(client, parent, pkgdep, depnode, eflags_local); (gdb) bt #0 pkgconf_pkg_walk_list (deplist=0x55555575c680, depth=1999, data=0x0, func=0x0, parent=0x55555575c5b0, client=0x55555575b720 <pkg_client>) at libpkgconf/pkg.c:1253 #1 pkgconf_pkg_traverse (client=0x55555575b720 <pkg_client>, root=0x55555575c5b0, func=0x0, data=0x0, maxdepth=1999) at libpkgconf/pkg.c:1367 #2 0x00007ffff7b8fc96 in pkgconf_pkg_walk_list (deplist=0x7ffffffedd88, depth=2000, data=0x0, func=0x0, parent=0x7ffffffedcd0, client=0x55555575b720 <pkg_client>) at libpkgconf/pkg.c:1268 #3 pkgconf_pkg_traverse (client=0x55555575b720 <pkg_client>, root=0x7ffffffedcd0, func=0x0, data=0x0, maxdepth=2000) at libpkgconf/pkg.c:1359 #4 0x00007ffff7b91ed4 in pkgconf_queue_verify (maxdepth=2000, list=<optimized out>, world=0x7ffffffedcd0, client=0x55555575b720 <pkg_client>) at libpkgconf/queue.c:115 #5 pkgconf_queue_apply (client=0x55555575b720 <pkg_client>, list=<optimized out>, func=0x555555557250 <apply_cflags>, maxdepth=2000, data=0x0) at libpkgconf/queue.c:147 #6 0x0000555555556bb2 in main (argc=<optimized out>, argv=0x7fffffffe658) at main.c:1128 (gdb) up #1 pkgconf_pkg_traverse (client=0x55555575b720 <pkg_client>, root=0x55555575c5b0, func=0x0, data=0x0, maxdepth=1999) at libpkgconf/pkg.c:1367 1367 eflags = pkgconf_pkg_walk_list(client, root, &root->requires_private, func, data, maxdepth); (gdb) li 1362 1363 if (client->flags & PKGCONF_PKG_PKGF_SEARCH_PRIVATE) 1364 { 1365 /* XXX: ugly */ 1366 client->flags |= PKGCONF_PKG_PKGF_ITER_PKG_IS_PRIVATE; 1367 eflags = pkgconf_pkg_walk_list(client, root, &root->requires_private, func, data, maxdepth); 1368 client->flags &= ~PKGCONF_PKG_PKGF_ITER_PKG_IS_PRIVATE; 1369 1370 if (eflags != PKGCONF_PKG_ERRF_OK) 1371 return eflags; So for unknown reason, PKGCONF_PKG_PKGF_SEARCH_PRIVATE is marked here, which is probably wrong here. Ah... #6 0x0000555555556bb2 in main (argc=<optimized out>, argv=0x7fffffffe658) at main.c:1128 1128 if (!pkgconf_queue_apply(&pkg_client, &pkgq, apply_cflags, maximum_traverse_depth, NULL)) (gdb) li 1123 1124 if ((want_flags & PKG_CFLAGS)) 1125 { 1126 pkgconf_client_set_flags(&pkg_client, want_client_flags | PKGCONF_PKG_PKGF_SEARCH_PRIVATE); 1127 1128 if (!pkgconf_queue_apply(&pkg_client, &pkgq, apply_cflags, maximum_traverse_depth, NULL)) 1129 { 1130 ret = EXIT_FAILURE; 1131 goto out_println; 1132 } Apparently main.c:1126 is the culprit. Reported upstream: https://github.com/pkgconf/pkgconf/issues/114 It seems that libidn2 doesn't yet have a libidn2.pc (I was using the git repo which has it, but no release version does). Would it make sense to temporarily drop the libidn2 froms Libs.private to work-around the issue in gnutls? (In reply to Nikos Mavrogiannopoulos from comment #7) > It seems that libidn2 doesn't yet have a libidn2.pc (I was using the git > repo which has it, but no release version does). Would it make sense to > temporarily drop the libidn2 froms Libs.private to work-around the issue in > gnutls? Seems that's not enough. See http://pkgs.fedoraproject.org/cgit/rpms/systemd.git/commit/?id=d4f0a28c8cdae71933f4a012091c9549c85e22d1, which failed to build. This is clearly bug in gnutls. [root@e44c7538a100 /]# cat foo.pc Name: foo Libs: -lfoo Libs.private: -lbar Requires.private: bar [root@e44c7538a100 /]# PKG_CONFIG_PATH=. pkg-config --libs --cflags foo Package bar was not found in the pkg-config search path. Perhaps you should add the directory containing `bar.pc' to the PKG_CONFIG_PATH environment variable Package 'bar', required by 'foo', not found This is how old-good-pkg-config worked. Replace libidn with libidn2 or whatever to fix it. gnutls-3.5.9-2.fc25 has been submitted as an update to Fedora 25. https://bodhi.fedoraproject.org/updates/FEDORA-2017-072fe89544 gnutls-3.5.9-2.fc25 has been pushed to the Fedora 25 testing repository. If problems still persist, please make note of it in this bug report. See https://fedoraproject.org/wiki/QA:Updates_Testing for instructions on how to install test updates. You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2017-072fe89544 Hello, When trying to mockbuild varnish-agent I get a similar complaint at configure-time but more libraries are missing: [...] Installing : gnutls-c++-3.5.9-1.fc26.x86_64 51/117 [...] Installing : gnutls-dane-3.5.9-1.fc26.x86_64 69/117 Installing : gnutls-devel-3.5.9-1.fc26.x86_64 70/117 Installing : libmicrohttpd-1:0.9.52-4.fc26.x86_64 71/117 [...] Installing : libmicrohttpd-devel-1:0.9.52-4.fc26.x86_64 110/117 [...] checking for MICROHTTPD... no configure: error: Package requirements (libmicrohttpd) were not met: Package nettle was not found in the pkg-config search path. Perhaps you should add the directory containing `nettle.pc' to the PKG_CONFIG_PATH environment variable Package 'nettle', required by 'gnutls', not found Package 'hogweed', required by 'gnutls', not found Package 'libtasn1', required by 'gnutls', not found Package 'libidn2', required by 'gnutls', not found Package 'p11-kit-1', required by 'gnutls', not found Package 'zlib', required by 'gnutls', not found I'm also getting gnutls via a build requirement on µhttpd. On my f25 system, it matches all private dependencies, so maybe systemd explicitly requires the others: $ pkg-config --print-requires-private gnutls nettle hogweed libtasn1 libidn p11-kit-1 zlib Dridi, in rawhide systemd has no problems with detecting µhttpd and gnutls with the latest gnutls build. See e.g. https://koji.fedoraproject.org/koji/buildinfo?buildID=859753. gnutls-3.5.9-2.fc25 has been pushed to the Fedora 25 stable repository. If problems still persist, please make note of it in this bug report. I'm closing it because Dridi you are building against 3.5.9-1 and not the latest 3.5.9-2. If that's not the case please re-open. Nikos, for reasons byond me running `fedpkg mockbuild` still doesn't get the latest package even days after, even after clearing the cache. I tried a scratch build on rawhide and my pkg-config (or pkgconf) failure is gone. Thanks https://lists.fedoraproject.org/archives/list/test@lists.fedoraproject.org/message/XHS7K5RH7ROGKGSM5V7HY4BVLEEYMSZV/ You can copy /etc/mock/fedora-rawhide-x86_64.cfg as /etc/mock/fedora-rawhide-x86_64-koji.cfg (etc.) and add this repository definition: [koji] name=koji baseurl=http://kojipkgs.fedoraproject.org/repos/rawhide/latest/x86_64/ cost=2000 enabled=1 then build for fedora-rawhide-x86_64-koji mock target, and your package will build against the actual current Rawhide buildroot. Thanks for the tip, I rarely interact with rawhide outside of `fedpkg build`. |