Created attachment 758924 [details] build.log [...] FAILED: src/easyeffects powerpc-unknown-linux-gnu-g++ -o src/easyeffects src/easyeffects.p/meson-generated_.._.._data_easyeffects-resources.c.o src/easyeffects.p/easyeffects.cpp.o src/easyeffects.p/application.cpp.o src/easyeffects.p/application_ui.cpp.o src/easyeffects.p/autogain.cpp.o src/easyeffects.p/autogain_preset.cpp.o src/easyeffects.p/autogain_ui.cpp.o src/easyeffects.p/bass_enhancer.cpp.o src/easyeffects.p/bass_enhancer_preset.cpp.o src/easyeffects.p/bass_enhancer_ui.cpp.o src/easyeffects.p/bass_loudness.cpp.o src/easyeffects.p/bass_loudness_preset.cpp.o src/easyeffects.p/bass_loudness_ui.cpp.o src/easyeffects.p/compressor.cpp.o src/easyeffects.p/compressor_preset.cpp.o src/easyeffects.p/compressor_ui.cpp.o src/easyeffects.p/convolver.cpp.o src/easyeffects.p/convolver_preset.cpp.o src/easyeffects.p/convolver_ui.cpp.o src/easyeffects.p/crossfeed.cpp.o src/easyeffects.p/crossfeed_preset.cpp.o src/easyeffects.p/crossfeed_ui.cpp.o src/easyeffects.p/crystalizer.cpp.o src/easyeffects.p/crystalizer_preset.cpp.o src/easyeffects.p/crystalizer_ui.cpp.o src/easyeffects.p/deesser.cpp.o src/easyeffects.p/deesser_preset.cpp.o src/easyeffects.p/deesser_ui.cpp.o src/easyeffects.p/delay.cpp.o src/easyeffects.p/delay_preset.cpp.o src/easyeffects.p/delay_ui.cpp.o src/easyeffects.p/echo_canceller.cpp.o src/easyeffects.p/echo_canceller_preset.cpp.o src/easyeffects.p/echo_canceller_ui.cpp.o src/easyeffects.p/effects_base_ui.cpp.o src/easyeffects.p/effects_base.cpp.o src/easyeffects.p/equalizer.cpp.o src/easyeffects.p/equalizer_preset.cpp.o src/easyeffects.p/equalizer_ui.cpp.o src/easyeffects.p/exciter.cpp.o src/easyeffects.p/exciter_preset.cpp.o src/easyeffects.p/exciter_ui.cpp.o src/easyeffects.p/filter.cpp.o src/easyeffects.p/filter_preset.cpp.o src/easyeffects.p/filter_ui.cpp.o src/easyeffects.p/fir_filter_bandpass.cpp.o src/easyeffects.p/fir_filter_base.cpp.o src/easyeffects.p/fir_filter_lowpass.cpp.o src/easyeffects.p/fir_filter_highpass.cpp.o src/easyeffects.p/gate.cpp.o src/easyeffects.p/gate_preset.cpp.o src/easyeffects.p/gate_ui.cpp.o src/easyeffects.p/general_settings_ui.cpp.o src/easyeffects.p/info_holders.cpp.o src/easyeffects.p/limiter.cpp.o src/easyeffects.p/limiter_preset.cpp.o src/easyeffects.p/limiter_ui.cpp.o src/easyeffects.p/loudness.cpp.o src/easyeffects.p/loudness_preset.cpp.o src/easyeffects.p/loudness_ui.cpp.o src/easyeffects.p/lv2_wrapper.cpp.o src/easyeffects.p/maximizer.cpp.o src/easyeffects.p/maximizer_preset.cpp.o src/easyeffects.p/maximizer_ui.cpp.o src/easyeffects.p/multiband_compressor.cpp.o src/easyeffects.p/multiband_compressor_preset.cpp.o src/easyeffects.p/multiband_compressor_ui.cpp.o src/easyeffects.p/multiband_gate.cpp.o src/easyeffects.p/multiband_gate_preset.cpp.o src/easyeffects.p/multiband_gate_ui.cpp.o src/easyeffects.p/output_level.cpp.o src/easyeffects.p/pipe_info_ui.cpp.o src/easyeffects.p/pipe_manager.cpp.o src/easyeffects.p/pitch.cpp.o src/easyeffects.p/pitch_preset.cpp.o src/easyeffects.p/pitch_ui.cpp.o src/easyeffects.p/plot.cpp.o src/easyeffects.p/plugin_base.cpp.o src/easyeffects.p/plugin_ui_base.cpp.o src/easyeffects.p/presets_menu_ui.cpp.o src/easyeffects.p/presets_manager.cpp.o src/easyeffects.p/reverb.cpp.o src/easyeffects.p/reverb_preset.cpp.o src/easyeffects.p/reverb_ui.cpp.o src/easyeffects.p/resampler.cpp.o src/easyeffects.p/rnnoise.cpp.o src/easyeffects.p/rnnoise_preset.cpp.o src/easyeffects.p/rnnoise_ui.cpp.o src/easyeffects.p/spectrum.cpp.o src/easyeffects.p/spectrum_ui.cpp.o src/easyeffects.p/spectrum_settings_ui.cpp.o src/easyeffects.p/stereo_tools.cpp.o src/easyeffects.p/stereo_tools_preset.cpp.o src/easyeffects.p/stereo_tools_ui.cpp.o src/easyeffects.p/stream_output_effects_ui.cpp.o src/easyeffects.p/stream_output_effects.cpp.o src/easyeffects.p/stream_input_effects_ui.cpp.o src/easyeffects.p/stream_input_effects.cpp.o src/easyeffects.p/test_signals.cpp.o src/easyeffects.p/util.cpp.o -Wl,--as-needed -Wl,--no-undefined -Os -mcpu=7450 -pipe -Wl,-O1 -Wl,--as-needed -Wl,--hash-style=gnu -Wl,--start-group /usr/lib/libpipewire-0.3.so /usr/lib/libglib-2.0.so /usr/lib/libglibmm-2.68.so /usr/lib/libgobject-2.0.so /usr/lib/libsigc-3.0.so /usr/lib/libgtk-4.so /usr/lib/libpangocairo-1.0.so /usr/lib/libpango-1.0.so /usr/lib/libharfbuzz.so /usr/lib/libgdk_pixbuf-2.0.so /usr/lib/libcairo-gobject.so /usr/lib/libcairo.so /usr/lib/libgraphene-1.0.so /usr/lib/libgio-2.0.so /usr/lib/libgtkmm-4.0.so /usr/lib/libpangomm-2.48.so /usr/lib/libgiomm-2.68.so /usr/lib/libcairomm-1.16.so /usr/lib/liblilv-0.so -ldl /usr/lib/libsratom-0.so /usr/lib/libsord-0.so /usr/lib/libserd-0.so /usr/lib/libbs2b.so /usr/lib/libsndfile.so /usr/lib/libfftw3f.so /usr/lib/libebur128.so /usr/lib/librnnoise.so /usr/lib/libsamplerate.so /usr/lib/librubberband.so /usr/lib/libfftw3.so /usr/lib/libspeexdsp.so -pthread -ltbb -lzita-convolver -Wl,--end-group /usr/lib/gcc/powerpc-unknown-linux-gnu/11.2.0/../../../../powerpc-unknown-linux-gnu/bin/ld: src/easyeffects.p/presets_manager.cpp.o: in function `PresetsManager::get_names(PresetType const&)': presets_manager.cpp:(.text+0x45ec): undefined reference to `std::__shared_ptr<std::filesystem::__cxx11::_Dir, (__gnu_cxx::_Lock_policy)2>::swap(std::__shared_ptr<std::filesystem::__cxx11::_Dir, (__gnu_cxx::_Lock_policy)2>&)' /usr/lib/gcc/powerpc-unknown-linux-gnu/11.2.0/../../../../powerpc-unknown-linux-gnu/bin/ld: presets_manager.cpp:(.text+0x4680): undefined reference to `std::__shared_ptr<std::filesystem::__cxx11::_Dir, (__gnu_cxx::_Lock_policy)2>::swap(std::__shared_ptr<std::filesystem::__cxx11::_Dir, (__gnu_cxx::_Lock_policy)2>&)' collect2: error: ld returned 1 exit status ninja: build stopped: subcommand failed. * ERROR: media-sound/easyeffects-6.1.5::gentoo failed (compile phase): * compile failed
Created attachment 758925 [details] emerge --info
Could you try adding "build.cpp_std=c++20" to default project options in meson.build and see if it helps? Reference: https://github.com/mesonbuild/meson/issues/5590#issuecomment-912996631
(In reply to Marek Szuba from comment #2) > Could you try adding "build.cpp_std=c++20" to default project options in > meson.build and see if it helps? default_options before: default_options : ['cpp_std=c++20','buildtype=debugoptimized'], default_options before: default_options : ['cpp_std=c++20','build.cpp_std=c++20','buildtype=debugoptimized'], But it didn't make a difference after an ebuild configure, ebuild compile.
Hmm. How about if you do not use -Os?
Update: reproduced the error on amd64 with -Os. ernsteiswuerfel, if using -O2 instead helps please remove the block on 807265 and proceed with ppc rekeywording.
(In reply to Marek Szuba from comment #5) > Update: reproduced the error on amd64 with -Os. ernsteiswuerfel, if using > -O2 instead helps please remove the block on 807265 and proceed with ppc > rekeywording. Ah yes, you are right. With -O2 it builds fine on ppc too!
ernsteiswuerfel, can I ask if you'd mind reporting this upstream? Thanks!
(In reply to Sam James from comment #7) > ernsteiswuerfel, can I ask if you'd mind reporting this upstream? Thanks! Done. https://github.com/wwmm/easyeffects/issues/1386
Quoting upstream: "It feels like a compiler bug [...] Specially because it compiles without any problems when passing the debug or the release flags. If the reference to the functions is disappearing when optimizing for size the most likely cause is the compiler doing a mistake. Unless under the hoods Meson is passing a combination of flags that is leading the compiler to a mistake when optimizing for size."