Source: zeromq3 Version: 4.3.4-5 Severity: important Tags: ftbfs patch upstream Justification: fails to build from source (but built successfully in the past) User: debian-ri...@lists.debian.org Usertags: riscv64 X-Debbugs-Cc: i...@hack3r.moe, debian-ri...@lists.debian.org
Dear maintainer, zeromq3 failed on riscv64 due to missing `ZMQ_CACHELINE_SIZE` during configuration on qemu-user. This is patched upstream. [1] Since some riscv64 buildd machines are still using qemu-user, I've attached that patch so it can be backported and fix FTBFS on riscv64. If more help is needed, please let me know. Cheers, Eric [1]: https://github.com/zeromq/libzmq/commit/48960c229388980fafa4528f9e7511fca972ff3b
>From 48960c229388980fafa4528f9e7511fca972ff3b Mon Sep 17 00:00:00 2001 From: Han Gao <gao...@iscas.ac.cn> Date: Tue, 10 Jan 2023 01:12:20 +0800 Subject: [PATCH] fix: fix build on qemu-user In qemu-user, CACHELINE_SIZE probe is undefined Signed-off-by: Han Gao <gao...@iscas.ac.cn> --- CMakeLists.txt | 3 ++- RELICENSE/hangao.md | 13 +++++++++++++ acinclude.m4 | 2 +- 3 files changed, 16 insertions(+), 2 deletions(-) create mode 100644 RELICENSE/hangao.md diff --git a/CMakeLists.txt b/CMakeLists.txt index 8672d6179..072a6507e 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -481,7 +481,8 @@ execute_process( ERROR_QUIET OUTPUT_STRIP_TRAILING_WHITESPACE) if(CACHELINE_SIZE STREQUAL "" OR CACHELINE_SIZE EQUAL 0 - OR CACHELINE_SIZE EQUAL -1) + OR CACHELINE_SIZE EQUAL -1 + OR CACHELINE_SIZE EQUAL "undefined") set(ZMQ_CACHELINE_SIZE 64) else() set(ZMQ_CACHELINE_SIZE ${CACHELINE_SIZE}) diff --git a/RELICENSE/hangao.md b/RELICENSE/hangao.md new file mode 100644 index 000000000..de100bb59 --- /dev/null +++ b/RELICENSE/hangao.md @@ -0,0 +1,13 @@ +# Permission to Relicense under MPLv2 or any other OSI approved license chosen by the current ZeroMQ BDFL + +This is a statement by Han Gao that grants permission to relicense its copyrights in the libzmq C++ +library (ZeroMQ) under the Mozilla Public License v2 (MPLv2) or any other +Open Source Initiative approved license chosen by the current ZeroMQ +BDFL (Benevolent Dictator for Life). + +A portion of the commits made by the Github handle "Rabenda", with +commit author "Han Gao <gao...@iscas.ac.cn>" or "Han Gao <rabenda...@gmail.com>", are copyright of Han Gao . +This document hereby grants the libzmq project team to relicense libzmq, +including all past, present and future contributions of the author listed above. + +Han Gao 2023/01/10 diff --git a/acinclude.m4 b/acinclude.m4 index ac55776e5..f27fc8e83 100644 --- a/acinclude.m4 +++ b/acinclude.m4 @@ -1254,7 +1254,7 @@ AC_DEFUN([LIBZMQ_CHECK_CACHELINE], [{ AC_CHECK_TOOL(libzmq_getconf, getconf) if ! test "x$libzmq_getconf" = "x"; then zmq_cacheline_size=$($libzmq_getconf LEVEL1_DCACHE_LINESIZE 2>/dev/null || echo 64) - if test "x$zmq_cacheline_size" = "x0" -o "x$zmq_cacheline_size" = "x-1"; then + if test "x$zmq_cacheline_size" = "x0" -o "x$zmq_cacheline_size" = "x-1" -o "x$zmq_cacheline_size" = "xundefined"; then # getconf on some architectures does not know the size, try to fallback to # the value the kernel knows on Linux zmq_cacheline_size=$(cat /sys/devices/system/cpu/cpu0/cache/index0/coherency_line_size 2>/dev/null || echo 64)