Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 946998 - net-irc/ngircd-26.1-r5 does not build correctly with IPv6 enabled
Summary: net-irc/ngircd-26.1-r5 does not build correctly with IPv6 enabled
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal
Assignee: Zhixu Liu
URL:
Whiteboard:
Keywords: PullRequest
Depends on: 900082
Blocks:
  Show dependency tree
 
Reported: 2024-12-27 07:04 UTC by Kolbjørn Barmen
Modified: 2024-12-27 17:37 UTC (History)
2 users (show)

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


Attachments
emerge --info (file_946998.txt,5.44 KB, text/plain)
2024-12-27 07:04 UTC, Kolbjørn Barmen
Details
config.log (config.log,102.67 KB, text/plain)
2024-12-27 07:07 UTC, Kolbjørn Barmen
Details
build.log (build.log,62.46 KB, application/octet-stream)
2024-12-27 07:08 UTC, Kolbjørn Barmen
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Kolbjørn Barmen 2024-12-27 07:04:28 UTC
Created attachment 915212 [details]
emerge --info

First, I suspect this is due to gcc 14 and related to bug #900082 (net-irc/ngircd-26.1-r5 has implicit function declarations in configure logs (GCC-13-SYSTEM))

Following USE flags:
[ebuild   R    ] net-irc/ngircd-26.1-r5::gentoo  USE="ipv6 ssl zlib -debug -gnutls -ident -irc-plus -pam -strict-rfc -tcpd -test -verify-sig" 0 KiB

The configure line is:

$ ./configure --prefix=/usr --build=x86_64-pc-linux-gnu --host=x86_64-pc-linux-gnu --mandir=/usr/share/man --infodir=/usr/share/info --datadir=/usr/share --sysconfdir=/etc --localstatedir=/var/lib --datarootdir=/usr/share --disable-dependency-tracking --disable-silent-rules --docdir=/usr/share/doc/ngircd-26.1-r5 --htmldir=/usr/share/doc/ngircd-26.1-r5/html --libdir=/usr/lib64 --sysconfdir=/etc/ngircd --disable-sniffer --disable-debug --disable-ircplus --enable-ipv6 --disable-strict-rfc --without-iconv --without-ident --without-pam --without-tcp-wrappers --with-zlib --with-openssl

resulting in:

checking for getaddrinfo... yes
checking whether getaddrinfo() works... no

config.log shows:

configure:6268: checking for getaddrinfo
configure:6268: x86_64-pc-linux-gnu-gcc -o conftest -g -O2 -pipe -W -Wall -Wpointer-arith -Wstrict-prototypes -fstack-protector -DSYSCONFDIR='"$(sysconfdir)"' -DDOCDIR='"$(docdir)"'   conftest.c  >&5
conftest.c:112:1: warning: function declaration isn't a prototype [-Wstrict-prototypes]
  112 | char getaddrinfo ();
      | ^~~~
conftest.c:121:1: warning: function declaration isn't a prototype [-Wstrict-prototypes]
  121 | main ()
      | ^~~~
configure:6268: $? = 0
configure:6268: result: yes
configure:6274: checking whether getaddrinfo() works
configure:6303: x86_64-pc-linux-gnu-gcc -o conftest -g -O2 -pipe -W -Wall -Wpointer-arith -Wstrict-prototypes -fstack-protector -DSYSCONFDIR='"$(sysconfdir)"' -DDOCDIR='"$(docdir)"'   conftest.c  >&5
conftest.c: In function 'main':
conftest.c:99:9: error: implicit declaration of function 'memset' [-Wimplicit-function-declaration]
   99 |         memset(&hints, 0, sizeof(hints));
      |         ^~~~~~
conftest.c:95:1: note: include '<string.h>' or provide a declaration of 'memset'
   94 | #include <netdb.h>
  +++ |+#include <string.h>
   95 | int
conftest.c:99:9: warning: incompatible implicit declaration of built-in function 'memset' [-Wbuiltin-declaration-mismatch]
   99 |         memset(&hints, 0, sizeof(hints));
      |         ^~~~~~
conftest.c:99:9: note: include '<string.h>' or provide a declaration of 'memset'
conftest.c:96:10: warning: unused parameter 'argc' [-Wunused-parameter]
   96 | main(int argc, char **argv)
      |      ~~~~^~~~
conftest.c:96:23: warning: unused parameter 'argv' [-Wunused-parameter]
   96 | main(int argc, char **argv)
      |                ~~~~~~~^~~~
configure:6303: $? = 1
configure: program exited with status 1
Comment 1 Kolbjørn Barmen 2024-12-27 07:07:12 UTC
Created attachment 915213 [details]
config.log
Comment 2 Kolbjørn Barmen 2024-12-27 07:08:33 UTC
Created attachment 915214 [details]
build.log
Comment 3 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2024-12-27 07:26:56 UTC
Gah, I'm sorry for letting bug 900082 slip.
Comment 4 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2024-12-27 07:56:56 UTC
OK, at least I remember why I didn't: we can't eautoreconf it because they want to stick to old autoconf.
Comment 5 Larry the Git Cow gentoo-dev 2024-12-27 08:11:42 UTC
The bug has been referenced in the following commit(s):

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

commit 7fb4e36919add48669f8bff8471d7a0b4843fe04
Author:     Sam James <sam@gentoo.org>
AuthorDate: 2024-12-27 08:11:04 +0000
Commit:     Sam James <sam@gentoo.org>
CommitDate: 2024-12-27 08:11:04 +0000

    profiles: last rite net-irc/ngircd
    
    Unfixable modern C issues because of reliance on ancient automake.
    Out of date. See bug #946998. Removal on 2025-01-27.
    
    Bug: https://bugs.gentoo.org/719256
    Bug: https://bugs.gentoo.org/900082
    Bug: https://bugs.gentoo.org/908349
    Bug: https://bugs.gentoo.org/946998
    Signed-off-by: Sam James <sam@gentoo.org>

 profiles/package.mask | 5 +++++
 1 file changed, 5 insertions(+)
Comment 6 Kolbjørn Barmen 2024-12-27 10:17:47 UTC
I suppose the implication is that I should look around for some other irc daemon? :)
Comment 7 Kolbjørn Barmen 2024-12-27 11:49:16 UTC
The simple solution for me was to bump to ngircd-27 in my own portage repo, I now have my little irc-network up and running again.
Comment 8 Larry the Git Cow gentoo-dev 2024-12-27 15:11:51 UTC
The bug has been closed via the following commit(s):

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

commit 2704d5b853084e665c12d85e8129357b96780ca3
Author:     Z. Liu <zhixu.liu@gmail.com>
AuthorDate: 2024-12-27 10:40:52 +0000
Commit:     Sam James <sam@gentoo.org>
CommitDate: 2024-12-27 15:10:05 +0000

    net-irc/ngircd: fix several bugs
    
    1. USE="irc-plus" is default enabled now
    2. /etc/ngircd/{,ngircd.conf} owned by root:ngircd, and update permissions
    3. configure report getaddrinfo not works because of stricter compiler check:
         checking whether getaddrinfo() works... no
         configure:6303: x86_64-pc-linux-gnu-gcc -o conftest -g -O2 -pipe -W -Wall -Wpointer-arith -Wstrict-prototypes -fstack-protector -DSYSCONFDIR='"$(sysconfdir)"' -DDOCDIR='"$(docdir)"'   conftest.c  >&5
         conftest.c: In function 'main':
         conftest.c:99:9: error: implicit declaration of function 'memset' [-Wimplicit-function-declaration]
    
       configure.ac still use de-ANSI-fication (which is only available in
       old automake) in order to support old systems. So we can't patch
       configure.ac and run eautoreconf. see
       https://github.com/ngircd/ngircd/issues/261
    
       It's important to make sure ngircd-26.1-configure-getaddrinfo.patch
       works correctly for each new release.
    
    [sam: Committing as stable here given the IPv6 issue is bad and currently
    broken in stable.]
    
    Closes: https://bugs.gentoo.org/719256
    Closes: https://bugs.gentoo.org/900082
    Closes: https://bugs.gentoo.org/908349
    Closes: https://bugs.gentoo.org/946998
    Signed-off-by: Z. Liu <zhixu.liu@gmail.com>
    Closes: https://github.com/gentoo/gentoo/pull/39860
    Signed-off-by: Sam James <sam@gentoo.org>

 .../files/ngircd-26.1-configure-getaddrinfo.patch  |  23 ++++
 net-irc/ngircd/metadata.xml                        |   9 +-
 net-irc/ngircd/ngircd-26.1-r6.ebuild               | 130 +++++++++++++++++++++
 3 files changed, 161 insertions(+), 1 deletion(-)
Comment 9 Larry the Git Cow gentoo-dev 2024-12-27 17:37:35 UTC
The bug has been referenced in the following commit(s):

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

commit 0af09bee7ccb2a75489b0dbfb08125b04b9efae4
Author:     Sam James <sam@gentoo.org>
AuthorDate: 2024-12-27 17:37:10 +0000
Commit:     Sam James <sam@gentoo.org>
CommitDate: 2024-12-27 17:37:10 +0000

    profiles: unmask ngircd
    
    It's been adopted & fixed by someone in 2704d5b853084e665c12d85e8129357b96780ca3.
    
    Bug: https://bugs.gentoo.org/719256
    Bug: https://bugs.gentoo.org/900082
    Bug: https://bugs.gentoo.org/908349
    Bug: https://bugs.gentoo.org/946998
    Signed-off-by: Sam James <sam@gentoo.org>

 profiles/package.mask | 5 -----
 1 file changed, 5 deletions(-)