momentarylapse / tsunami Goto Github PK
View Code? Open in Web Editor NEWA simple but powerful audio editor
License: GNU General Public License v3.0
A simple but powerful audio editor
License: GNU General Public License v3.0
I'm on Manjaro Linux x86_64 (6.4.6-3-rt8-MANJARO) and compilation of tsunami went without errors and warnings. at starting there are errors:
----------------------------- Error! -----------------------------
failed opening file '/home/oliver/src/dsp/tsunami/build/static/hui_resources.txt'
------------------------------------------------------------------
----------------------------- Error! -----------------------------
HuiSetLanguage: language not found: English
------------------------------------------------------------------
Tsunami 0.7.114.0 "absolute 2er0"
...don't worry. Everything will be fine!
audio library selected: pulseaudio
midi library selected: alsa
----------------------------- Error! -----------------------------
hui resource not found: header-save-menu
------------------------------------------------------------------
----------------------------- Error! -----------------------------
CreateResourceMenu (id=header-save-menu) m(-_-)m
------------------------------------------------------------------
terminate called after throwing an instance of 'Exception'
Abgebrochen (Speicherabzug geschrieben)
any obvious way to fix? thank you!
Is there a file that functions as a roadmap showing what the planned trajectory of Tsunami will be ?
Tsunami is using gtk as the user interface library (well, a thick wrapper called hui
"heroic user interface") and I want to upgrade from gtk3 to gtk4.
Why?
vcpkg
to manage libraries, which makes using old libraries a painWhat is still missing?
I've already worked through most of the upgrade. Had to change a lot, because they removed some older interfaces. The few remaining (important) things are:
The build on F37 / 36 went fine for x86_64 but fail for aarch64 on F37:
[ 25%] Building CXX object CMakeFiles/tsunami.dir/src/lib/base/pointer.cpp.o
/usr/bin/g++ -DHAS_LIB_ALSA=1 -DHAS_LIB_DL=1 -DHAS_LIB_FFTW3=1 -DHAS_LIB_FLAC=1 -DHAS_LIB_GL=1 -DHAS_LIB_GTK4=1 -DHAS_LIB_OGG=1 -DHAS_LIB_PORTAUDIO=1 -DHAS_LIB_PULSEAUDIO=1 -DHAS_LIB_UNWIND=1 -DHAS_LIB_ZLIB=1 -DINSTALL_PREFIX=\"/usr\" -D_REENTRANT -I/usr/include/gtk-4.0 -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/sysprof-4 -I/usr/include/harfbuzz -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/fribidi -I/usr/include/libxml2 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/graphene-1.0 -I/usr/lib64/graphene-1.0/include -I/usr/include/gio-unix-2.0 -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -g -pthread -pthread -std=gnu++17 -MD -MT CMakeFiles/tsunami.dir/src/lib/base/pointer.cpp.o -MF CMakeFiles/tsunami.dir/src/lib/base/pointer.cpp.o.d -o CMakeFiles/tsunami.dir/src/lib/base/pointer.cpp.o -c /builddir/build/BUILD/tsunami-57999be98a2bc707bb8db83914f20215afee185e/src/lib/base/pointer.cpp
/builddir/build/BUILD/tsunami-57999be98a2bc707bb8db83914f20215afee185e/src/lib/base/array.cpp: In member function 'int DynamicArray::simple_index(const void*) const':
/builddir/build/BUILD/tsunami-57999be98a2bc707bb8db83914f20215afee185e/src/lib/base/array.cpp:232:17: error: cast from 'const void*' to 'int_p' {aka 'int'} loses precision [-fpermissive]
232 | return ((int_p)p - (int_p)data) / element_size;
| ^~~~~~~~
/builddir/build/BUILD/tsunami-57999be98a2bc707bb8db83914f20215afee185e/src/lib/base/array.cpp:232:28: error: cast from 'void*' to 'int_p' {aka 'int'} loses precision [-fpermissive]
232 | return ((int_p)p - (int_p)data) / element_size;
| ^~~~~~~~~~~
Something does not work here, at least with gcc
and gtk4
:
In file included from /opt/local/lib/gcc13/gcc/powerpc-apple-darwin10/13.2.0/include-fixed/math.h:35,
from /opt/local/include/gcc13/c++/cmath:47,
from /opt/local/include/gcc13/c++/math.h:36,
from /opt/local/include/graphene-1.0/graphene-simd4f.h:34,
from /opt/local/include/graphene-1.0/graphene.h:37,
from /opt/local/include/gtk-4.0/gsk/gsktypes.h:24,
from /opt/local/include/gtk-4.0/gsk/gskrenderer.h:25,
from /opt/local/include/gtk-4.0/gsk/gsk.h:23,
from /opt/local/include/gtk-4.0/gtk/gtk.h:31,
from /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_tsunami/tsunami/work/tsunami-0.7.114/src/command/../storage/../lib/hui/common.h:42,
from /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_tsunami/tsunami/work/tsunami-0.7.114/src/command/../storage/../lib/hui/hui.h:15,
from /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_tsunami/tsunami/work/tsunami-0.7.114/src/command/../storage/Storage.h:12,
from /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_tsunami/tsunami/work/tsunami-0.7.114/src/command/Unsorted.cpp:13:
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_tsunami/tsunami/work/tsunami-0.7.114/src/command/../storage/../lib/hui/common.h:113:9: error: expected identifier before '(' token
113 | HUGE,
| ^~~~
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_tsunami/tsunami/work/tsunami-0.7.114/src/command/../storage/../lib/hui/common.h:113:9: error: expected '}' before '(' token
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_tsunami/tsunami/work/tsunami-0.7.114/src/command/../storage/../lib/hui/common.h:109:15: note: to match this '{'
109 | enum IconSize {
| ^
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_tsunami/tsunami/work/tsunami-0.7.114/src/command/../storage/../lib/hui/common.h:113:9: error: expected unqualified-id before 'float'
113 | HUGE,
| ^~~~
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_tsunami/tsunami/work/tsunami-0.7.114/src/command/../storage/../lib/hui/common.h:113:9: error: expected ')' before 'float'
113 | HUGE,
| ^~~~
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_tsunami/tsunami/work/tsunami-0.7.114/src/command/../storage/../lib/hui/common.h:113:9: error: expected ')' before 'float'
113 | HUGE,
| ^~~~
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_tsunami/tsunami/work/tsunami-0.7.114/src/command/../storage/../lib/hui/common.h:118:1: error: expected declaration before '}' token
118 | }
| ^
In file included from /opt/local/lib/gcc13/gcc/powerpc-apple-darwin10/13.2.0/include-fixed/math.h:35,
from /opt/local/include/gcc13/c++/cmath:47,
from /opt/local/include/gcc13/c++/math.h:36,
from /opt/local/include/graphene-1.0/graphene-simd4f.h:34,
from /opt/local/include/graphene-1.0/graphene.h:37,
from /opt/local/include/gtk-4.0/gsk/gsktypes.h:24,
from /opt/local/include/gtk-4.0/gsk/gskrenderer.h:25,
from /opt/local/include/gtk-4.0/gsk/gsk.h:23,
from /opt/local/include/gtk-4.0/gtk/gtk.h:31,
from /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_tsunami/tsunami/work/tsunami-0.7.114/src/command/song/../../storage/../lib/hui/common.h:42,
from /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_tsunami/tsunami/work/tsunami-0.7.114/src/command/song/../../storage/../lib/hui/hui.h:15,
from /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_tsunami/tsunami/work/tsunami-0.7.114/src/command/song/../../storage/Storage.h:12,
from /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_tsunami/tsunami/work/tsunami-0.7.114/src/command/song/Export.cpp:12:
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_tsunami/tsunami/work/tsunami-0.7.114/src/command/song/../../storage/../lib/hui/common.h:113:9: error: expected identifier before '(' token
113 | HUGE,
| ^~~~
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_tsunami/tsunami/work/tsunami-0.7.114/src/command/song/../../storage/../lib/hui/common.h:113:9: error: expected '}' before '(' token
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_tsunami/tsunami/work/tsunami-0.7.114/src/command/song/../../storage/../lib/hui/common.h:109:15: note: to match this '{'
109 | enum IconSize {
| ^
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_tsunami/tsunami/work/tsunami-0.7.114/src/command/song/../../storage/../lib/hui/common.h:113:9: error: expected unqualified-id before 'float'
113 | HUGE,
| ^~~~
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_tsunami/tsunami/work/tsunami-0.7.114/src/command/song/../../storage/../lib/hui/common.h:113:9: error: expected ')' before 'float'
113 | HUGE,
| ^~~~
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_tsunami/tsunami/work/tsunami-0.7.114/src/command/song/../../storage/../lib/hui/common.h:113:9: error: expected ')' before 'float'
113 | HUGE,
| ^~~~
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_tsunami/tsunami/work/tsunami-0.7.114/src/command/song/../../storage/../lib/hui/common.h:118:1: error: expected declaration before '}' token
118 | }
| ^
make[2]: *** [CMakeFiles/tsunami.dir/src/command/Unsorted.cpp.o] Error 1
Reading symbols from /opt/tsunami/bin/tsunami...
(gdb) run
Starting program: /opt/tsunami/bin/tsunami
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
terminate called after throwing an instance of 'FileError'
Program received signal SIGABRT, Aborted.
__GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
50 ../sysdeps/unix/sysv/linux/raise.c: Нет такого файла или каталога.
(gdb) bt
#0 0x00007ffff67a83eb in __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
#1 0x00007ffff6787899 in __GI_abort () at abort.c:79
#2 0x00007ffff6b655f6 in () at /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#3 0x00007ffff6b719ec in () at /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#4 0x00007ffff6b71a47 in () at /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#5 0x00007ffff6b71ca9 in () at /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#6 0x00005555555a0bb2 in FileCreateText(string const&) (filename=...) at ../src/lib/file/../base/base.h:58
#7 0x000055555562cea4 in msg_init(string const&, bool) (force_filename=..., verbose=true) at ../src/lib/file/msg.cpp:63
#8 0x000055555562cea4 in msg_init(string const&, bool) (force_filename=..., verbose=verbose@entry=true) at ../src/lib/file/msg.cpp:53
#9 0x000055555564126c in hui::Application::Application(string const&, string const&, int) (this=<optimized out>, app_name=..., def_lang=..., flags=1)
at ../src/lib/hui/../base/strings.h:82
#10 0x0000555555844c03 in Tsunami::Tsunami() (this=0x555555969630) at ../src/Tsunami.cpp:44
#11 0x000055555584791a in hui_main(Array<string> const&) (arg=...) at ../src/Tsunami.cpp:250
#12 0x00005555555d7158 in main(int, char**) (NumArgs=<optimized out>, Args=<optimized out>) at ../src/lib/hui/hui.cpp:127
(gdb)
Program crashes when closing any dialog with the [Esc] key.
Only the legacy version, built with gtk3
is affected, not the default gtk4
version!
Hi!
I've tried to play some midi, but tsunami crashes:
Add midi track
Open track prefs
Select the synth -> replace->choose any not Dummy
openSUSE TW, gtk 3.24.27
here is the backtrace:
Thread 1 "tsunami" received signal SIGSEGV, Segmentation fault.
gtk_css_gadget_set_state (state=GTK_STATE_FLAG_DIR_LTR, gadget=0x0) at gtkcssgadget.c:413
Downloading source file /usr/src/debug/gtk3-3.24.27-1.1.x86_64/gtk/gtkcssgadget.c...
413 gtk_css_node_set_state (priv->node, state);
(gdb) bt
#0 gtk_css_gadget_set_state (state=GTK_STATE_FLAG_DIR_LTR, gadget=0x0) at gtkcssgadget.c:413
#1 gtk_switch_state_flags_changed (widget=0x266c880 [GtkSwitch], previous_state_flags=(GTK_STATE_FLAG_BACKDROP | GTK_STATE_FLAG_DIR_LTR)) at gtkswitch.c:633
#2 0x00007ffff715590c in g_cclosure_marshal_VOID__UINTv (closure=<optimized out>, return_value=<optimized out>, instance=<optimized out>, args=<optimized out>, marshal_data=<optimized out>, n_params=<optimized out>, param_types=0xc178a0) at ../gobject/gmarshal.c:704
#3 0x00007ffff71532ee in _g_closure_invoke_va (closure=closure@entry=0xc19730, return_value=return_value@entry=0x0, instance=instance@entry=0x266c880, args=args@entry=0x7fffffffccf0, n_params=1, param_types=0xc178a0) at ../gobject/gclosure.c:873
#4 0x00007ffff716bac9 in g_signal_emit_valist (instance=0x266c880, signal_id=<optimized out>, detail=0, var_args=var_args@entry=0x7fffffffccf0) at ../gobject/gsignal.c:3404
#5 0x00007ffff716c03f in g_signal_emit (instance=instance@entry=0x266c880, signal_id=<optimized out>, detail=detail@entry=0) at ../gobject/gsignal.c:3551
#6 0x00007ffff7af418b in gtk_widget_propagate_state (widget=0x266c880 [GtkSwitch], data=0x7fffffffce4c) at gtkwidget.c:12932
#7 0x00007ffff7af4577 in gtk_widget_update_state_flags (widget=0x266c880 [GtkSwitch], flags_to_set=<optimized out>, flags_to_unset=<optimized out>) at gtkwidget.c:8872
#8 0x00007ffff7aea023 in gtk_widget_unparent (widget=0x266c880 [GtkSwitch]) at gtkwidget.c:4703
#9 0x00007ffff7959930 in gtk_grid_remove (container=0x23792b0 [GtkGrid], child=<optimized out>) at gtkgrid.c:509
#10 0x00007ffff715664d in g_cclosure_marshal_VOID__OBJECTv (closure=0xc3b760, return_value=<optimized out>, instance=<optimized out>, args=<optimized out>, marshal_data=<optimized out>, n_params=<optimized out>, param_types=0xc3b790) at ../gobject/gmarshal.c:1910
#11 0x00007ffff71532ee in _g_closure_invoke_va (closure=closure@entry=0xc3b760, return_value=return_value@entry=0x0, instance=instance@entry=0x23792b0, args=args@entry=0x7fffffffd130, n_params=1, param_types=0xc3b790) at ../gobject/gclosure.c:873
#12 0x00007ffff716bac9 in g_signal_emit_valist (instance=0x23792b0, signal_id=<optimized out>, detail=0, var_args=var_args@entry=0x7fffffffd130) at ../gobject/gsignal.c:3404
#13 0x00007ffff716c03f in g_signal_emit (instance=instance@entry=0x23792b0, signal_id=<optimized out>, detail=detail@entry=0) at ../gobject/gsignal.c:3551
#14 0x00007ffff78c511d in gtk_container_remove (container=0x23792b0 [GtkGrid], widget=0x266c880 [GtkSwitch]) at gtkcontainer.c:1906
#15 0x00007ffff7af3534 in gtk_widget_dispose (object=0x266c880 [GtkSwitch]) at gtkwidget.c:12151
#16 0x00007ffff715972e in g_object_run_dispose (object=0x266c880 [GtkSwitch]) at ../gobject/gobject.c:1226
#17 0x00007ffff7ae35e9 in gtk_widget_destroy (widget=<optimized out>) at gtkwidget.c:4776
#18 0x00000000004b0ac9 in hui::Control::~Control() (this=0x2597b60, __in_chrg=<optimized out>) at lib/hui/Controls/Control.cpp:102
#19 0x00000000004b3e99 in hui::ControlCheckBox::~ControlCheckBox() (this=0x2597b60, __in_chrg=<optimized out>) at lib/hui/Controls/ControlCheckBox.h:17
#20 hui::ControlCheckBox::~ControlCheckBox() (this=0x2597b60, __in_chrg=<optimized out>) at lib/hui/Controls/ControlCheckBox.h:17
#21 0x00000000004b0afa in hui::Control::~Control() (this=0x25f0740, __in_chrg=<optimized out>) at lib/hui/Controls/Control.cpp:95
#22 0x00000000004b77d9 in hui::ControlGrid::~ControlGrid() (this=0x25f0740, __in_chrg=<optimized out>) at lib/hui/Controls/ControlGrid.h:16
#23 hui::ControlGrid::~ControlGrid() (this=0x25f0740, __in_chrg=<optimized out>) at lib/hui/Controls/ControlGrid.h:16
#24 0x00000000004b0afa in hui::Control::~Control() (this=0x246f580, __in_chrg=<optimized out>) at lib/hui/Controls/Control.cpp:95
#25 0x00000000004b77d9 in hui::ControlGrid::~ControlGrid() (this=0x246f580, __in_chrg=<optimized out>) at lib/hui/Controls/ControlGrid.h:16
#26 hui::ControlGrid::~ControlGrid() (this=0x246f580, __in_chrg=<optimized out>) at lib/hui/Controls/ControlGrid.h:16
#27 0x00000000004cf0d0 in hui::Panel::_ClearPanel_() (this=this@entry=0x2675c40) at lib/hui/Panel.cpp:74
#28 0x00000000004cf13c in hui::Panel::~Panel() (this=0x2675c40, __in_chrg=<optimized out>) at lib/hui/Panel.cpp:35
#29 0x0000000000682212 in ModulePanel::~ModulePanel() (this=0x2675c40, __in_chrg=<optimized out>) at View/Helper/ModulePanel.cpp:95
#30 0x00000000006b5382 in TrackConsole::load_data() (this=0x142dc00) at View/SideBar/TrackConsole.cpp:91
#31 0x0000000000637867 in std::function<void ()>::operator()() const (this=0x2597e60) at /usr/include/c++/10/bits/std_function.h:622
#32 ObservableData::notify_send() (this=0x2313a78) at Stuff/Observable.cpp:171
#33 0x000000000046f866 in Observable<VirtualBase>::notify(string const&) const (message=<optimized out>, this=<optimized out>) at Action/Track/Synthesizer/../../../Data/../Stuff/Observable.h:79
#34 ActionTrackSetSynthesizer::execute(Data*) (this=0x26e6fe0, d=<optimized out>) at Action/Track/Synthesizer/ActionTrackSetSynthesizer.cpp:26
#35 0x0000000000471a2d in ActionManager::execute(Action*) (this=0xa48070, a=0x26e6fe0) at Action/ActionManager.cpp:90
#36 0x000000000049339f in Track::set_synthesizer(Synthesizer*) (this=0x2313a70, _synth=0x2691800) at Data/Track.cpp:253
#37 0x00000000006b4069 in operator() (__closure=0x23d11b0) at View/SideBar/TrackConsole.cpp:35
#38 std::__invoke_impl<void, create_synth_panel(Track*, Session*, hui::Window*)::<lambda()>&> (__f=...) at /usr/include/c++/10/bits/invoke.h:60
#39 std::__invoke_r<void, create_synth_panel(Track*, Session*, hui::Window*)::<lambda()>&> (__fn=...) at /usr/include/c++/10/bits/invoke.h:153
#40 std::_Function_handler<void(), create_synth_panel(Track*, Session*, hui::Window*)::<lambda()> >::_M_invoke(const std::_Any_data &) (__functor=<optimized out>) at /usr/include/c++/10/bits/std_function.h:291
#41 0x00000000004c1666 in std::function<void ()>::operator()() const (this=0x26f21a0) at /usr/include/c++/10/bits/std_function.h:248
#42 hui::GtkRunLaterFunction(void*) (data=data@entry=0x26f21a0) at lib/hui/Callback.cpp:90
#43 0x00007ffff7061abd in g_timeout_dispatch (source=source@entry=0x2246c10, callback=0x4c1650 <hui::GtkRunLaterFunction(void*)>, user_data=0x26f21a0) at ../glib/gmain.c:4877
#44 0x00007ffff7060f57 in g_main_dispatch (context=0x8b2230) at ../glib/gmain.c:3325
#45 g_main_context_dispatch (context=0x8b2230) at ../glib/gmain.c:4043
#46 0x00007ffff70612d8 in g_main_context_iterate (context=0x8b2230, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/gmain.c:4119
#47 0x00007ffff70615cb in g_main_loop_run (loop=loop@entry=0xa20a80) at ../glib/gmain.c:4317
#48 0x00007ffff799b08d in gtk_main () at gtkmain.c:1329
#49 0x00000000004c0432 in hui::Application::run() (this=this@entry=0x807240) at lib/hui/Application.cpp:150
#50 0x00000000006d6958 in hui_main(Array<string> const&) (arg=...) at Tsunami.cpp:298
#51 0x0000000000456bc1 in main(int, char**) (NumArgs=<optimized out>, Args=<optimized out>) at lib/hui/hui.cpp:126```
Sometimes (very irregularly), after recording or playback in a loop, pulseaudio starts complaining about buffer underruns. Then, more and more slow-down manifests, until the program is unusable or crashes.
Two main theories:
This issue has been around for a long time. I just want to migrate from my internal bug tracker into the public space, giving more pressure...
Lets setup Travis CI for auto-build AppImage (portable package for Linux) for each commit:
../blob/master/.travis.yml
For example, take a look on LeoCAD .travis.yml
implementation:
And here is how resulted builds would look like:
For any support:
Some absolute pathes are hardcoded in some code. So, if you set and installation path via --prefix the program doesn't work:
I'm building latest master e0ac02a of tsunami as an rpm package on Fedora 37, gcc 12.2.1.
The rpm macros in Fedora include this compiler flag -Werror=format-security
by default, which causes the build to fail.
I can just unset it with -Wno-error=format-security
and build successfully, so it's not a problem for me as a user.
However I don't know how serious these warnings actually are (in the context of tsunami) and if it's something you'd want to fix, so I'm letting you know. If it's harmless then the issue can be closed.
Here is Fedora's documentation on the subject. Debian and Ubuntu also set it by default.
Here is the relevant part of the build log, the last 2 steps before failing:
[ 79%] Building CXX object CMakeFiles/tsunami.dir/src/view/audioview/graph/LayerHeader.cpp.o
/usr/bin/g++ -DHAS_LIB_ALSA=1 -DHAS_LIB_DL=1 -DHAS_LIB_FFTW3=1 -DHAS_LIB_FLAC=1 -DHAS_LIB_GL=1 -DHAS_LIB_GTK4=1 -DHAS_LIB_OGG=1 -DHAS_LIB_PORTAUDIO=1 -DHAS_LIB_PULSEAUDIO=1 -DHAS_LIB_UNWIND=1 -DHAS_LIB_ZLIB=1 -DINSTALL_PREFIX=\"/usr\" -D_REENTRANT -I/usr/include/gtk-4.0 -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/sysprof-4 -I/usr/include/harfbuzz -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/fribidi -I/usr/include/libxml2 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/graphene-1.0 -I/usr/lib64/graphene-1.0/include -I/usr/include/gio-unix-2.0 -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -g -mfpmath=sse -msse -msse2 -pthread -pthread -std=gnu++17 -MD -MT CMakeFiles/tsunami.dir/src/view/audioview/graph/LayerHeader.cpp.o -MF CMakeFiles/tsunami.dir/src/view/audioview/graph/LayerHeader.cpp.o.d -o CMakeFiles/tsunami.dir/src/view/audioview/graph/LayerHeader.cpp.o -c /builddir/build/BUILD/tsunami-e0ac02a20021fcd56a3c0927b23f945e2f6aed87/src/view/audioview/graph/LayerHeader.cpp
/builddir/build/BUILD/tsunami-e0ac02a20021fcd56a3c0927b23f945e2f6aed87/src/test/UnitTest.cpp: In member function 'void UnitTest::run(const string&, TestProtocoll&)':
/builddir/build/BUILD/tsunami-e0ac02a20021fcd56a3c0927b23f945e2f6aed87/src/test/UnitTest.cpp:52:31: error: format not a string literal and no format arguments [-Werror=format-security]
52 | printf(os::terminal::RED.c_str());
| ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
/builddir/build/BUILD/tsunami-e0ac02a20021fcd56a3c0927b23f945e2f6aed87/src/test/UnitTest.cpp:55:31: error: format not a string literal and no format arguments [-Werror=format-security]
55 | printf(os::terminal::END.c_str());
| ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
/builddir/build/BUILD/tsunami-e0ac02a20021fcd56a3c0927b23f945e2f6aed87/src/test/UnitTest.cpp: In static member function 'static void UnitTest::run_all(const string&)':
/builddir/build/BUILD/tsunami-e0ac02a20021fcd56a3c0927b23f945e2f6aed87/src/test/UnitTest.cpp:194:23: error: format not a string literal and no format arguments [-Werror=format-security]
194 | printf(os::terminal::RED.c_str());
| ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
/builddir/build/BUILD/tsunami-e0ac02a20021fcd56a3c0927b23f945e2f6aed87/src/test/UnitTest.cpp:196:23: error: format not a string literal and no format arguments [-Werror=format-security]
196 | printf(os::terminal::END.c_str());
| ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
/builddir/build/BUILD/tsunami-e0ac02a20021fcd56a3c0927b23f945e2f6aed87/src/test/UnitTest.cpp:198:23: error: format not a string literal and no format arguments [-Werror=format-security]
198 | printf(os::terminal::GREEN.c_str());
| ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/builddir/build/BUILD/tsunami-e0ac02a20021fcd56a3c0927b23f945e2f6aed87/src/test/UnitTest.cpp:202:23: error: format not a string literal and no format arguments [-Werror=format-security]
202 | printf(os::terminal::END.c_str());
| ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
[ 79%] Building CXX object CMakeFiles/tsunami.dir/src/view/audioview/graph/TimeScale.cpp.o
/usr/bin/g++ -DHAS_LIB_ALSA=1 -DHAS_LIB_DL=1 -DHAS_LIB_FFTW3=1 -DHAS_LIB_FLAC=1 -DHAS_LIB_GL=1 -DHAS_LIB_GTK4=1 -DHAS_LIB_OGG=1 -DHAS_LIB_PORTAUDIO=1 -DHAS_LIB_PULSEAUDIO=1 -DHAS_LIB_UNWIND=1 -DHAS_LIB_ZLIB=1 -DINSTALL_PREFIX=\"/usr\" -D_REENTRANT -I/usr/include/gtk-4.0 -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/sysprof-4 -I/usr/include/harfbuzz -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/fribidi -I/usr/include/libxml2 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/graphene-1.0 -I/usr/lib64/graphene-1.0/include -I/usr/include/gio-unix-2.0 -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -g -mfpmath=sse -msse -msse2 -pthread -pthread -std=gnu++17 -MD -MT CMakeFiles/tsunami.dir/src/view/audioview/graph/TimeScale.cpp.o -MF CMakeFiles/tsunami.dir/src/view/audioview/graph/TimeScale.cpp.o.d -o CMakeFiles/tsunami.dir/src/view/audioview/graph/TimeScale.cpp.o -c /builddir/build/BUILD/tsunami-e0ac02a20021fcd56a3c0927b23f945e2f6aed87/src/view/audioview/graph/TimeScale.cpp
cc1plus: some warnings being treated as errors
gmake[2]: *** [CMakeFiles/tsunami.dir/build.make:5315: CMakeFiles/tsunami.dir/src/test/UnitTest.cpp.o] Error 1
gmake[2]: *** Waiting for unfinished jobs....
/builddir/build/BUILD/tsunami-e0ac02a20021fcd56a3c0927b23f945e2f6aed87/src/view/audioview/graph/LayerHeader.cpp: In member function 'virtual void LayerHeader::update_geometry_recursive(const rect&)':
/builddir/build/BUILD/tsunami-e0ac02a20021fcd56a3c0927b23f945e2f6aed87/src/view/audioview/graph/LayerHeader.cpp:157:15: warning: unused variable 'layer' [-Wunused-variable]
157 | auto *layer = vlayer->layer;
| ^~~~~
/builddir/build/BUILD/tsunami-e0ac02a20021fcd56a3c0927b23f945e2f6aed87/src/view/audioview/graph/LayerHeader.cpp: In member function 'virtual void LayerHeader::on_draw(Painter*)':
/builddir/build/BUILD/tsunami-e0ac02a20021fcd56a3c0927b23f945e2f6aed87/src/view/audioview/graph/LayerHeader.cpp:178:15: warning: unused variable 'view' [-Wunused-variable]
178 | auto *view = vlayer->view;
| ^~~~
/builddir/build/BUILD/tsunami-e0ac02a20021fcd56a3c0927b23f945e2f6aed87/src/view/audioview/graph/LayerHeader.cpp:182:15: warning: unused variable 'h' [-Wunused-variable]
182 | float h = area.height();
| ^
gmake[2]: Leaving directory '/builddir/build/BUILD/tsunami-e0ac02a20021fcd56a3c0927b23f945e2f6aed87/redhat-linux-build'
gmake[1]: *** [CMakeFiles/Makefile2:86: CMakeFiles/tsunami.dir/all] Error 2
gmake[1]: Leaving directory '/builddir/build/BUILD/tsunami-e0ac02a20021fcd56a3c0927b23f945e2f6aed87/redhat-linux-build'
gmake: *** [Makefile:139: all] Error 2
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.