Re: Arch GNU/Linux 6.11.4 build error
Martin Schanzenbach <[email protected]> Wed, 23 Oct 2024 13:13:15 +0200
| Newsgroups | gmane.network.gnunet.general |
|---|---|
| Message-ID | <[email protected]> |
Hello, it seems to me that our quic implementation does not work with recent API changes in quiche. We currently do not have version detection logic for quiche so this is always a problem if you have quiche (and headers) installed but the version is too new. We will have to either detect the quiche version in gnunet in future releases or port to a more recent quiche version. On your side you can currently only patch the quiche detection logic out of configure.ac or uninstall quiche. Best Martin On Wed, 2024-10-23 at 10:34 +0000, fusionkeychain wrote: > Hello everyone, I have encountered build failures in building gnunet > on my installation of Arch. > I am running glibc 2.40, the entire system is up to date, including > make and gcc, not using anything outside of the standard GNU > toolchain. > However, I have tested both gnunet 0.22.1 and the older version, > 0.21.2, and both result in a build error. >=20 > For those who are smarter than me, here is the portion of the build > log where the error occurs: >=20 > =3D=3D> WARNING: Using existing $srcdir/ tree > configure: WARNING: GnuTLS lacks DANE support; validation using it > will not be possible > configure: WARNING: Your version of Python is not supported, you > might see issues > In file included from ../../../src/include/platform.h:37, > =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0from gnsrec= ord_crypto.h:28, > =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0from gnsrec= ord_pow.c:31: > ../../../gnunet_private_config.h:26:9: warning: "ENABLE_NLS" > redefined > =C2=A0 =C2=A026 | #define ENABLE_NLS 1 > =C2=A0 =C2=A0 =C2=A0 | =C2=A0 =C2=A0 =C2=A0 =C2=A0 ^~~~~~~~~~ > In file included from ../../../src/include/gnunet_common.h:85, > =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0from gnsrec= ord_pow.c:26: > ../../../src/include/gettext.h:24:9: note: this is the location of > the previous definition > =C2=A0 =C2=A024 | #define ENABLE_NLS 0 > =C2=A0 =C2=A0 =C2=A0 | =C2=A0 =C2=A0 =C2=A0 =C2=A0 ^~~~~~~~~~ > ../../../gnunet_private_config.h:47:9: warning: > "GNUNET_EXTRA_LOGGING" redefined > =C2=A0 =C2=A047 | #define GNUNET_EXTRA_LOGGING GNUNET_NO > =C2=A0 =C2=A0 =C2=A0 | =C2=A0 =C2=A0 =C2=A0 =C2=A0 ^~~~~~~~~~~~~~~~~~~~ > ../../../src/include/gnunet_common.h:156:9: note: this is the > location of the previous definition > =C2=A0 156 | #define GNUNET_EXTRA_LOGGING 1 > =C2=A0 =C2=A0 =C2=A0 | =C2=A0 =C2=A0 =C2=A0 =C2=A0 ^~~~~~~~~~~~~~~~~~~~ > ../../../gnunet_private_config.h:453:9: warning: "HAVE_SYSCONF" > redefined > =C2=A0 453 | #define HAVE_SYSCONF 1 > =C2=A0 =C2=A0 =C2=A0 | =C2=A0 =C2=A0 =C2=A0 =C2=A0 ^~~~~~~~~~~~ > In file included from ../../../src/include/gnunet_util_lib.h:83, > =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0from gnsrec= ord_pow.c:27: > ../../../src/include/gnunet_os_lib.h:407:9: note: this is the > location of the previous definition > =C2=A0 407 | #define HAVE_SYSCONF 0 > =C2=A0 =C2=A0 =C2=A0 | =C2=A0 =C2=A0 =C2=A0 =C2=A0 ^~~~~~~~~~~~ > In file included from ../../../src/include/platform.h:37, > =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0from testin= g_api_topology.c:33: > ../../../gnunet_private_config.h:26:9: warning: "ENABLE_NLS" > redefined > =C2=A0 =C2=A026 | #define ENABLE_NLS 1 > =C2=A0 =C2=A0 =C2=A0 | =C2=A0 =C2=A0 =C2=A0 =C2=A0 ^~~~~~~~~~ > In file included from ../../../src/include/gnunet_common.h:85, > =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0from testin= g_api_topology.c:32: > ../../../src/include/gettext.h:24:9: note: this is the location of > the previous definition > =C2=A0 =C2=A024 | #define ENABLE_NLS 0 > =C2=A0 =C2=A0 =C2=A0 | =C2=A0 =C2=A0 =C2=A0 =C2=A0 ^~~~~~~~~~ > ../../../gnunet_private_config.h:47:9: warning: > "GNUNET_EXTRA_LOGGING" redefined > =C2=A0 =C2=A047 | #define GNUNET_EXTRA_LOGGING GNUNET_NO > =C2=A0 =C2=A0 =C2=A0 | =C2=A0 =C2=A0 =C2=A0 =C2=A0 ^~~~~~~~~~~~~~~~~~~~ > ../../../src/include/gnunet_common.h:156:9: note: this is the > location of the previous definition > =C2=A0 156 | #define GNUNET_EXTRA_LOGGING 1 > =C2=A0 =C2=A0 =C2=A0 | =C2=A0 =C2=A0 =C2=A0 =C2=A0 ^~~~~~~~~~~~~~~~~~~~ > In file included from ../../../src/include/platform.h:37, > =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0from gnunet= -communicator-quic.c:41: > ../../../gnunet_private_config.h:26:9: warning: "ENABLE_NLS" > redefined > =C2=A0 =C2=A026 | #define ENABLE_NLS 1 > =C2=A0 =C2=A0 =C2=A0 | =C2=A0 =C2=A0 =C2=A0 =C2=A0 ^~~~~~~~~~ > In file included from ../../../src/include/gnunet_common.h:85, > =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0from gnunet= -communicator-quic.c:37: > ../../../src/include/gettext.h:24:9: note: this is the location of > the previous definition > =C2=A0 =C2=A024 | #define ENABLE_NLS 0 > =C2=A0 =C2=A0 =C2=A0 | =C2=A0 =C2=A0 =C2=A0 =C2=A0 ^~~~~~~~~~ > ../../../gnunet_private_config.h:47:9: warning: > "GNUNET_EXTRA_LOGGING" redefined > =C2=A0 =C2=A047 | #define GNUNET_EXTRA_LOGGING GNUNET_NO > =C2=A0 =C2=A0 =C2=A0 | =C2=A0 =C2=A0 =C2=A0 =C2=A0 ^~~~~~~~~~~~~~~~~~~~ > ../../../src/include/gnunet_common.h:156:9: note: this is the > location of the previous definition > =C2=A0 156 | #define GNUNET_EXTRA_LOGGING 1 > =C2=A0 =C2=A0 =C2=A0 | =C2=A0 =C2=A0 =C2=A0 =C2=A0 ^~~~~~~~~~~~~~~~~~~~ > ../../../gnunet_private_config.h:453:9: warning: "HAVE_SYSCONF" > redefined > =C2=A0 453 | #define HAVE_SYSCONF 1 > =C2=A0 =C2=A0 =C2=A0 | =C2=A0 =C2=A0 =C2=A0 =C2=A0 ^~~~~~~~~~~~ > In file included from ../../../src/include/gnunet_util_lib.h:83, > =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0from gnunet= -communicator-quic.c:38: > ../../../src/include/gnunet_os_lib.h:407:9: note: this is the > location of the previous definition > =C2=A0 407 | #define HAVE_SYSCONF 0 > =C2=A0 =C2=A0 =C2=A0 | =C2=A0 =C2=A0 =C2=A0 =C2=A0 ^~~~~~~~~~~~ > gnunet-communicator-quic.c: In function =E2=80=98recv_from_streams=E2=80= =99: > gnunet-communicator-quic.c:320:16: error: too few arguments to > function =E2=80=98quiche_conn_stream_recv=E2=80=99 > =C2=A0 320 | =C2=A0 =C2=A0 recv_len =3D quiche_conn_stream_recv (peer->co= nn->conn, s, > =C2=A0 =C2=A0 =C2=A0 | =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0^~~~~~~~~~~~~~~~~~~~~~~ > In file included from gnunet-communicator-quic.c:40: > /usr/include/quiche.h:386:9: note: declared here > =C2=A0 386 | ssize_t quiche_conn_stream_recv(quiche_conn *conn, uint64_t > stream_id, > =C2=A0 =C2=A0 =C2=A0 | =C2=A0 =C2=A0 =C2=A0 =C2=A0 ^~~~~~~~~~~~~~~~~~~~~~= ~ > gnunet-communicator-quic.c: In function =E2=80=98mq_send_d=E2=80=99: > gnunet-communicator-quic.c:650:14: error: too few arguments to > function =E2=80=98quiche_conn_stream_send=E2=80=99 > =C2=A0 650 | =C2=A0 send_len =3D quiche_conn_stream_send (peer->conn->con= n, 4, > (uint8_t *) msg, > =C2=A0 =C2=A0 =C2=A0 | =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0^~= ~~~~~~~~~~~~~~~~~~~~~ > /usr/include/quiche.h:393:9: note: declared here > =C2=A0 393 | ssize_t quiche_conn_stream_send(quiche_conn *conn, uint64_t > stream_id, > =C2=A0 =C2=A0 =C2=A0 | =C2=A0 =C2=A0 =C2=A0 =C2=A0 ^~~~~~~~~~~~~~~~~~~~~~= ~ > gnunet-communicator-quic.c: In function =E2=80=98sock_read=E2=80=99: > gnunet-communicator-quic.c:1345:18: warning: passing argument 1 of > =E2=80=98GNUNET_xfree_=E2=80=99 discards =E2=80=98const=E2=80=99 qualifie= r from pointer target type > [-Wdiscarded-qualifiers] > =C2=A01345 | =C2=A0 =C2=A0 GNUNET_free (addr_string); > =C2=A0 =C2=A0 =C2=A0 | =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0^~~~~~~~~~~ > ../../../src/include/gnunet_common.h:1461:26: note: in definition of > macro =E2=80=98GNUNET_free=E2=80=99 > =C2=A01461 | =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 GNUNET_xfree_ (ptr, __FIL= E__, __LINE__); \ > =C2=A0 =C2=A0 =C2=A0 | =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0^~~ > ../../../src/include/gnunet_common.h:1745:22: note: expected =E2=80=98voi= d *=E2=80=99 > but argument is of type =E2=80=98const char *=E2=80=99 > =C2=A01745 | GNUNET_xfree_ (void *ptr, > =C2=A0 =C2=A0 =C2=A0 | =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0~~~~~~^~~ > gnunet-communicator-quic.c:1517:18: error: too few arguments to > function =E2=80=98quiche_conn_stream_send=E2=80=99 > =C2=A01517 | =C2=A0 =C2=A0 =C2=A0 send_len =3D quiche_conn_stream_send (p= eer->conn->conn, > STREAMID_BI, > =C2=A0 =C2=A0 =C2=A0 | =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0^~~~~~~~~~~~~~~~~~~~~~~ > /usr/include/quiche.h:393:9: note: declared here > =C2=A0 393 | ssize_t quiche_conn_stream_send(quiche_conn *conn, uint64_t > stream_id, > =C2=A0 =C2=A0 =C2=A0 | =C2=A0 =C2=A0 =C2=A0 =C2=A0 ^~~~~~~~~~~~~~~~~~~~~~= ~ > gnunet-communicator-quic.c: In function =E2=80=98run=E2=80=99: > gnunet-communicator-quic.c:1727:8: error: too few arguments to > function =E2=80=98GNUNET_TRANSPORT_communicator_connect=E2=80=99 > =C2=A01727 | =C2=A0 ch =3D GNUNET_TRANSPORT_communicator_connect (cfg, > =C2=A0 =C2=A0 =C2=A0 | =C2=A0 =C2=A0 =C2=A0 =C2=A0^~~~~~~~~~~~~~~~~~~~~~~= ~~~~~~~~~~~~~~ > In file included from gnunet-communicator-quic.c:47: > ../../../src/include/gnunet_transport_communication_service.h:165:1: > note: declared here > =C2=A0 165 | GNUNET_TRANSPORT_communicator_connect ( > =C2=A0 =C2=A0 =C2=A0 | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > make[4]: *** [Makefile:1716: gnunet-communicator-quic.o] Error 1 > make[3]: *** [Makefile:504: all-recursive] Error 1 > make[2]: *** [Makefile:479: all-recursive] Error 1 > make[1]: *** [Makefile:606: all-recursive] Error 1 > make: *** [Makefile:517: all] Error 2 > =3D=3D> ERROR: A failure occurred in build(). > =C2=A0 =C2=A0 Aborting... > error: failed to build 'gnunet-0.22.1-1':=20 > =C2=A0 =C2=A0 shell-completions ... Skipped > =C2=A0 =C2=A0 shell-completions ... Skipped > Cloning into 'shell-completions'... > done. > warning: zig-completion-git-g8d3db71-1 is up to date -- reinstalling > error: packages failed to build: gnunet-0.22.1-1