diff --git a/recipes-musicians/surge/surge.bb b/recipes-musicians/surge/surge.bb index 6d20c74..d2bf5fa 100644 --- a/recipes-musicians/surge/surge.bb +++ b/recipes-musicians/surge/surge.bb @@ -22,6 +22,7 @@ SRC_URI = " \ file://0002-package-vst3.sh-Do-not-try-to-strip-antive.patch \ file://0003-Do-not-generate-manifest-it-won-t-work-cross.patch \ file://0004-emit-vector-piggy-adjust-python-python3.patch \ + file://0005-Workaround-build-failure-with-glibc-2.34.patch \ " SRCREV = "91069f8d0c0269e962fa3b5f932b4511aa07e451" S = "${WORKDIR}/git" diff --git a/recipes-musicians/surge/surge/0005-Workaround-build-failure-with-glibc-2.34.patch b/recipes-musicians/surge/surge/0005-Workaround-build-failure-with-glibc-2.34.patch new file mode 100644 index 0000000..7f4ad66 --- /dev/null +++ b/recipes-musicians/surge/surge/0005-Workaround-build-failure-with-glibc-2.34.patch @@ -0,0 +1,56 @@ +From 5ac9efceb51e8425347e94ec34d8a2e6bbeb06ca Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Andreas=20M=C3=BCller?= +Date: Mon, 16 Aug 2021 18:42:29 +0200 +Subject: [PATCH] Workaround build failure with glibc >= 2.34 +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Seems glibc changed definition of MINSIGSTKSZ to + +| # define MINSIGSTKSZ SIGSTKSZ +and +| # define SIGSTKSZ sysconf (_SC_SIGSTKSZ) + +which is not constexpr. So build fails with: +| In file included from /home/superandy/tmp/oe-core-glibc/work/cortexa72-mortsgna-linux/surge/1.9.0-r0/recipe-sysroot/usr/include/signal.h:328, +| from /home/superandy/tmp/oe-core-glibc/work/cortexa72-mortsgna-linux/surge/1.9.0-r0/git/libs/catch2/include/catch2/catch2.hpp:7641, +| from /home/superandy/tmp/oe-core-glibc/work/cortexa72-mortsgna-linux/surge/1.9.0-r0/git/src/headless/UnitTests.cpp:3: +| /home/superandy/tmp/oe-core-glibc/work/cortexa72-mortsgna-linux/surge/1.9.0-r0/git/libs/catch2/include/catch2/catch2.hpp:10455:58: error: call to non-'constexpr' function 'long int sysconf(int)' +| 10455 | static constexpr std::size_t sigStackSize = 32768 >= MINSIGSTKSZ ? 32768 : MINSIGSTKSZ; +| | ^~~~~~~~~~~ +| In file included from /home/superandy/tmp/oe-core-glibc/work/cortexa72-mortsgna-linux/surge/1.9.0-r0/recipe-sysroot/usr/include/bits/sigstksz.h:24, +| from /home/superandy/tmp/oe-core-glibc/work/cortexa72-mortsgna-linux/surge/1.9.0-r0/recipe-sysroot/usr/include/signal.h:328, +| from /home/superandy/tmp/oe-core-glibc/work/cortexa72-mortsgna-linux/surge/1.9.0-r0/git/libs/catch2/include/catch2/catch2.hpp:7641, +| from /home/superandy/tmp/oe-core-glibc/work/cortexa72-mortsgna-linux/surge/1.9.0-r0/git/src/headless/UnitTests.cpp:3: +| /home/superandy/tmp/oe-core-glibc/work/cortexa72-mortsgna-linux/surge/1.9.0-r0/recipe-sysroot/usr/include/unistd.h:641:17: note: 'long int sysconf(int)' declared here +| 641 | extern long int sysconf (int __name) __THROW; +| | ^~~~~~~ +| In file included from /home/superandy/tmp/oe-core-glibc/work/cortexa72-mortsgna-linux/surge/1.9.0-r0/git/src/headless/UnitTests.cpp:3: +| /home/superandy/tmp/oe-core-glibc/work/cortexa72-mortsgna-linux/surge/1.9.0-r0/git/libs/catch2/include/catch2/catch2.hpp:10514:45: error: size of array 'altStackMem' is not an integral constant-expression +| 10514 | char FatalConditionHandler::altStackMem[sigStackSize] = {}; +| | ^~~~~~~~~~~~ + +Upstream-Status: Submitted[https://github.com/surge-synthesizer/surge/pull/4843] + +Signed-off-by: Andreas Müller +--- + libs/catch2/include/catch2/catch2.hpp | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/libs/catch2/include/catch2/catch2.hpp b/libs/catch2/include/catch2/catch2.hpp +index 643d6a00..3b50669f 100644 +--- a/libs/catch2/include/catch2/catch2.hpp ++++ b/libs/catch2/include/catch2/catch2.hpp +@@ -10452,7 +10452,7 @@ namespace Catch { + + // 32kb for the alternate stack seems to be sufficient. However, this value + // is experimentally determined, so that's not guaranteed. +- static constexpr std::size_t sigStackSize = 32768 >= MINSIGSTKSZ ? 32768 : MINSIGSTKSZ; ++ static constexpr std::size_t sigStackSize = 32768; + + static SignalDefs signalDefs[] = { + { SIGINT, "SIGINT - Terminal interrupt signal" }, +-- +2.31.1 +