Your message dated Tue, 25 Oct 2022 16:08:26 +0000
with message-id <e1onmta-009vlh...@fasolo.debian.org>
and subject line Bug#1004310: fixed in knxd 0.14.54.1
has caused the Debian Bug report #1004310,
regarding knxd: ftbfs with glibc 2.34: don't use common unix function name as 
variable name
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact ow...@bugs.debian.org
immediately.)


-- 
1004310: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1004310
Debian Bug Tracking System
Contact ow...@bugs.debian.org with problems
--- Begin Message ---
Package: knxd
Version: 0.14.46-1
Severity: serious
Tags: patch experimental
Justification: ftbfs
User: ubuntu-de...@lists.ubuntu.com
Usertags: origin-ubuntu jammy ubuntu-patch

Hi Matthias,

In Ubuntu, we have found that the knxd package fails to build from source
because glibc header dependencies mean that the link() declaration from
unistd.h is now exposed in a context it wasn't previously, leading to a
namespace conflict:

[...]
g++ -DHAVE_CONFIG_H -I. -I../..  -I../../src/libserver -I../../src/backend -I../
../src/common -I../../src/usb -I/usr/include/libusb-1.0  -Wno-missing-field-init
ializers -Wdate-time -D_FORTIFY_SOURCE=2  -g -O2 -ffile-prefix-map=/<<PKGBUILDDI
R>>=. -flto=auto -ffat-lto-objects -flto=auto -ffat-lto-objects -fstack-protecto
r-strong -std=c++0x -Wno-subobject-linkage -MT knxd_args.o -MD -MP -MF .deps/knx
d_args.Tpo -c -o knxd_args.o knxd_args.cpp
knxd_args.cpp:71:13: error: ‘char link [99]’ redeclared as different kind of 
entity
   71 | char link[99] = "@.";
      |             ^
In file included from /usr/include/x86_64-linux-gnu/bits/sigstksz.h:24,
                 from /usr/include/signal.h:328,
                 from /usr/include/ev.h:162,
                 from /usr/include/ev++.h:46,
                 from ../../src/libserver/common.h:31,
                 from ../../src/libserver/trace.h:40,
                 from knxd_args.cpp:29:
/usr/include/unistd.h:818:12: note: previous declaration ‘int link(const char*, 
const char*)’
  818 | extern int link (const char *__from, const char *__to)
      |            ^~~~
[...]

  (https://launchpad.net/ubuntu/+source/knxd/0.14.46-1build1/+build/22982832)

glibc 2.34 is currently in Debian experimental, so this problem will also
affect Debian soon.

I've uploaded the attached patch to Ubuntu to fix the build failure there;
please consider including it in Debian.  You can of course choose any more
meaningful variable name of your choice if you don't like the one I've
chosen :), but I don't think it's worth the effort to try to mask the
standard symbol from the namespace in order to keep the current variable
name.

Thanks for considering,
-- 
Steve Langasek                   Give me a lever long enough and a Free OS
Debian Developer                   to set it on, and I can move the world.
Ubuntu Developer                                   https://www.debian.org/
slanga...@ubuntu.com                                     vor...@debian.org
diff -Nru knxd-0.14.46/debian/patches/glibc-2.34.patch 
knxd-0.14.46/debian/patches/glibc-2.34.patch
--- knxd-0.14.46/debian/patches/glibc-2.34.patch        1969-12-31 
16:00:00.000000000 -0800
+++ knxd-0.14.46/debian/patches/glibc-2.34.patch        2022-01-24 
09:17:19.000000000 -0800
@@ -0,0 +1,151 @@
+Description: Fix build failure with glibc 2.34
+ The code uses a generic variable name of 'link' which collides with a 
+ standard (unistd.h) function that as of glibc 2.34 happens to be 
+ indirectly exposed in the namespace for this file.  Address this by
+ renaming the variable.
+Author: Steve Langasek <steve.langa...@ubuntu.com>
+Last-Update: 2022-01-24
+Forwarded: no
+
+Index: knxd-0.14.46/src/server/knxd_args.cpp
+===================================================================
+--- knxd-0.14.46.orig/src/server/knxd_args.cpp
++++ knxd-0.14.46/src/server/knxd_args.cpp
+@@ -68,13 +68,13 @@
+ } while(0)
+ 
+ IniData ini;
+-char link[99] = "@.";
++char link_target[99] = "@.";
+ void link_to(const char *arg)
+ {
+   char *p;
+-  ++*link;
+-  strcpy(link+2,arg);
+-  p = strchr(link+2,':');
++  ++*link_target;
++  strcpy(link_target+2,arg);
++  p = strchr(link_target+2,':');
+   if (p)
+     *p = 0;
+ }
+@@ -163,10 +163,10 @@
+       {
+         link_to(name);
+         ITER(i, more_args)
+-        (*ini[link])[i->first] = i->second;
+-        (*ini[link])["filter"] = name;
++        (*ini[link_target])[i->first] = i->second;
++        (*ini[link_target])["filter"] = name;
+         more_args.clear();
+-        filters.push_back(link);
++        filters.push_back(link_target);
+       }
+     else
+       filters.push_back(name);
+@@ -232,7 +232,7 @@
+ {
+   va_list apl;
+   va_start(apl, ap);
+-  (*ini[link])["driver"] = arg;
++  (*ini[link_target])["driver"] = arg;
+   char *pa = NULL;
+ 
+   while(ap)
+@@ -250,7 +250,7 @@
+       if (*pa == '!') // required-argument flag
+         pa++;
+       if (*ap) // skip empty arguments
+-        (*ini[link])[pa] = ap;
++        (*ini[link_target])[pa] = ap;
+       ap = p2;
+     }
+   if (pa != NULL)
+@@ -280,7 +280,7 @@
+   else if(!strcmp(arg,"iptn"))
+     {
+       driver_argsv("ipt",ap, 
"!ip-address","dest-port","src-port","nat-ip","data-port", NULL);
+-      (*ini[link])["nat"] = "true";
++      (*ini[link_target])["nat"] = "true";
+     }
+   else if(!strcmp(arg,"ft12") || !strcmp(arg,"ncn5120") || 
!strcmp(arg,"tpuarts") || !strcmp(arg,"ft12cemi") || !strcmp(arg,"tpuart"))
+     {
+@@ -556,18 +556,18 @@
+       if (arguments->want_server)
+         die("You need -S after -D/-T/-R");
+       link_to("unix");
+-      ADD((*ini["main"])["connections"], link);
+-      (*ini[link])["server"] = "knxd_unix";
+-      // (*ini[link])["driver"] = "knx-link";
++      ADD((*ini["main"])["connections"], link_target);
++      (*ini[link_target])["server"] = "knxd_unix";
++      // (*ini[link_target])["driver"] = "knx-link";
+       const char *name = OPT_ARG(arg,state,NULL);
+       if (name)
+         {
+-          (*ini[link])["path"] = name;
+-          (*ini[link])["systemd-ignore"] = "false";
++          (*ini[link_target])["path"] = name;
++          (*ini[link_target])["systemd-ignore"] = "false";
+         }
+       else
+-        (*ini[link])["systemd-ignore"] = "true";
+-      arguments->stack(link);
++        (*ini[link_target])["systemd-ignore"] = "true";
++      arguments->stack(link_target);
+     }
+     break;
+ 
+@@ -576,19 +576,19 @@
+       if (arguments->want_server)
+         die("You need -S after -D/-T/-R");
+       link_to("tcp");
+-      ADD((*ini["main"])["connections"], link);
+-      (*ini[link])["server"] = "knxd_tcp";
+-      // (*ini[link])["driver"] = "knx-link";
++      ADD((*ini["main"])["connections"], link_target);
++      (*ini[link_target])["server"] = "knxd_tcp";
++      // (*ini[link_target])["driver"] = "knx-link";
+       const char *port = OPT_ARG(arg,state,"");
+       if (*port && atoi(port) > 0)
+         {
+-          (*ini[link])["port"] = port;
+-          (*ini[link])["systemd-ignore"] = "false";
++          (*ini[link_target])["port"] = port;
++          (*ini[link_target])["systemd-ignore"] = "false";
+         }
+       else
+-        (*ini[link])["systemd-ignore"] = "true";
++        (*ini[link_target])["systemd-ignore"] = "true";
+ 
+-      arguments->stack(link);
++      arguments->stack(link_target);
+     }
+     break;
+ 
+@@ -635,8 +635,8 @@
+         die("You cannot apply flags to the group cache.");
+ 
+       link_to("cache");
+-      (*ini["main"])["cache"] = link;
+-      arguments->stack(link);
++      (*ini["main"])["cache"] = link_target;
++      arguments->stack(link_target);
+       break;
+     case OPT_FORCE_BROADCAST:
+       (*ini["main"])["force-broadcast"] = "true";
+@@ -675,12 +675,12 @@
+       if (arguments->want_server)
+         die("You need -S after -D/-T/-R");
+       link_to(arg);
+-      ADD((*ini["main"])["connections"], link);
++      ADD((*ini["main"])["connections"], link_target);
+       char *ap = strchr(arg,':');
+       if (ap)
+         *ap++ = '\0';
+       driver_args(arg,ap);
+-      arguments->stack(link);
++      arguments->stack(link_target);
+       break;
+     }
+     case 'B':
diff -Nru knxd-0.14.46/debian/patches/series knxd-0.14.46/debian/patches/series
--- knxd-0.14.46/debian/patches/series  1969-12-31 16:00:00.000000000 -0800
+++ knxd-0.14.46/debian/patches/series  2022-01-24 09:12:14.000000000 -0800
@@ -0,0 +1 @@
+glibc-2.34.patch

--- End Message ---
--- Begin Message ---
Source: knxd
Source-Version: 0.14.54.1
Done: Matthias Urlichs <matth...@urlichs.de>

We believe that the bug you reported is fixed in the latest version of
knxd, which is due to be installed in the Debian FTP archive.

A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to 1004...@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Matthias Urlichs <matth...@urlichs.de> (supplier of updated knxd package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing ftpmas...@ftp-master.debian.org)


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512

Format: 1.8
Date: Tue, 25 Oct 2022 14:28:34 +0200
Binary: knxd knxd-dbgsym knxd-dev knxd-tools knxd-tools-dbgsym
Source: knxd
Architecture: amd64 source
Version: 0.14.54.1
Distribution: unstable
Urgency: medium
Maintainer: Matthias Urlichs <matth...@urlichs.de>
Changed-By: Matthias Urlichs <matth...@urlichs.de>
Closes: 1004310
Description: 
 knxd       - daemon to access the KNX bus
 knxd-dev   - development files for knxd
 knxd-tools - tools to use knxd
Changes:
 knxd (0.14.54.1) unstable; urgency=medium
 .
   * Merge. Closes: #1004310
   * Packaging native sources because not just using git is beyond annoying.
Checksums-Sha1: 
 c817effaa4b0575a99091baf09f450e833731708 12045384 
knxd-dbgsym_0.14.54.1_amd64.deb
 1fa31fd5fcaf21729e7bb4443e6ce63f05ca4777 53292 knxd-dev_0.14.54.1_amd64.deb
 8f24b9cca33cb8cce47e9dc41890b1e63eb6f70d 89540 
knxd-tools-dbgsym_0.14.54.1_amd64.deb
 896569a4489d63a8575a24055aaefd3b28786cd2 42192 knxd-tools_0.14.54.1_amd64.deb
 bf0e552ed245d72be8be22654d7773c0d2b42e7e 9504 knxd_0.14.54.1_amd64.buildinfo
 de1e11f72d5d733f743bd41324619c19166ca95f 298776 knxd_0.14.54.1_amd64.deb
 44f2afa9491749a670626872be8749a4bc1122f6 1871 knxd_0.14.54.1.dsc
 4e8492b4a3cd4ff429db920a2ca2553b35231cc8 239976 knxd_0.14.54.1.tar.xz
 525e9c62f9e2ec557e89f319444672c92fe7a9ba 8379 knxd_0.14.54.1_source.buildinfo
Checksums-Sha256: 
 71619791d7d804e5cb3a2d41a09af0ae3153ba12fa3ea98d16c7fe9dc0774454 12045384 
knxd-dbgsym_0.14.54.1_amd64.deb
 4da35a610463948dd34350f902d97876aab0dc8e72d33bbd600cb3e90b97f826 53292 
knxd-dev_0.14.54.1_amd64.deb
 7d026392ee64d514e72e1b2004da5dc446b6462b069d3822cfa4c5d211eb65f9 89540 
knxd-tools-dbgsym_0.14.54.1_amd64.deb
 31281962831acf57c230332a66f0e033768535b1fae675cba0bfd540aa3cf5f9 42192 
knxd-tools_0.14.54.1_amd64.deb
 2d68f0d77134e7b50399c70ef5b2ce870a44b92d6c4d84e52e4e5a90eee5c18b 9504 
knxd_0.14.54.1_amd64.buildinfo
 b6bbe5c290569e2712eea422525dd7d66aca95eec5c6bdf9ede7a97a967491bf 298776 
knxd_0.14.54.1_amd64.deb
 c6de466c5ee5a1829708f283fa35ae817f9aae9fc425d131c5c6546eaa0a0943 1871 
knxd_0.14.54.1.dsc
 77eeb981a2d3e043211b96c440b1976610c650a81cec78c16350e5e23a41d889 239976 
knxd_0.14.54.1.tar.xz
 afa22c717e062fd2712bec2cba0b0a185331a343fd7b82ee4ae0292844cd1fe0 8379 
knxd_0.14.54.1_source.buildinfo
Files: 
 91ce2360a030746e53b68227b7cb30a0 12045384 debug optional 
knxd-dbgsym_0.14.54.1_amd64.deb
 43cf5410414b2d3e2ef0a861ecda696e 53292 net optional 
knxd-dev_0.14.54.1_amd64.deb
 e2f7325d5735ef1b5fed7cc911526a9c 89540 debug optional 
knxd-tools-dbgsym_0.14.54.1_amd64.deb
 c56bc454797ca238c09a85c48241688d 42192 net optional 
knxd-tools_0.14.54.1_amd64.deb
 6cab6f5ff3df9e44de140b4c860706fa 9504 net optional 
knxd_0.14.54.1_amd64.buildinfo
 f9b8e765615e04c63f120808f2e93710 298776 net optional knxd_0.14.54.1_amd64.deb
 593970a4c618a1a9fde71926be1b79c7 1871 net optional knxd_0.14.54.1.dsc
 02d5c400ffc761b1397e6eb3900aa4ac 239976 net optional knxd_0.14.54.1.tar.xz
 b384ae8d9a0cb35cbf25c9573963dd87 8379 net optional 
knxd_0.14.54.1_source.buildinfo

-----BEGIN PGP SIGNATURE-----

iQIzBAEBCgAdFiEENzGcEL8EYxehRDgJ+GyybHbBwWUFAmNYArgACgkQ+GyybHbB
wWVk8g/+KfeI4BW5O/IOHU50DB1k73FNmjYEdwwOZ1wIebKytl2CLWZ0LZvzdo9D
P8OBzlpvhi1tZRXDmvW3cgeTo1roOa6pPa1CrbM9yoPCOWpX1/Db+40iB29K+eey
0vjF8jEFck+88iBr5ptqCZSdKBWv0iKTjncJM8PNSjFSWvD44QrrO5twsQDBHytS
b8z0FpayDS67l/Y+NCs0UuT/lV4GJKnNeaIZkJ3aJ4RCR910Pfdc643UBKt1e6rA
Z3AMdVkwbyvy1X5nFAqSJZ6XXe8fHDmT1RIuJFvsBTBkW0tXVgKEIcRsa2kSEQ/k
IyuZPBnEM0z6zDgjJ5DwkVOO3VwBkF1NoG+G86s4b9y0YtMYaVct+E1O1SFBl8DR
twDwLLZtbReD1PyFoDeZFjF10IYD4vZIdQylmwSoKNDgII4Z/iWxrcwnZiP4/Thq
8F4BmCZfwogoBqBI8Lb+N0iWC8cOIpO1lnoooQrJfu0W7jdv90ycpYgTnKNfL8p7
B594LP+4p8c9dQCUHem0v8YZ2/fRikprtxTqAQDqk/r6DcJ22HXMmIu5qq/RvXDG
L6+ia67kEF3y0om5/Eru25IB+eFxkrePD4Yi6EHp0cargAo4K/XQW0Ufq91DMvLH
aiS5f2+3uL9MHoLWI1s4aGj2OmY8JcRFWgwkNvhRIW40k2/fzxY=
=R90m
-----END PGP SIGNATURE-----

--- End Message ---

Reply via email to