Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 879723 - net-dns/knot-3.4.3-r1: possible configure breakage with Clang 16 (has implicit function declarations in configure logs)
Summary: net-dns/knot-3.4.3-r1: possible configure breakage with Clang 16 (has implici...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All All
: Normal normal
Assignee: Pierre-Olivier Mercier
URL:
Whiteboard: strict-prototypes
Keywords: PullRequest
: 900054 945896 (view as bug list)
Depends on:
Blocks: implicit-in-configure
  Show dependency tree
 
Reported: 2022-11-04 22:12 UTC by Matt Jolly
Modified: 2024-12-11 11:26 UTC (History)
5 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
clang-14.log (clang-14.log,20.30 KB, text/plain)
2022-11-04 22:12 UTC, Matt Jolly
Details
clang-15.log (clang-15.log,20.31 KB, text/plain)
2022-11-04 22:12 UTC, Matt Jolly
Details
clang.diff (clang.diff,9.43 KB, text/plain)
2022-11-04 22:12 UTC, Matt Jolly
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Matt Jolly gentoo-dev 2022-11-04 22:12:47 UTC
This package has been identified via automation as potentially impacted by upcoming Clang 16 changes.
The following have been identified as potential issues:

[-Werror,-Wstrict-prototypes]

[-Werror,-Wstrict-prototypes]
error: a function declaration without a prototype is deprecated in all versions of C [-Werror,-Wstrict-prototypes]
Comment 1 Matt Jolly gentoo-dev 2022-11-04 22:12:49 UTC
Created attachment 827417 [details]
clang-14.log

build log
Comment 2 Matt Jolly gentoo-dev 2022-11-04 22:12:51 UTC
Created attachment 827419 [details]
clang-15.log

build log
Comment 3 Matt Jolly gentoo-dev 2022-11-04 22:12:52 UTC
Created attachment 827421 [details]
clang.diff

build log
Comment 4 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2023-02-11 05:20:34 UTC
Also:
```
@@ -500,13 +500,13 @@
 ignoreme: error: call to undeclared function 'cpuset_create'; ISO C99 and later do not support implicit function declarations [-Werror,-Wimplicit-function-declaration]
 cpuset_t* set = cpuset_create(); cpuset_destroy(set);
                 ^
-ignoreme: warning: incompatible integer to pointer conversion initializing 'cpu_set_t *' with an expression of type 'int' [-Wint-conversion]
+ignoreme: error: incompatible integer to pointer conversion initializing 'cpu_set_t *' with an expression of type 'int' [-Wint-conversion]
 cpuset_t* set = cpuset_create(); cpuset_destroy(set);
           ^     ~~~~~~~~~~~~~~~
 ignoreme: error: call to undeclared function 'cpuset_destroy'; ISO C99 and later do not support implicit function declarations [-Werror,-Wimplicit-function-declaration]
 cpuset_t* set = cpuset_create(); cpuset_destroy(set);
                                  ^
-2 warnings and 3 errors generated.
```
Comment 5 Eli Schwartz gentoo-dev 2024-05-17 05:25:34 UTC
*** Bug 900054 has been marked as a duplicate of this bug. ***
Comment 6 Eli Schwartz gentoo-dev 2024-05-17 05:28:39 UTC
(Still reproduces.)

Upstream bug reports are on a private gitlab. Typically,


> Dear CZ.NIC gitlab users,
> 
> the sign-up page has been disabled due to increased spam activity. If you want
> to get access, please send an email to a project owner (preferred) or at
> gitlab(at)nic(dot)cz. We apologize for the inconvenience.

I assume the package maintainers care enough about this package to have an upstream bug reporting account already! Please submit a bug for it.
Comment 7 Eli Schwartz gentoo-dev 2024-05-17 05:29:22 UTC
 * Messages for package net-dns/knot-3.2.9:
 * Log file: /var/log/portage/build/net-dns/knot-3.2.9:20240517-052008.log

 * QA Notice: Found the following implicit function declarations in configure logs:
 *   /var/tmp/portage/net-dns/knot-3.2.9/work/knot-3.2.9/config.log:1786 - cpuset_create
 *   /var/tmp/portage/net-dns/knot-3.2.9/work/knot-3.2.9/config.log:1790 - cpuset_destroy
Comment 8 Agostino Sarubbo gentoo-dev 2024-05-28 06:48:37 UTC
lto_tinderbox has reproduced this issue with version 3.2.9 - Updating summary.
Comment 9 Matt Jolly gentoo-dev 2024-05-29 03:33:46 UTC
I have requested access to the upstream GitLab instance.
Comment 10 Agostino Sarubbo gentoo-dev 2024-12-02 08:12:33 UTC
ci has reproduced this issue with version 3.4.2 - Updating summary.
Comment 11 Agostino Sarubbo gentoo-dev 2024-12-05 09:17:47 UTC
*** Bug 945896 has been marked as a duplicate of this bug. ***
Comment 12 Larry the Git Cow gentoo-dev 2024-12-06 15:36:03 UTC
The bug has been referenced in the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b2bba9a9ce4295ce76e538a9c00abe88ccacf9a5

commit b2bba9a9ce4295ce76e538a9c00abe88ccacf9a5
Author:     Nicolas PARLANT <nicolas.parlant@parhuet.fr>
AuthorDate: 2024-12-06 11:48:09 +0000
Commit:     Sam James <sam@gentoo.org>
CommitDate: 2024-12-06 15:35:37 +0000

    net-dns/knot: add 3.4.3
    
    Bug: https://bugs.gentoo.org/879723
    Signed-off-by: Nicolas PARLANT <nicolas.parlant@parhuet.fr>
    Signed-off-by: Sam James <sam@gentoo.org>

 net-dns/knot/Manifest          |   1 +
 net-dns/knot/knot-3.4.3.ebuild | 168 +++++++++++++++++++++++++++++++++++++++++
 2 files changed, 169 insertions(+)
Comment 13 Agostino Sarubbo gentoo-dev 2024-12-06 16:07:56 UTC
ci has reproduced this issue with version 3.4.3 - Updating summary.
Comment 14 Agostino Sarubbo gentoo-dev 2024-12-07 11:56:12 UTC
ci has reproduced this issue with version 3.4.3-r1 - Updating summary.
Comment 15 Nicolas PARLANT 2024-12-08 22:31:15 UTC
This seems to be a "true" false-positive because the call concerned is in configure.ac to detect if system defines cpuset (netbsd) or cpu_set (linux) :
https://gitlab.nic.cz/knot/knot-dns/-/blob/master/configure.ac#L705

Maybe just ignore for that test ?
-AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <sched.h>]], [[cpuset_t* set = cpuset_create(); cpuset_destroy(set);]])],
+AC_LINK_IFELSE([AC_LANG_PROGRAM([[#pragma GCC diagnostic push]], [[pragma GCC diagnostic ignored "-Wimplicit-function-declaration"]], [[#include <sched.h>]], [[cpuset_t* set = cpuset_create(); cpuset_destroy(set);]], [[#pragma GCC diagnostic pop]])],
Comment 16 Larry the Git Cow gentoo-dev 2024-12-11 11:26:06 UTC
The bug has been closed via the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=63a96ace9cb4603ce47168500734b93f7fd21ae4

commit 63a96ace9cb4603ce47168500734b93f7fd21ae4
Author:     Nicolas PARLANT <nicolas.parlant@parhuet.fr>
AuthorDate: 2024-12-09 13:10:16 +0000
Commit:     Sam James <sam@gentoo.org>
CommitDate: 2024-12-11 11:25:10 +0000

    net-dns/knot: fix QA implicit function in configure
    
    QA Notice: cpuset_create cpuset_destroy
    
    Used to check cpuset_t in sched.h with NetBSD.
    False positive because linux have sched.h too but with cpu_set_t
    
    Closes: https://bugs.gentoo.org/879723
    Signed-off-by: Nicolas PARLANT <nicolas.parlant@parhuet.fr>
    Closes: https://github.com/gentoo/gentoo/pull/39650
    Signed-off-by: Sam James <sam@gentoo.org>

 net-dns/knot/knot-3.2.2.ebuild    | 12 ++++++++----
 net-dns/knot/knot-3.2.9-r1.ebuild |  4 ++++
 net-dns/knot/knot-3.4.2-r2.ebuild |  4 ++++
 net-dns/knot/knot-3.4.3-r1.ebuild |  4 ++++
 4 files changed, 20 insertions(+), 4 deletions(-)