--- Begin Message ---
Package: libc6
Version: 2.36-8
Severity: normal
Tags: ipv6
X-Debbugs-Cc: tg@mirbsd.de, debian-68k@lists.debian.org
This error occurred first during curl’s configure in a chroot with
libc6 2.37-15.1, but I could also reproduce it on a build host with
libc6 2.36-8 as well, and on an even older host with libc6 2.19-19
(all but the 2.36-8 one I’m reportbugging this from are running
linux 6.6.15-2).
Running a simple program that opens a TCP/IPv6 socket fails:
root@ara4:~ # gcc y.c
root@ara4:~ # ./a.out
a.out: socket(AF_INET6, SOCK_STREAM, 0): Address family not supported by protocol
1|root@ara4:~ # cat y.c
#include <sys/socket.h>
#include <netinet/in.h>
#include <err.h>
int main(void) {
int rv = socket(AF_INET6, SOCK_STREAM, 0) < 0;
err(1, "socket(AF_INET6, SOCK_STREAM, 0)");
}
(oops, should have been s/1/rv/ but doesn’t matter)
The same program works on amd64.
This is a reduced testcase that still shows the problem, plus
the call to err(3) added to show errno.
cbmuser said that another ports architecture also has unknown
trouble with IPv6, maybe this is the same issue?
If this is an issue with the kernel or something, please
reassign and inform the maintainers.
If this is a bug in the testcase, please reassign to src:curl.
The original testcase (plus confdefs) was:
#include <sys/types.h>
#ifdef _WIN32
#include <winsock2.h>
#include <ws2tcpip.h>
#else
#include <sys/socket.h>
#include <netinet/in.h>
#if defined (__TANDEM)
# include <netinet/in6.h>
#endif
#endif
int main(void)
{
struct sockaddr_in6 s;
(void)s;
return socket(AF_INET6, SOCK_STREAM, 0) < 0;
}
gcc -o conftest -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/tmp/buildd/curl-8.6.0=. -specs=/usr/share/dpkg/pie-compile.specs -fstack-protector-strong -Wformat -Werror=format-security -D_DEB_HOST_ARCH=\"m68k-linux-gnu\" -DCURL_PATCHSTAMP=\"8.6.0-3.2+b1\" -Werror-implicit-function-declaration -Wno-system-headers -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 -Wdate-time -D_FORTIFY_SOURCE=2 -specs=/usr/share/dpkg/pie-link.specs -Wl,-z,relro -Wl,-z,now conftest.c -llber -lldap -llber -lzstd -lbrotlidec -lz
-- System Information:
Debian Release: bookworm/sid
APT prefers unreleased
APT policy: (500, 'unreleased'), (500, 'unstable')
Architecture: m68k
Kernel: Linux 6.1.0-2-m68k (UP)
Locale: LANG=C, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8), LANGUAGE not set
Shell: /bin/sh linked to /usr/bin/bash
Init: sysvinit (via /sbin/init)
Versions of packages libc6 depends on:
ii libgcc-s2 12.2.0-12
Versions of packages libc6 recommends:
ii libidn2-0 2.3.3-1+b1
Versions of packages libc6 suggests:
ii debconf [debconf-2.0] 1.5.82
pn glibc-doc <none>
ii libc-l10n 2.36-8
pn libnss-nis <none>
pn libnss-nisplus <none>
pn locales <none>
-- debconf information:
* libraries/restart-without-asking: true
glibc/kernel-too-old:
glibc/kernel-not-supported:
glibc/restart-services:
glibc/upgrade: true
glibc/restart-failed:
glibc/disable-screensaver:
--- End Message ---
--- Begin Message ---
Dixi quod…
>/etc/network/interfaces just has…
>… on all systems, so something weird is going on.
… ugh. Digging even deeper, I found:
-rw-r--r-- 1 root root 15 Jun 17 2012 /etc/modprobe.d/ipv6-blacklist.conf
Ouch. No idea why it was there, perhaps in the start image
or something due to lack of emulated RAM back then, but
rm’ing it, and…
# ./a.out
(wait for several seconds)
a.out: socket(AF_INET6, SOCK_STREAM, 0): Success
# ip a show dev lo
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
So this was a layer 8 problem. My apologies for the noise.
bye,
//mirabilos
--
[16:04:33] bkix: "veni vidi violini"
[16:04:45] bkix: "ich kam, sah und vergeigte"...
--- End Message ---