Fails to build from source
grawlinson opened this issue · 3 comments
grawlinson commented
Hi! Package maintainer for Arch Linux here, when updating the package, I'm getting some errors:
mkdir build
mkdir build/x86_64-gpp-x86_64-sse2
mkdir build/x86_64-gpp-x86_64-sse2/lib64
ln -vs /usr/lib/libcairo.so.2 build/x86_64-gpp-x86_64-sse2/lib64/libcairo.so
'build/x86_64-gpp-x86_64-sse2/lib64/libcairo.so' -> '/usr/lib/libcairo.so.2'
ln -vs /usr/lib/libxcb.so.1 build/x86_64-gpp-x86_64-sse2/lib64/libxcb.so
'build/x86_64-gpp-x86_64-sse2/lib64/libxcb.so' -> '/usr/lib/libxcb.so.1'
ln -vs /usr/lib/libxcb-render.so.0 build/x86_64-gpp-x86_64-sse2/lib64/libxcb-render.so
'build/x86_64-gpp-x86_64-sse2/lib64/libxcb-render.so' -> '/usr/lib/libxcb-render.so.0'
/usr/bin/objcopy \
--input binary \
--output elf64-x86-64 \
--binary-architecture i386:x86-64 \
gui/img/about.png build/x86_64-gpp-x86_64-sse2/img_about.o
/usr/bin/objcopy \
--input binary \
--output elf64-x86-64 \
--binary-architecture i386:x86-64 \
gui/img/effects.png build/x86_64-gpp-x86_64-sse2/img_effects.o
/usr/bin/objcopy \
--input binary \
--output elf64-x86-64 \
--binary-architecture i386:x86-64 \
gui/img/envelopes1.png build/x86_64-gpp-x86_64-sse2/img_envelopes1.o
/usr/bin/objcopy \
--input binary \
--output elf64-x86-64 \
--binary-architecture i386:x86-64 \
gui/img/envelopes2.png build/x86_64-gpp-x86_64-sse2/img_envelopes2.o
/usr/bin/objcopy \
--input binary \
--output elf64-x86-64 \
--binary-architecture i386:x86-64 \
gui/img/env_shapes-01.png build/x86_64-gpp-x86_64-sse2/img_env_shapes-01.o
/usr/bin/objcopy \
--input binary \
--output elf64-x86-64 \
--binary-architecture i386:x86-64 \
gui/img/env_shapes-10.png build/x86_64-gpp-x86_64-sse2/img_env_shapes-10.o
/usr/bin/objcopy \
--input binary \
--output elf64-x86-64 \
--binary-architecture i386:x86-64 \
gui/img/knob_states-controlled.png build/x86_64-gpp-x86_64-sse2/img_knob_states-controlled.o
/usr/bin/objcopy \
--input binary \
--output elf64-x86-64 \
--binary-architecture i386:x86-64 \
gui/img/knob_states-free.png build/x86_64-gpp-x86_64-sse2/img_knob_states-free.o
/usr/bin/objcopy \
--input binary \
--output elf64-x86-64 \
--binary-architecture i386:x86-64 \
gui/img/knob_states-none.png build/x86_64-gpp-x86_64-sse2/img_knob_states-none.o
/usr/bin/objcopy \
--input binary \
--output elf64-x86-64 \
--binary-architecture i386:x86-64 \
gui/img/lfos.png build/x86_64-gpp-x86_64-sse2/img_lfos.o
/usr/bin/objcopy \
--input binary \
--output elf64-x86-64 \
--binary-architecture i386:x86-64 \
gui/img/macro_distortions.png build/x86_64-gpp-x86_64-sse2/img_macro_distortions.o
/usr/bin/objcopy \
--input binary \
--output elf64-x86-64 \
--binary-architecture i386:x86-64 \
gui/img/macro_midpoint_states.png build/x86_64-gpp-x86_64-sse2/img_macro_midpoint_states.o
/usr/bin/objcopy \
--input binary \
--output elf64-x86-64 \
--binary-architecture i386:x86-64 \
gui/img/macros1.png build/x86_64-gpp-x86_64-sse2/img_macros1.o
/usr/bin/objcopy \
--input binary \
--output elf64-x86-64 \
--binary-architecture i386:x86-64 \
gui/img/macros2.png build/x86_64-gpp-x86_64-sse2/img_macros2.o
/usr/bin/objcopy \
--input binary \
--output elf64-x86-64 \
--binary-architecture i386:x86-64 \
gui/img/macros3.png build/x86_64-gpp-x86_64-sse2/img_macros3.o
/usr/bin/objcopy \
--input binary \
--output elf64-x86-64 \
--binary-architecture i386:x86-64 \
gui/img/screw_states.png build/x86_64-gpp-x86_64-sse2/img_screw_states.o
/usr/bin/objcopy \
--input binary \
--output elf64-x86-64 \
--binary-architecture i386:x86-64 \
gui/img/screw_states_synced.png build/x86_64-gpp-x86_64-sse2/img_screw_states_synced.o
/usr/bin/objcopy \
--input binary \
--output elf64-x86-64 \
--binary-architecture i386:x86-64 \
gui/img/synth.png build/x86_64-gpp-x86_64-sse2/img_synth.o
/usr/bin/objcopy \
--input binary \
--output elf64-x86-64 \
--binary-architecture i386:x86-64 \
gui/img/vst_logo.png build/x86_64-gpp-x86_64-sse2/img_vst_logo.o
/usr/bin/g++ -I/usr/include -I./lib/vst3sdk -I./lib -I./src -DRELEASE -DJS80P_VST3_GUI_PLATFORM=kPlatformTypeX11EmbedWindowID -D JS80P_VERSION_STR=v3.1.0 -D JS80P_VERSION_INT=310 -D JS80P_TARGET_PLATFORM=x86_64-gpp -D JS80P_INSTRUCTION_SET=sse2 -Wall -Werror -ffast-math -O3 -std=c++17 -msse2 -Wno-class-memaccess -Wno-format -Wno-multichar -Wno-parentheses -Wno-pragmas -Wno-unknown-pragmas -m64 -Wno-strict-aliasing -Wno-int-to-pointer-cast -Wno-cpp -fPIC -fvisibility=hidden -c -o build/x86_64-gpp-x86_64-sse2/vst3-main.o src/plugin/vst3/so.cpp
/usr/bin/g++ -I/usr/include -I./lib/vst3sdk -I./lib -I./src -DRELEASE -DJS80P_VST3_GUI_PLATFORM=kPlatformTypeX11EmbedWindowID -D JS80P_VERSION_STR=v3.1.0 -D JS80P_VERSION_INT=310 -D JS80P_TARGET_PLATFORM=x86_64-gpp -D JS80P_INSTRUCTION_SET=sse2 -Wall -Werror -ffast-math -O3 -std=c++17 -msse2 -Wno-class-memaccess -Wno-format -Wno-multichar -Wno-parentheses -Wno-pragmas -Wno-unknown-pragmas -m64 -Wno-strict-aliasing -Wno-int-to-pointer-cast -Wno-cpp -fPIC -fvisibility=hidden -c -o build/x86_64-gpp-x86_64-sse2/vst3-plugin.o src/plugin/vst3/plugin.cpp
/usr/bin/g++ -I/usr/include -I./lib -I./src -D JS80P_VERSION_STR=v3.1.0 -D JS80P_VERSION_INT=310 -D JS80P_TARGET_PLATFORM=x86_64-gpp -D JS80P_INSTRUCTION_SET=sse2 -Wall -Werror -ffast-math -O3 -std=c++17 -msse2 -m64 -Wno-strict-aliasing -Wno-int-to-pointer-cast -Wno-cpp -fPIC -fvisibility=hidden -c -o build/x86_64-gpp-x86_64-sse2/gui.o src/gui/xcb.cpp
/usr/bin/g++ -I/usr/include -I./lib -I./src -D JS80P_VERSION_STR=v3.1.0 -D JS80P_VERSION_INT=310 -D JS80P_TARGET_PLATFORM=x86_64-gpp -D JS80P_INSTRUCTION_SET=sse2 -Wall -Werror -ffast-math -O3 -std=c++17 -msse2 -m64 -Wno-strict-aliasing -Wno-int-to-pointer-cast -Wno-cpp -fPIC -fvisibility=hidden -c -o build/x86_64-gpp-x86_64-sse2/bank.o src/bank.cpp
/usr/bin/g++ -I/usr/include -I./lib -I./src -D JS80P_VERSION_STR=v3.1.0 -D JS80P_VERSION_INT=310 -D JS80P_TARGET_PLATFORM=x86_64-gpp -D JS80P_INSTRUCTION_SET=sse2 -Wall -Werror -ffast-math -O3 -std=c++17 -msse2 -m64 -Wno-strict-aliasing -Wno-int-to-pointer-cast -Wno-cpp -fPIC -fvisibility=hidden -c -o build/x86_64-gpp-x86_64-sse2/serializer.o src/serializer.cpp
/usr/bin/g++ -I/usr/include -I./lib -I./src -D JS80P_VERSION_STR=v3.1.0 -D JS80P_VERSION_INT=310 -D JS80P_TARGET_PLATFORM=x86_64-gpp -D JS80P_INSTRUCTION_SET=sse2 -Wall -Werror -ffast-math -O3 -std=c++17 -msse2 -m64 -Wno-strict-aliasing -Wno-int-to-pointer-cast -Wno-cpp -fPIC -fvisibility=hidden -c -o build/x86_64-gpp-x86_64-sse2/synth.o src/synth.cpp
In file included from src/synth.cpp:54:
In member function ‘JS80P::Integer JS80P::SignalProducer::get_channels() const’,
inlined from ‘JS80P::Filter<InputSignalProducerClass>::Filter(InputSignalProducerClass&, JS80P::Integer, JS80P::Integer, JS80P::SignalProducer*) [with InputSignalProducerClass = JS80P::BiquadFilter<JS80P::Distortion::Distortion<JS80P::Delay<JS80P::BiquadFilter<JS80P::Gain<JS80P::Chorus<JS80P::Gain<JS80P::BiquadFilter<JS80P::BiquadFilter<JS80P::Distortion::Distortion<JS80P::Distortion::Distortion<JS80P::Gain<JS80P::Synth::Bus> > > > > > > > > > > >]’ at src/dsp/filter.cpp:36:53,
inlined from ‘JS80P::PannedDelay<InputSignalProducerClass, FilterInputClass>::PannedDelay(InputSignalProducerClass&, FilterInputClass&, JS80P::PannedDelayStereoMode, JS80P::FloatParamS&, JS80P::FloatParamS&, JS80P::FloatParamS&, const JS80P::ToggleParam*, JS80P::Integer) [with InputSignalProducerClass = JS80P::BiquadFilter<JS80P::Gain<JS80P::Chorus<JS80P::Gain<JS80P::BiquadFilter<JS80P::BiquadFilter<JS80P::Distortion::Distortion<JS80P::Distortion::Distortion<JS80P::Gain<JS80P::Synth::Bus> > > > > > > > >; FilterInputClass = JS80P::BiquadFilter<JS80P::Distortion::Distortion<JS80P::Delay<JS80P::BiquadFilter<JS80P::Gain<JS80P::Chorus<JS80P::Gain<JS80P::BiquadFilter<JS80P::BiquadFilter<JS80P::Distortion::Distortion<JS80P::Distortion::Distortion<JS80P::Gain<JS80P::Synth::Bus> > > > > > > > > > > >]’ at src/dsp/delay.cpp:824:72,
inlined from ‘JS80P::DistortedHighShelfPannedDelay<InputSignalProducerClass>::DistortedHighShelfPannedDelay(InputSignalProducerClass&, JS80P::PannedDelayStereoMode, JS80P::FloatParamS&, JS80P::FloatParamS&, JS80P::FloatParamS&, JS80P::BiquadFilterSharedBuffers&, JS80P::FloatParamS&, JS80P::FloatParamS&, JS80P::FloatParamS&, const JS80P::Distortion::TypeParam&, const JS80P::ToggleParam*) [with InputSignalProducerClass = JS80P::BiquadFilter<JS80P::Gain<JS80P::Chorus<JS80P::Gain<JS80P::BiquadFilter<JS80P::BiquadFilter<JS80P::Distortion::Distortion<JS80P::Distortion::Distortion<JS80P::Gain<JS80P::Synth::Bus> > > > > > > > >]’ at src/dsp/delay.cpp:1136:5:
src/dsp/signal_producer.cpp:228:12: error: ‘((const JS80P::SignalProducer*)((char*)this + 152))[19].JS80P::SignalProducer::channels’ may be used uninitialized [-Werror=maybe-uninitialized]
228 | return channels;
| ^~~~~~~~
In member function ‘JS80P::Integer JS80P::SignalProducer::get_channels() const’,
inlined from ‘JS80P::Filter<InputSignalProducerClass>::Filter(InputSignalProducerClass&, JS80P::Integer, JS80P::Integer, JS80P::SignalProducer*) [with InputSignalProducerClass = JS80P::BiquadFilter<JS80P::Distortion::Distortion<JS80P::Delay<JS80P::BiquadFilter<JS80P::Distortion::Distortion<JS80P::Delay<JS80P::BiquadFilter<JS80P::Gain<JS80P::Chorus<JS80P::Gain<JS80P::BiquadFilter<JS80P::BiquadFilter<JS80P::Distortion::Distortion<JS80P::Distortion::Distortion<JS80P::Gain<JS80P::Synth::Bus> > > > > > > > > > > > > > >]’ at src/dsp/filter.cpp:36:53,
inlined from ‘JS80P::PannedDelay<InputSignalProducerClass, FilterInputClass>::PannedDelay(InputSignalProducerClass&, FilterInputClass&, JS80P::PannedDelayStereoMode, JS80P::FloatParamS&, JS80P::FloatParamS&, JS80P::FloatParamS&, const JS80P::ToggleParam*, JS80P::Integer) [with InputSignalProducerClass = JS80P::BiquadFilter<JS80P::Distortion::Distortion<JS80P::Delay<JS80P::BiquadFilter<JS80P::Gain<JS80P::Chorus<JS80P::Gain<JS80P::BiquadFilter<JS80P::BiquadFilter<JS80P::Distortion::Distortion<JS80P::Distortion::Distortion<JS80P::Gain<JS80P::Synth::Bus> > > > > > > > > > > >; FilterInputClass = JS80P::BiquadFilter<JS80P::Distortion::Distortion<JS80P::Delay<JS80P::BiquadFilter<JS80P::Distortion::Distortion<JS80P::Delay<JS80P::BiquadFilter<JS80P::Gain<JS80P::Chorus<JS80P::Gain<JS80P::BiquadFilter<JS80P::BiquadFilter<JS80P::Distortion::Distortion<JS80P::Distortion::Distortion<JS80P::Gain<JS80P::Synth::Bus> > > > > > > > > > > > > > >]’ at src/dsp/delay.cpp:824:72,
inlined from ‘JS80P::DistortedHighShelfPannedDelay<InputSignalProducerClass>::DistortedHighShelfPannedDelay(InputSignalProducerClass&, JS80P::PannedDelayStereoMode, JS80P::FloatParamS&, JS80P::FloatParamS&, JS80P::FloatParamS&, JS80P::BiquadFilterSharedBuffers&, JS80P::FloatParamS&, JS80P::FloatParamS&, JS80P::FloatParamS&, const JS80P::Distortion::TypeParam&, const JS80P::ToggleParam*) [with InputSignalProducerClass = JS80P::BiquadFilter<JS80P::Distortion::Distortion<JS80P::Delay<JS80P::BiquadFilter<JS80P::Gain<JS80P::Chorus<JS80P::Gain<JS80P::BiquadFilter<JS80P::BiquadFilter<JS80P::Distortion::Distortion<JS80P::Distortion::Distortion<JS80P::Gain<JS80P::Synth::Bus> > > > > > > > > > > >]’ at src/dsp/delay.cpp:1136:5:
src/dsp/signal_producer.cpp:228:12: error: ‘((const JS80P::SignalProducer*)((char*)this + 152))[19].JS80P::SignalProducer::channels’ may be used uninitialized [-Werror=maybe-uninitialized]
228 | return channels;
| ^~~~~~~~
In member function ‘JS80P::Integer JS80P::SignalProducer::get_channels() const’,
inlined from ‘JS80P::Filter<InputSignalProducerClass>::Filter(InputSignalProducerClass&, JS80P::Integer, JS80P::Integer, JS80P::SignalProducer*) [with InputSignalProducerClass = JS80P::BiquadFilter<JS80P::Distortion::Distortion<JS80P::Delay<JS80P::BiquadFilter<JS80P::Echo<JS80P::Chorus<JS80P::Gain<JS80P::BiquadFilter<JS80P::BiquadFilter<JS80P::Distortion::Distortion<JS80P::Distortion::Distortion<JS80P::Gain<JS80P::Synth::Bus> > > > > > > > > > > >]’ at src/dsp/filter.cpp:36:53,
inlined from ‘JS80P::PannedDelay<InputSignalProducerClass, FilterInputClass>::PannedDelay(InputSignalProducerClass&, FilterInputClass&, JS80P::PannedDelayStereoMode, JS80P::FloatParamS&, JS80P::FloatParamS&, JS80P::Seconds, JS80P::Seconds, const JS80P::ToggleParam*, JS80P::Integer) [with InputSignalProducerClass = JS80P::BiquadFilter<JS80P::Echo<JS80P::Chorus<JS80P::Gain<JS80P::BiquadFilter<JS80P::BiquadFilter<JS80P::Distortion::Distortion<JS80P::Distortion::Distortion<JS80P::Gain<JS80P::Synth::Bus> > > > > > > > >; FilterInputClass = JS80P::BiquadFilter<JS80P::Distortion::Distortion<JS80P::Delay<JS80P::BiquadFilter<JS80P::Echo<JS80P::Chorus<JS80P::Gain<JS80P::BiquadFilter<JS80P::BiquadFilter<JS80P::Distortion::Distortion<JS80P::Distortion::Distortion<JS80P::Gain<JS80P::Synth::Bus> > > > > > > > > > > >]’ at src/dsp/delay.cpp:849:81,
inlined from ‘JS80P::DistortedHighShelfPannedDelay<InputSignalProducerClass>::DistortedHighShelfPannedDelay(InputSignalProducerClass&, JS80P::PannedDelayStereoMode, JS80P::FloatParamS&, JS80P::FloatParamS&, JS80P::Seconds, JS80P::Seconds, JS80P::BiquadFilterSharedBuffers&, JS80P::FloatParamS&, JS80P::FloatParamS&, JS80P::FloatParamS&, const JS80P::Distortion::TypeParam&, const JS80P::ToggleParam*) [with InputSignalProducerClass = JS80P::BiquadFilter<JS80P::Echo<JS80P::Chorus<JS80P::Gain<JS80P::BiquadFilter<JS80P::BiquadFilter<JS80P::Distortion::Distortion<JS80P::Distortion::Distortion<JS80P::Gain<JS80P::Synth::Bus> > > > > > > > >]’ at src/dsp/delay.cpp:1192:5:
src/dsp/signal_producer.cpp:228:12: error: ‘((const JS80P::SignalProducer*)((char*)this + 152))[19].JS80P::SignalProducer::channels’ may be used uninitialized [-Werror=maybe-uninitialized]
228 | return channels;
| ^~~~~~~~
In member function ‘JS80P::Integer JS80P::SignalProducer::get_channels() const’,
inlined from ‘JS80P::Filter<InputSignalProducerClass>::Filter(InputSignalProducerClass&, JS80P::Integer, JS80P::Integer, JS80P::SignalProducer*) [with InputSignalProducerClass = JS80P::Gain<JS80P::Reverb<JS80P::Echo<JS80P::Chorus<JS80P::Gain<JS80P::BiquadFilter<JS80P::BiquadFilter<JS80P::Distortion::Distortion<JS80P::Distortion::Distortion<JS80P::Gain<JS80P::Synth::Bus> > > > > > > > > >]’ at src/dsp/filter.cpp:36:53,
inlined from ‘JS80P::Effects::Effects<InputSignalProducerClass>::Effects(const std::string&, InputSignalProducerClass&, JS80P::BiquadFilterSharedBuffers&, JS80P::BiquadFilterSharedBuffers&) [with InputSignalProducerClass = JS80P::Synth::Bus]’ at src/dsp/effects.cpp:75:35:
src/dsp/signal_producer.cpp:228:12: error: ‘((const JS80P::SignalProducer*)((char*)this + 128))[1064].JS80P::SignalProducer::channels’ may be used uninitialized [-Werror=maybe-uninitialized]
228 | return channels;
| ^~~~~~~~
cc1plus: all warnings being treated as errors
make: *** [Makefile:533: build/x86_64-gpp-x86_64-sse2/synth.o] Error 1
attilammagyar commented
Thanks! It looks like newer GCC versions don't want to let me get away that easily with a pinky promise to initialize the number of channels in those constructors.
ETA of v3.1.1: 1-2 days
grawlinson commented
Awesome, thanks for the quick fix! I’ll check it out after work & deploy the package. :)
attilammagyar commented
Thank you for letting me know the problem, and also thank you for making the project available for Arch Linux users.