from eca-object-factory.cpp:51: /usr/include/lilv-0/lilv/lilvmm.hpp: In constructor ‘Lilv::Instance::Instance(Lilv::Plugin, double)’: /usr/include/lilv-0/lilv/lilvmm.hpp:272:53: error: ‘nullptr’ was not declared in this scope 272 | me = lilv_plugin_instantiate(plugin, sample_rate, nullptr); | ^~~~~~~ /usr/include/lilv-0/lilv/lilvmm.hpp: In static member function ‘static Lilv::Instance* Lilv::Instance::create(Lilv::Plugin, double, LV2_Feature* const*)’: ------------------------------------------------------------------- This is an unstable amd64 chroot image at a tinderbox (==build bot) name: 17.1_desktop_gnome_systemd-libressl-20201024-104338 ------------------------------------------------------------------- gcc-config -l: [1] x86_64-pc-linux-gnu-10.2.0 * clang version 11.0.0 Target: x86_64-pc-linux-gnu Thread model: posix InstalledDir: /usr/lib/llvm/11/bin /usr/lib/llvm/11 11.0.0 Available Python interpreters, in order of preference: [1] python3.7 [2] python3.9 (fallback) [3] python3.8 (fallback) Available Ruby profiles: [1] ruby25 (with Rubygems) [2] ruby26 (with Rubygems) [3] ruby27 (with Rubygems) * Available Rust versions: [1] rust-1.47.0 * The following VMs are available for generation-2: 1) IcedTea JDK 3.16.0 [icedtea-8] 2) IcedTea JDK 3.16.0 [icedtea-bin-8] *) AdoptOpenJDK 8.272_p10 [openjdk-bin-8] Available Java Virtual Machines: [1] icedtea-8 [2] icedtea-bin-8 [3] openjdk-bin-8 system-vm The Glorious Glasgow Haskell Compilation System, version 8.8.4 timestamp(s) of HEAD at this tinderbox image: /var/db/repos/gentoo Wed Oct 28 08:05:28 AM UTC 2020 /var/db/repos/libressl Sun Oct 18 04:35:14 PM UTC 2020 emerge -qpvO media-sound/ecasound [ebuild N ] media-sound/ecasound-2.9.3 USE="alsa lv2 ncurses oil ruby -audiofile -debug -doc -jack -libsamplerate -mikmod -osc -oss -python -sndfile -static-libs -test" PYTHON_SINGLE_TARGET="python3_7 -python3_6 -python3_8 -python3_9"
Created attachment 668954 [details] emerge-info.txt
Created attachment 668957 [details] emerge-history.txt
Created attachment 668960 [details] environment
Created attachment 668963 [details] etc.portage.tbz2
Created attachment 668966 [details] logs.tbz2
Created attachment 668969 [details] media-sound:ecasound-2.9.3:20201028-083203.log
Created attachment 668972 [details] temp.tbz2
To state the obvious, USE=-lv2 avoids hitting this bug (but means you can't use LV2 plugins in ecasound). The compilation failure happens because g++ is run with the -std=c++98 option, and nullptr is a feature from later C (lilv is a C library) versions. Unfortunately, the lilv doesn't declare what minimum C standard it needs, so I am only guessing that older lilv versions worked with g++ -std=c++98 and the current version (media-libs/lilv-0.24.10-r1 was the offender when I hit this bug) does not. -std=c++98 is not in the ebuild (or my CLFAGS!) so it is being injected by the ecasound build system. The fix for this bug will lie in patching the build system, hopefully just to remove -std altogether, or wind it forward to a significantly newer version! However, other things in ecacound may then break (if it uses deprecated language features) so this may not be as simple as it sounds!
For what it's worth, the maintainer of the Arch Linux package dealt with the matter by specifying -std=c++11 since November 2020.
The bug has been closed via the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=cf2415df1ebc1296ae6e59dc58f3c08d297b79ab commit cf2415df1ebc1296ae6e59dc58f3c08d297b79ab Author: Kerin Millar <kfm@plushkava.net> AuthorDate: 2021-09-19 05:24:25 +0000 Commit: Sam James <sam@gentoo.org> CommitDate: 2021-09-19 05:42:40 +0000 media-sound/ecasound: build with -std=c++11 To specify the c++98 dialect is no longer compatible with lilv. Closes: https://bugs.gentoo.org/751583 Closes: https://bugs.gentoo.org/787620 Signed-off-by: Kerin Millar <kfm@plushkava.net> Signed-off-by: Sam James <sam@gentoo.org> media-sound/ecasound/ecasound-2.9.3.ebuild | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-)