kmatheussen / radium

A graphical music editor. A next generation tracker.
http://users.notam02.no/~kjetism/radium/
GNU General Public License v2.0
854 stars 37 forks source link

Error while building (missing <cstdint>) #1407

Closed yohannd1 closed 1 year ago

yohannd1 commented 1 year ago

1. Steps to reproduce the problem.

...

2. Which version of Radium are you using? Do you know if an earlier version has worked?

I am trying to compile radium v7.1.92, and downloaded the source via the releases page on the repo. I'm not sure if earlier versions work differently.

3. If relevant, which operating system did you run Radium on?

Manjaro Linux (Arch Linux related)

kmatheussen commented 1 year ago

Maybe this patch works?

index f951fab12..1ca479eaa 100755
--- a/bin/packages/build.sh
+++ b/bin/packages/build.sh
@@ -69,6 +69,8 @@ build_faust() {
     fi

     patch -p0 < ../faust3.patch
+
+    sed -i '1s/^/#include \<cstdint> /' architecture/faust/dsp/dsp.h

     #cp compiler/generator/libfaust-signal.h architecture/faust/dsp/
     #cp compiler/generator/libfaust-box.h architecture/faust/dsp/
yohannd1 commented 1 year ago

Yes, that helped, thanks! Now I'm having an error further along, but it seems to be silent. Not sure what is going on.

Executing command - gcc -fcommon -O3 -Wall -g -DPD -DVERSION=\"libpd-extended-0.43.3\" -Ipure-data/src/ -DLIBPD -fPIC -I/usr/include/tirpc   -Dsetup=setup_libpd_nbx0x2ec -c externals/vanilla/nbx.c -o externalobjs/nbx.c.o -
externals/vanilla/nbx.c: In function ‘my_numbox_new’:
externals/vanilla/nbx.c:761:10: warning: unused variable ‘str’ [-Wunused-variable]
  761 |     char str[144];
      |          ^~~
externals/vanilla/nbx.c:757:17: warning: unused variable ‘f’ [-Wunused-variable]
  757 |     int lilo=0, f=0, ldx=0, ldy=-8;
      |                 ^
cc -o libs/libpd.so pure-data/src/g_canvas.o pure-data/src/g_graph.o pure-data/src/g_text.o pure-data/src/g_rtext.o pure-data/src/g_array.o pure-data/src/g_template.o pure-data/src/g_io.o pure-data/src/g_scalar.o pure-data/src/g_traversal.o pure-data/src/g_guiconnect.o pure-data/src/g_readwrite.o pure-data/src/g_editor.o pure-data/src/g_all_guis.o pure-data/src/m_pd.o pure-data/src/m_class.o pure-data/src/m_obj.o pure-data/src/m_atom.o pure-data/src/m_memory.o pure-data/src/m_binbuf.o pure-data/src/m_conf_pdextended.o pure-data/src/m_glob.o pure-data/src/m_sched.o pure-data/src/s_main.o pure-data/src/s_inter.o pure-data/src/s_file.o pure-data/src/s_loader.o pure-data/src/s_path.o pure-data/src/s_entry.o pure-data/src/s_audio.o pure-data/src/s_utf8.o pure-data/src/d_ugen.o pure-data/src/d_ctl.o pure-data/src/d_arithmetic.o pure-data/src/d_osc.o pure-data/src/d_filter.o pure-data/src/d_math.o pure-data/src/d_array.o pure-data/src/d_global.o pure-data/src/d_delay.o pure-data/src/d_resample.o pure-data/src/x_arithmetic.o pure-data/src/x_connective.o pure-data/src/x_acoustics.o pure-data/src/d_soundfile.o pure-data/src/e_fft.o pure-data/src/e_gfxstub.o pure-data/src/e_dac.o pure-data/src/e_midi.o pure-data/src/g_magicglass.o pure-data/src/import.o pure-data/src/path.o pure-data/src/closebang.o pure-data/src/initbang.o pure-data/src/s_print.o pure-data/src/d_fft_mayer.o pure-data/src/d_fftroutine.o pure-data/src/s_audio_dummy.o pure-data/extra/expr~/vexp_fun.o pure-data/extra/expr~/vexp_if.o pure-data/extra/expr~/vexp.o libpd_wrapper/s_libpdmidi.o libpd_wrapper/x_libpdreceive.o libpd_wrapper/z_libpd.o loader-file.o `./make.scm print-object-files` -shared -ldl -Wl,-Bsymbolic -lm -lpthread -lfftw3f -lfftw3 -logg -lvorbis -lvorbisfile -lvorbisenc -lspeex
make[1]: Leaving directory '/home/yohanan/_radium_compile/radium-7.1.92/bin/packages/libpd-master'
make: *** [Makefile:857: bin/packages/deletemetorebuild] Error 2
kmatheussen commented 1 year ago

Those are just warnings, the error has probably been printed further up in the terminal. Try to search in the issues. There are others who have had problems compiling up libpds as well and this might be the same issue.

Also, in bin/packages/build.sh, you can prevent unnecessary rebuilding by commenting out these two lines, before trying again.

build_faust
build_Visualization-Library
kmatheussen commented 1 year ago

For instance, the second last comment in https://github.com/kmatheussen/radium/issues/1394 might help.

yohannd1 commented 1 year ago

Indeed the problem was related, and I eventually got it solved.

cc -DPD -O2 -funroll-loops -fomit-frame-pointer -fPIC -Wall -W -Wshadow -Wstrict-prototypes -Wno-unused -Wno-parentheses -Wno-switch -DPD -DLIBPD -DHAVE_UNISTD_H -DUSEAPI_DUMMY -I./pure-data/src -I./libpd_wrapper -I./libpd_wrapper/util -DHAVE_LIBDL -Wno-int-to-pointer-cast -Wno-pointer-to-int-cast -fPIC -I"/usr/lib/jvm/default-java/include" -I"/usr/lib/jvm/default-java/include/linux" -O3 -g -D_GNU_SOURCE -Wall -I../../src -o fiddle~.o -c fiddle~.c
In file included from fiddle~.c:118:
fiddle~.c:45:15: error: conflicting types for ‘sqrt’; have ‘float(double)’
   45 | #define fsqrt sqrt
      |               ^~~~
In file included from /usr/include/features.h:491,
                 from /usr/include/bits/libc-header-start.h:33,
                 from /usr/include/stdint.h:26,
                 from /usr/lib/gcc/x86_64-pc-linux-gnu/13.1.1/include/stdint.h:9,
                 from ../../src/m_pd.h:73,
                 from fiddle~.c:101:
/usr/include/bits/mathcalls.h:143:1: note: previous declaration of ‘sqrt’ with type ‘double(double)’
  143 | __MATHCALL (sqrt,, (_Mdouble_ __x));
      | ^~~~~~~~~~

Now I'm having a different issue, now seemingly in compiling Radium itself:

./compile_to_tmp.sh clang++ -mfpmath=sse -msse2 -D__STDC_FORMAT_MACROS=1 -c `cat buildtype.opt` -Ibin/packages/gc-7.4.16/include -IQt/ -I /usr/include/python2.7 `cat flagopts.opt`  -Werror=array-bounds -msse2 -fomit-frame-pointer -DFOR_LINUX -DQT_X11EXTRAS_LIB -I/usr/include/qt/QtX11Extras -I/usr/include/qt -I/usr/include/qt/QtCore -DQT_GUI_LIB -I/usr/include/qt/QtGui -DQT_CORE_LIB  -DRADIUM_USES_MOLD_OR_LDD=1 -DWITH_FAUST_DEV -DWITH_PD  -I ~/SDKs/VST_SDK/VST2_SDK/ -I ~/SDKs/vstsdk2.4/ -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wno-unknown-pragmas -fno-strict-aliasing -Wmissing-field-initializers -Wnull-dereference -Wwrite-strings -DTHREADED_OPENGL=1 -Wno-deprecated-register -Wlogical-op-parentheses  -DUSE_QT5 -Wmissing-declarations -DNDEBUG  -std=gnu++17 -Wno-register -DUSE_QT4 -DUSE_QIMAGE_BUFFER=1 `/usr/bin/pkg-config --cflags Qt5Gui --cflags Qt5Network --cflags Qt5OpenGL --cflags Qt5Widgets --cflags Qt5WebKitWidgets --cflags Qt5WebKit --cflags Qt5Concurrent` -I/home/yohanan/_radium_compile/radium-7.1.92/bin/packages/qhttpserver-master/src -I/home/yohanan/_radium_compile/radium-7.1.92/bin/packages/QScintilla_gpl-2.10.8/Qt4Qt5 -DQHTTPSERVER_EXPORT  -fPIC   audio/SampleReader.cpp `/usr/bin/pkg-config --cflags sndfile` -I/home/yohanan/boost_1_77_0 -I/home/yohanan/boost_1_76_0 -I/home/yohanan/boost_1_75_0 -I/home/yohanan/boost_1_70_0 -I/home/yohanan/boost_1_67_0 -I/home/yohanan/boost_1_63_0
audio/VST_plugins.cpp:80:12: fatal error: 'pluginterfaces/vst2.x/aeffectx.h' file not found
#  include <pluginterfaces/vst2.x/aeffectx.h>
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Compiling audio/SampleReader.cpp...
          api/api_gui.cpp  compiled. (37s)

Currently I have a copy of the VST3 SDK over at ~/SDKs/VST3 SDK, but that's not being included, it seems. I'm not sure what to arrange here.

yust1n commented 1 year ago

Check these patches https://aur.archlinux.org/cgit/aur.git/tree/?h=radium Works on arch/artix and should also work on manjaro

yohannd1 commented 1 year ago

Thanks! I think it's almost working now. I'm having another error though, which the patches don't seem to encompass:

Compiling Juce_plugins.cpp
In file included from Qt/Qt_preferences_callbacks.cpp:31:
Qt/../common/nsmtracker.h:73:6: error: #error "Missing -O2 or -O3 compiler option"
   73 |     #error "Missing -O2 or -O3 compiler option"
      |      ^~~~~
In file included from ../../../audio/Juce_plugins.cpp:113:
../../../audio/../common/nsmtracker.h:73:6: error: #error "Missing -O2 or -O3 compiler option"
   73 |     #error "Missing -O2 or -O3 compiler option"
      |      ^~~~~
../../../audio/Juce_plugins.cpp:193:6: error: #error "DEB1UG should be defined"
  193 |     #error "DEB1UG should be defined"
      |      ^~~~~
../../../audio/Juce_plugins.cpp:197:6: error: #error "Missing -O2 or -O3 compiler option"
  197 |     #error "Missing -O2 or -O3 compiler option"
      |      ^~~~~
../../../audio/Juce_plugins.cpp:201:6: error: #error "_DEBUG should not be defined"
  201 |     #error "_DEBUG should not be defined"
      |      ^~~~~
make: *** [Makefile:1757: /tmp/radium_objects_/Qt_preferences_callbacks.o] Error 1
make: *** Waiting for unfinished jobs....
kmatheussen commented 1 year ago

Run ./build_clean.sh first That error usually pops up if you change BUILD_TYPE without running ./build_clean.sh first.

kmatheussen commented 1 year ago

Check these patches https://aur.archlinux.org/cgit/aur.git/tree/?h=radium Works on arch/artix and should also work on manjaro

Thanks for the reminder. I've applied most of these upstream now.

yohannd1 commented 1 year ago

Did that. Also, I noticed I also hadn't fully patched the VSTSDK location, so I fixed that as well. Now, I'm having an issue with qhttpserver-master:

./compile_to_tmp.sh gcc -mfpmath=sse -msse2 -c /home/yohanan/_radium_compile/radium-7.1.92/bin/packages/qhttpserver-master/http-parser/http_parser.c -D__STDC_FORMAT_MACROS=1 -c `cat buildtype.opt` -Ibin/packages/gc-7.4.16/include -IQt/ -I /usr/include/python2.7 `cat flagopts.opt`  -Werror=array-bounds -msse2 -fomit-frame-pointer -DFOR_LINUX -DQT_X11EXTRAS_LIB -I/usr/include/qt/QtX11Extras -I/usr/include/qt -I/usr/include/qt/QtCore -DQT_GUI_LIB -I/usr/include/qt/QtGui -DQT_CORE_LIB  -DRADIUM_USES_MOLD_OR_LDD=1 -DWITH_FAUST_DEV -DWITH_PD  -I/usr/include/vst36 -I ~/SDKs/VST_SDK/VST2_SDK/ -I ~/SDKs/vstsdk2.4/ -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wno-unknown-pragmas -fno-strict-aliasing -Wmissing-field-initializers -Wnull-dereference -Wwrite-strings -DTHREADED_OPENGL=1 -Wduplicated-cond -Wduplicated-branches -Wlogical-op -Wrestrict -fmax-errors=5  -DUSE_QT5 -Wstrict-prototypes -Wmissing-prototypes -std=gnu99   
Compiling /home/yohanan/_radium_compile/radium-7.1.92/bin/packages/qhttpserver-master/http-parser/http_parser.c...
/home/yohanan/_radium_compile/radium-7.1.92/bin/packages/qhttpserver-master/http-parser/http_parser.c: In function ‘http_parser_parse_url’:
/home/yohanan/_radium_compile/radium-7.1.92/bin/packages/qhttpserver-master/http-parser/http_parser.c:2340:18: error: this statement may fall through [-Werror=implicit-fallthrough=]
 2340 |         found_at = 1;
      |         ~~~~~~~~~^~~
/home/yohanan/_radium_compile/radium-7.1.92/bin/packages/qhttpserver-master/http-parser/http_parser.c:2343:7: note: here
 2343 |       case s_req_server:
      |       ^~~~

And analyzing the code, there's an intentional /* FALLTHROUGH */ comment right after this line... Nonetheless, I did a quick fix on that file and it compiled, but it seems a lot of parts of the program are having warnings treated as errors, because after trying again I got this:

In file included from audio/Jack_plugin.cpp:9:
audio/../weakjack/weak_libjack.def: In function ‘int WJACK_port_rename(jack_client_t*, jack_port_t*, const char*)’:
audio/../weakjack/weak_libjack.def:74:125: error: ‘int WJACK_port_set_name(jack_port_t*, const char*)’ is deprecated [-Werror=deprecated-declarations]
   74 | JXFUN(0, int,            port_rename, (jack_client_t *c, jack_port_t *p, const char *n), (c,p,n), return jack_port_set_name (p,n);)
audio/../weakjack/weak_libjack.c:262:25: note: in definition of macro ‘JXFUN’
  262 |                         CODE \
      |                         ^~~~
audio/../weakjack/weak_libjack.c:241:15: note: declared here
  241 |         RTYPE WJACK_ ## NAME DEF { \
      |               ^~~~~~
audio/../weakjack/weak_libjack.def:73:1: note: in expansion of macro ‘JPFUN’
   73 | JPFUN(1, int,            port_set_name, (jack_port_t *p, const char *n), (p,n), -1)
      | ^~~~~
          audio/audio_instrument.cpp  compiled. (14s)
audio/Jack_plugin.cpp: In function ‘void JACK_set_name(SoundPlugin*, int, const char*)’:
audio/Jack_plugin.cpp:769:27: error: ‘int WJACK_port_set_name(jack_port_t*, const char*)’ is deprecated [-Werror=deprecated-declarations]
  769 |         jack_port_set_name(data->output_ports[portnum], new_name);
audio/../weakjack/weak_libjack.c:241:15: note: declared here
  241 |         RTYPE WJACK_ ## NAME DEF { \
      |               ^~~~~~
audio/../weakjack/weak_libjack.def:73:1: note: in expansion of macro ‘JPFUN’
   73 | JPFUN(1, int,            port_set_name, (jack_port_t *p, const char *n), (p,n), -1)
      | ^~~~~
audio/Jack_plugin.cpp:785:27: error: ‘int WJACK_port_set_name(jack_port_t*, const char*)’ is deprecated [-Werror=deprecated-declarations]
  785 |         jack_port_set_name(data->input_ports[portnum], new_name);
audio/../weakjack/weak_libjack.c:241:15: note: declared here
  241 |         RTYPE WJACK_ ## NAME DEF { \
      |               ^~~~~~
audio/../weakjack/weak_libjack.def:73:1: note: in expansion of macro ‘JPFUN’
   73 | JPFUN(1, int,            port_set_name, (jack_port_t *p, const char *n), (p,n), -1)
      | ^~~~~
kmatheussen commented 1 year ago

Which version of gcc are you running? The makefile should handle gcc 10,9,8, and 7:

ifeq ($(GCC_MAJOR),10)
    QHTTPCONNECTIONFLAGS=-fno-sanitize=vptr # <- Workaround. Couldn't find real bug. TODO: Update to qhttp.
    HTTPPARSERFLAGS=-Wno-implicit-fallthrough
else ifeq ($(GCC_MAJOR),9)
    QHTTPCONNECTIONFLAGS= -fno-sanitize=vptr # <- Workaround. Couldn't find real bug. TODO: Update to qhttp.
    HTTPPARSERFLAGS=-Wno-implicit-fallthrough
else ifeq ($(GCC_MAJOR),8)
    QHTTPCONNECTIONFLAGS= -fno-sanitize=vptr # <- Workaround. Couldn't find real bug. TODO: Update to qhttp.
    HTTPPARSERFLAGS=-Wno-implicit-fallthrough
else ifeq ($(GCC_MAJOR),7)
    QHTTPCONNECTIONFLAGS= -fno-sanitize=vptr # <- Workaround. Couldn't find real bug. TODO: Update to qhttp.
    HTTPPARSERFLAGS=-Wno-implicit-fallthrough
else
    QHTTPCONNECTIONFLAGS=
    HTTPPARSERFLAGS=
endif
yohannd1 commented 1 year ago

gcc (GCC) 13.1.1 20230429. Also tried with clang version 15.0.7 and it had the same errors.

kmatheussen commented 1 year ago

Are you compiling in DEBUG or DEBUG_FAST mode? I would think implicit fallthrough was only an error... At least it should be, since it's legal C to do that, as far as I know.

On Thu, Jul 27, 2023 at 8:27 PM Yohanan @.***> wrote:

gcc (GCC) 13.1.1 20230429. Also tried with clang version 15.0.7 and it had the same errors.

— Reply to this email directly, view it on GitHub https://github.com/kmatheussen/radium/issues/1407#issuecomment-1654188622, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAIX3J7N45OT2QN3FZ3F2ITXSKXI7ANCNFSM6AAAAAA2YWGH64 . You are receiving this because you commented.Message ID: @.***>

kmatheussen commented 1 year ago

(only a warning)

On Thu, Jul 27, 2023 at 9:23 PM Kjetil Matheussen @.***> wrote:

Are you compiling in DEBUG or DEBUG_FAST mode? I would think implicit fallthrough was only an error... At least it should be, since it's legal C to do that, as far as I know.

On Thu, Jul 27, 2023 at 8:27 PM Yohanan @.***> wrote:

gcc (GCC) 13.1.1 20230429. Also tried with clang version 15.0.7 and it had the same errors.

— Reply to this email directly, view it on GitHub https://github.com/kmatheussen/radium/issues/1407#issuecomment-1654188622, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAIX3J7N45OT2QN3FZ3F2ITXSKXI7ANCNFSM6AAAAAA2YWGH64 . You are receiving this because you commented.Message ID: @.***>

kmatheussen commented 1 year ago

@yust1n I have given you write access to the repository in case you want to push fixes directly instead of adding patches to the arch build.

yohannd1 commented 1 year ago

Are you compiling in DEBUG or DEBUG_FAST mode?

DEBUG_FAST.

yust1n commented 1 year ago

https://termbin.com/aitgp https://termbin.com/66hf good luck ... i once compiled a debugbuild but ended in a nice error when starting the program which i bypassed manually

yohannd1 commented 1 year ago

Thanks. I now have another error, in the linking stage, about missing C++ stdlib references (I think):

[...]
...bin/packages/QScintilla_gpl-2.10.8/Qt4Qt5/../lexlib/SubStyles.h:15: error: undefined reference to 'std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, int> > >::~map()'
bin/packages/QScintilla_gpl-2.10.8/Qt4Qt5/../lexers/LexCPP.cpp:1488: error: undefined reference to 'std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >::~map()'
bin/packages/QScintilla_gpl-2.10.8/Qt4Qt5/../lexers/LexCPP.cpp:1488: error: undefined reference to 'std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >::~map()'
bin/packages/QScintilla_gpl-2.10.8/Qt4Qt5/../lexlib/PropSetSimple.cpp:32: error: undefined reference to 'std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >::~map()'
collect2: error: ld returned 1 exit status
kmatheussen commented 1 year ago

I can't remember seeing those errors before. Maybe try compiling QScintilla again, and make sure that you use the same compiler as for radium? Perhaps qscintilla was compiled with clang, for some reason. and radium with gcc, or vice versa.

On Fri, Jul 28, 2023 at 1:49 AM Yohanan @.***> wrote:

Thanks. I now have another error, in the linking stage, about missing C++ stdlib references (I think):

[...] ...bin/packages/QScintilla_gpl-2.10.8/Qt4Qt5/../lexlib/SubStyles.h:15: error: undefined reference to 'std::map<std::cxx11::basic_string<char, std::char_traits, std::allocator >, int, std::less<std::cxx11::basic_string<char, std::char_traits, std::allocator > >, std::allocator<std::pair<std::cxx11::basic_string<char, std::char_traits, std::allocator > const, int> > >::~map()' bin/packages/QScintilla_gpl-2.10.8/Qt4Qt5/../lexers/LexCPP.cpp:1488: error: undefined reference to 'std::map<std::cxx11::basic_string<char, std::char_traits, std::allocator >, std::cxx11::basic_string<char, std::char_traits, std::allocator >, std::less<std::cxx11::basic_string<char, std::char_traits, std::allocator > >, std::allocator<std::pair<std::cxx11::basic_string<char, std::char_traits, std::allocator > const, std::__cxx11::basic_string<char, std::char_traits, std::allocator > > > >::~map()' bin/packages/QScintilla_gpl-2.10.8/Qt4Qt5/../lexers/LexCPP.cpp:1488: error: undefined reference to 'std::map<std::cxx11::basic_string<char, std::char_traits, std::allocator >, std::cxx11::basic_string<char, std::char_traits, std::allocator >, std::less<std::cxx11::basic_string<char, std::char_traits, std::allocator > >, std::allocator<std::pair<std::cxx11::basic_string<char, std::char_traits, std::allocator > const, std::cxx11::basic_string<char, std::char_traits, std::allocator > > > >::~map()' bin/packages/QScintilla_gpl-2.10.8/Qt4Qt5/../lexlib/PropSetSimple.cpp:32: error: undefined reference to 'std::map<std::cxx11::basic_string<char, std::char_traits, std::allocator >, std::cxx11::basic_string<char, std::char_traits, std::allocator >, std::less<std::cxx11::basic_string<char, std::char_traits, std::allocator > >, std::allocator<std::pair<std::cxx11::basic_string<char, std::char_traits, std::allocator > const, std::__cxx11::basic_string<char, std::char_traits, std::allocator > > > >::~map()' collect2: error: ld returned 1 exit status

— Reply to this email directly, view it on GitHub https://github.com/kmatheussen/radium/issues/1407#issuecomment-1654770063, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAIX3J5UNITRTCBRA4BTSRTXSL5CDANCNFSM6AAAAAA2YWGH64 . You are receiving this because you commented.Message ID: @.***>

yohannd1 commented 1 year ago

Recompiled QScintilla, tried again and had the same error, sadly. I did switch from clang and gcc sometimes, though, but I'm not sure in which packages. But since the error here is related to QScintilla, I guess in the other ones the problem wasn't there?

yust1n commented 1 year ago

https://github.com/preshing/junction/issues/37

yohannd1 commented 1 year ago

Rebuilt everything again, and now it went further. It's having an error with libicuuc.so.72, though.

/home/yohanan/_radium_compile/radium-7.1.92/bin/radium_linux.bin: error while loading shared libraries: libicuuc.so.72: cannot open shared object file: No such file or directory
[Inferior 1 (process 184173) exited with code 0177]

And the only mention of cuuc\b I could find on the entire codebase was a commented line with a -lcuuc on build_linux_common.sh, so I'm confused. My system has libicuuc.so.73, and it this error would make sense because I updated my computer earlier today, but I rebuilt all radium packages so I don't think it's supposed to happen... I haven't rebooted my computer since I updated but I don't think that's the reason, is it?

Also, I had a small error regarding libgig but it doesn't seem to be fatal:

+ mv libgig-4.2.0 libgig
+ cd libgig
+ make clean
make[1]: Entering directory '/home/yohanan/_radium_compile/radium-7.1.92/bin/packages/libgig'
make[1]: *** No rule to make target 'clean'.  Stop.
make[1]: Leaving directory '/home/yohanan/_radium_compile/radium-7.1.92/bin/packages/libgig'
kmatheussen commented 1 year ago

qt uses libicuuc, so it seems like qt isnt updated. i wouldnt think it was necessary to reboot, but maybe.

the libgig error is harmless.

On Sat, 29 Jul 2023 at 00:05, Yohanan @.***> wrote:

Rebuilt everything again, and now it went further. It's having an error with libicuuc.so.72, though.

/home/yohanan/_radium_compile/radium-7.1.92/bin/radium_linux.bin: error while loading shared libraries: libicuuc.so.72: cannot open shared object file: No such file or directory [Inferior 1 (process 184173) exited with code 0177]

My system has libicuuc.so.73, and it this error would make sense because I updated my computer earlier today, but I rebuilt all radium packages so I don't think it's supposed to happen... I haven't rebooted my computer since I updated but I don't think that's the reason, is it?

Also, I had a small error regarding libgig but it doesn't seem to be fatal:

  • mv libgig-4.2.0 libgig
  • cd libgig
  • make clean make[1]: Entering directory '/home/yohanan/_radium_compile/radium-7.1.92/bin/packages/libgig' make[1]: *** No rule to make target 'clean'. Stop. make[1]: Leaving directory '/home/yohanan/_radium_compile/radium-7.1.92/bin/packages/libgig'

— Reply to this email directly, view it on GitHub https://github.com/kmatheussen/radium/issues/1407#issuecomment-1656377083, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAIX3J454WWRQE4WI4XXKLTXSQZSXANCNFSM6AAAAAA2YWGH64 . You are receiving this because you commented.Message ID: @.***>

yust1n commented 1 year ago

https://linux.die.net/man/8/ldconfig https://ccache.dev/ and always delete the builddir ...

yohannd1 commented 1 year ago

After rebooting, ran bin/packages/buildclean.sh and build_clean.sh, then recompiled all packages and Radium. Same error at the end. I re-compiled and tested LMMS (also uses Qt5) and it's not crashing, so I think the scope of the issue is within Radium (still not sure if I cleaned everything up). Also, how can I go about trying out the GTK version? Maybe the issue doesn't occur over there.

kmatheussen commented 1 year ago

try build_veryclean.sh, or better just download source again, to be sure.

On Sat, 29 Jul 2023 at 19:33, Yohanan @.***> wrote:

After rebooting, ran bin/packages/buildclean.sh and build_clean.sh, then recompiled all packages and Radium. Same error at the end. I re-compiled and tested LMMS (also uses Qt5) and it's not crashing, so I think the scopof the issue is within Radium (still not sure if I cleaned everything up). Also, how can I go about trying out the GTK version? Maybe the issue doesn't occur over there.

— Reply to this email directly, view it on GitHub https://github.com/kmatheussen/radium/issues/1407#issuecomment-1656801595, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAIX3J6MH4SRGYVDRVXYUILXSVCPXANCNFSM6AAAAAA2YWGH64 . You are receiving this because you commented.Message ID: @.***>

yohannd1 commented 1 year ago

Redownloaded, re-applied all changes and had the same error :( Also, there's no build_veryclean.sh...

kmatheussen commented 1 year ago

Looks like your system is screwed up somehow. You should be able to track down by first doing ldd -r bin/radium_linux.bin and then doing the same on the libraries there, for instance the qt libraries, to find out which library wrongly links to libicuuc.so.72 instead of libicuuc.so.73.

On Sun, Jul 30, 2023 at 10:01 PM Yohanan @.***> wrote:

Redownloaded, re-applied all changes and had the same error :( Also, there's no build_veryclean.sh...

— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you commented.Message ID: @.***>

yohannd1 commented 1 year ago

Ok, it was libQt5Webkit and libQt5WebkitWidgets, which I compiled via the AUR and didn't update recently. Next error:

λ: ./radium
libxcb is recent enough. We can use it
JUCE v7.0.3
INIT4
INIT5
Warning: Could not find the Qt platform plugin "xcb" in "" ((null):0, (null))
Fatal: This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.
 ((null):0, (null))

   === Fatal: This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.
 ((null):0, (null))
 ===

./radium: line 29: 87021 Aborted                 (core dumped) LC_ALL=C QT_QPA_PLATFORM="xcb" LD_LIBRARY_PATH="$LD_LIBRARY_PATH" "$THIS_DIR"/radium_linux.bin "$@"

I'm running on wayland but I tried running it under Openbox(X11) and it still had the same error.

kmatheussen commented 1 year ago

You must follow the instructions in README for it to run.

On Tue, Aug 1, 2023 at 8:52 PM Yohanan @.***> wrote:

Ok, it was libQt5Webkit and libQt5WebkitWidgets, which I compiled via the AUR and didn't update recently. Next error:

λ: ./radium libxcb is recent enough. We can use it JUCE v7.0.3 INIT4 INIT5 Warning: Could not find the Qt platform plugin "xcb" in "" ((null):0, (null)) Fatal: This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem. ((null):0, (null))

=== Fatal: This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem. ((null):0, (null))

./radium: line 29: 87021 Aborted (core dumped) LC_ALL=C QT_QPA_PLATFORM="xcb" LD_LIBRARY_PATH="$LD_LIBRARY_PATH" "$THIS_DIR"/radium_linux.bin "$@"

I'm running on wayland but I tried running it under Openbox(X11) and it still had the same error.

— Reply to this email directly, view it on GitHub https://github.com/kmatheussen/radium/issues/1407#issuecomment-1660898436, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAIX3JZ3WPVMGN5V3A4ZJSDXTFF47ANCNFSM6AAAAAA2YWGH64 . You are receiving this because you commented.Message ID: @.***>

yohannd1 commented 1 year ago

Oh, sorry. After setting the env var, the splash screen popped up, but then an error screen. On the app log:

(catch-all-errors-and-display-backtrace-automatically thunk) failed. args:
(unbound-variable ("unbound variable ~S in ~S" *undefined-var* (+ *undefined-var* 3)))

(There's a lot more stuff but I'm not sure which part of it is the main error. If this is unclear I can upload the entire log.)

kmatheussen commented 1 year ago

Yeah, that just looks like some test-output. The actual error must be something else.

On Wed, Aug 2, 2023 at 4:04 PM Yohanan @.***> wrote:

Oh, sorry. After setting the env var, the splash screen popped up, but then an error screen. On the app log:

(catch-all-errors-and-display-backtrace-automatically thunk) failed. args: (unbound-variable ("unbound variable ~S in ~S" undefined-var (+ undefined-var 3)))

(There's a lot more stuff but I'm not sure which part of it is the main error. If this is unclear I can upload the entire log.)

— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you commented.Message ID: @.***>

yohannd1 commented 1 year ago

Here's the log: https://gist.github.com/YohananDiamond/e435d00a4b95de8130d0a107f85bdf37

yust1n commented 1 year ago

I would try running it in X and not wayland :)

yohannd1 commented 1 year ago

Still errors over on X11+Openbox. Was the error because of that, though? (What was even the error... I still can't figure that part out)

kmatheussen commented 1 year ago

You're running in DEBUG-mode, so the program will stop if it detects that something might be wrong, and that's what happened here. From the backtrace, radium detected that the Qt event loop was called again and again suspiciously many times (200). This happened when the program called QTextDocumentFragment::fromPlainText(line).toHtml("UTF-8"). I don't know why this happens though, but since the backtrace isn't very large, it could seem like a bug in the class that tries to detect this.

Any particular reason why you want to use DEBUG mode? Seems like you want to use RELEASE mode.

kmatheussen commented 1 year ago

If you want to ignore this error, just comment out the "Detect recursive Qt loop." block in Qt/Qt_Main.cpp. It might not be a fatal error. I've looked at the code, and I don't understand how this could have happened.

yohannd1 commented 1 year ago

Yeah, I thought debug mode would be better for debugging. I've tried recompiling in release mode and it went further again. Now, though, I'm having another error, which I've had before, in the AUR version: image (I actually followed the packaging instructions in the package() section of radium's PKGBUILD.) I saw a warning in the PKGBUILD to not run a line in case I had lmms installed, and I followed it. But that was in relation to Calf plugins, not AM pitchshifter, so I guess that doesn't really apply here. What could be making radium not find the plugin? Where does it search it for?

yust1n commented 1 year ago

https://aur.archlinux.org/cgit/aur.git/tree/radium.install?h=radium that's how i solved it .... maybe you did not install it ??? swh-plugins contains what you are looking for ...

yohannd1 commented 1 year ago

Oh, that was it! Thanks! I didn't suspect it was a missing package because I usually use AM Pitchshifter just fine on LMMS, but I guess over there it's installed somewhere else. Wouldn't it be a good idea to add swh-plugins as a dependency of radium on the AUR, then?