Page 1 of 1

QLC+ with Qt 5.14.2 errors

Posted: Wed Jun 03, 2020 2:14 pm
by sbenejam
Building QLC+ from GIT against Qt 5.14.2 on Ubuntu 20.04 (fresh installed) I'm getting this errors:

Code: Select all

g++ -c -pipe -Werror -Wno-unused-local-typedefs -g -D_REENTRANT -Wall -Wextra -fPIC -DQT_MULTIMEDIAWIDGETS_LIB -DQT_WIDGETS_LIB -DQT_MULTIMEDIA_LIB -DQT_GUI_LIB -DQT_SCRIPT_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -I. -Imonitor -Ishowmanager -Ivirtualconsole -I../../engine/src -I../../engine/audio/src -I../../plugins/interfaces -I../../webaccess -I../../../Qt/5.14.2/gcc_64/include -I../../../Qt/5.14.2/gcc_64/include/QtMultimediaWidgets -I../../../Qt/5.14.2/gcc_64/include/QtWidgets -I../../../Qt/5.14.2/gcc_64/include/QtMultimedia -I../../../Qt/5.14.2/gcc_64/include/QtGui -I../../../Qt/5.14.2/gcc_64/include/QtScript -I../../../Qt/5.14.2/gcc_64/include/QtNetwork -I../../../Qt/5.14.2/gcc_64/include/QtCore -I. -isystem /usr/include/libdrm -I. -I../../../Qt/5.14.2/gcc_64/mkspecs/linux-g++ -o vcsliderproperties.o virtualconsole/vcsliderproperties.cpp
In file included from ../../../Qt/5.14.2/gcc_64/include/QtCore/qobject.h:49,
                 from ../../../Qt/5.14.2/gcc_64/include/QtCore/qiodevice.h:45,
                 from ../../../Qt/5.14.2/gcc_64/include/QtCore/qxmlstream.h:43,
                 from ../../../Qt/5.14.2/gcc_64/include/QtCore/QXmlStreamReader:1,
                 from virtualconsole/vcmatrix.cpp:20:
../../../Qt/5.14.2/gcc_64/include/QtCore/qlist.h: In instantiation of ‘void QList<T>::node_construct(QList<T>::Node*, const T&) [with T = VCMatrixControl]’:
../../../Qt/5.14.2/gcc_64/include/QtCore/qlist.h:550:9:   required from ‘QList<T>::iterator QList<T>::insert(QList<T>::iterator, const T&) [with T = VCMatrixControl]’
virtualconsole/vcmatrix.cpp:991:110:   required from here
../../../Qt/5.14.2/gcc_64/include/QtCore/qlist.h:471:35: error: implicitly-declared ‘VCMatrixControl& VCMatrixControl::operator=(const VCMatrixControl&)’ is deprecated [-Werror=deprecated-copy]
  471 |     else *reinterpret_cast<T*>(n) = t;
      |          ~~~~~~~~~~~~~~~~~~~~~~~~~^~~
In file included from virtualconsole/vcmatrix.h:30,
                 from virtualconsole/vcmatrixproperties.h:26,
                 from virtualconsole/vcmatrix.cpp:32:
virtualconsole/vcmatrixcontrol.h:50:14: note: because ‘VCMatrixControl’ has user-provided ‘VCMatrixControl::VCMatrixControl(const VCMatrixControl&)’
   50 |     explicit VCMatrixControl(VCMatrixControl const& vcmc);
      |              ^~~~~~~~~~~~~~~
g++ -c -pipe -Werror -Wno-unused-local-typedefs -g -D_REENTRANT -Wall -Wextra -fPIC -DQT_MULTIMEDIAWIDGETS_LIB -DQT_WIDGETS_LIB -DQT_MULTIMEDIA_LIB -DQT_GUI_LIB -DQT_SCRIPT_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -I. -Imonitor -Ishowmanager -Ivirtualconsole -I../../engine/src -I../../engine/audio/src -I../../plugins/interfaces -I../../webaccess -I../../../Qt/5.14.2/gcc_64/include -I../../../Qt/5.14.2/gcc_64/include/QtMultimediaWidgets -I../../../Qt/5.14.2/gcc_64/include/QtWidgets -I../../../Qt/5.14.2/gcc_64/include/QtMultimedia -I../../../Qt/5.14.2/gcc_64/include/QtGui -I../../../Qt/5.14.2/gcc_64/include/QtScript -I../../../Qt/5.14.2/gcc_64/include/QtNetwork -I../../../Qt/5.14.2/gcc_64/include/QtCore -I. -isystem /usr/include/libdrm -I. -I../../../Qt/5.14.2/gcc_64/mkspecs/linux-g++ -o vcsoloframe.o virtualconsole/vcsoloframe.cpp
g++ -c -pipe -Werror -Wno-unused-local-typedefs -g -D_REENTRANT -Wall -Wextra -fPIC -DQT_MULTIMEDIAWIDGETS_LIB -DQT_WIDGETS_LIB -DQT_MULTIMEDIA_LIB -DQT_GUI_LIB -DQT_SCRIPT_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -I. -Imonitor -Ishowmanager -Ivirtualconsole -I../../engine/src -I../../engine/audio/src -I../../plugins/interfaces -I../../webaccess -I../../../Qt/5.14.2/gcc_64/include -I../../../Qt/5.14.2/gcc_64/include/QtMultimediaWidgets -I../../../Qt/5.14.2/gcc_64/include/QtWidgets -I../../../Qt/5.14.2/gcc_64/include/QtMultimedia -I../../../Qt/5.14.2/gcc_64/include/QtGui -I../../../Qt/5.14.2/gcc_64/include/QtScript -I../../../Qt/5.14.2/gcc_64/include/QtNetwork -I../../../Qt/5.14.2/gcc_64/include/QtCore -I. -isystem /usr/include/libdrm -I. -I../../../Qt/5.14.2/gcc_64/mkspecs/linux-g++ -o vcsoloframeproperties.o virtualconsole/vcsoloframeproperties.cpp
g++ -c -pipe -Werror -Wno-unused-local-typedefs -g -D_REENTRANT -Wall -Wextra -fPIC -DQT_MULTIMEDIAWIDGETS_LIB -DQT_WIDGETS_LIB -DQT_MULTIMEDIA_LIB -DQT_GUI_LIB -DQT_SCRIPT_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -I. -Imonitor -Ishowmanager -Ivirtualconsole -I../../engine/src -I../../engine/audio/src -I../../plugins/interfaces -I../../webaccess -I../../../Qt/5.14.2/gcc_64/include -I../../../Qt/5.14.2/gcc_64/include/QtMultimediaWidgets -I../../../Qt/5.14.2/gcc_64/include/QtWidgets -I../../../Qt/5.14.2/gcc_64/include/QtMultimedia -I../../../Qt/5.14.2/gcc_64/include/QtGui -I../../../Qt/5.14.2/gcc_64/include/QtScript -I../../../Qt/5.14.2/gcc_64/include/QtNetwork -I../../../Qt/5.14.2/gcc_64/include/QtCore -I. -isystem /usr/include/libdrm -I. -I../../../Qt/5.14.2/gcc_64/mkspecs/linux-g++ -o vcspeeddial.o virtualconsole/vcspeeddial.cpp
cc1plus: all warnings being treated as errors
make[2]: *** [Makefile:34611: vcmatrix.o] Error 1
make[2]: *** Waiting for unfinished jobs....
In file included from ../../../Qt/5.14.2/gcc_64/include/QtCore/qobject.h:49,
                 from ../../../Qt/5.14.2/gcc_64/include/QtCore/qiodevice.h:45,
                 from ../../../Qt/5.14.2/gcc_64/include/QtCore/qxmlstream.h:43,
                 from ../../../Qt/5.14.2/gcc_64/include/QtCore/QXmlStreamReader:1,
                 from virtualconsole/vcslider.cpp:22:
../../../Qt/5.14.2/gcc_64/include/QtCore/qlist.h: In instantiation of ‘void QList<T>::node_construct(QList<T>::Node*, const T&) [with T = VCSlider::LevelChannel]’:
../../../Qt/5.14.2/gcc_64/include/QtCore/qlist.h:614:13:   required from ‘void QList<T>::append(const T&) [with T = VCSlider::LevelChannel]’
virtualconsole/vcslider.cpp:557:35:   required from here
../../../Qt/5.14.2/gcc_64/include/QtCore/qlist.h:471:35: error: implicitly-declared ‘constexpr VCSlider::LevelChannel& VCSlider::LevelChannel::operator=(const VCSlider::LevelChannel&)’ is deprecated [-Werror=deprecated-copy]
  471 |     else *reinterpret_cast<T*>(n) = t;
      |          ~~~~~~~~~~~~~~~~~~~~~~~~~^~~
virtualconsole/vcslider.cpp:1829:1: note: because ‘VCSlider::LevelChannel’ has user-provided ‘VCSlider::LevelChannel::LevelChannel(const VCSlider::LevelChannel&)’
 1829 | VCSlider::LevelChannel::LevelChannel(const LevelChannel& lc)
      | ^~~~~~~~
cc1plus: all warnings being treated as errors
make[2]: *** [Makefile:35846: vcslider.o] Error 1
In file included from ../../../Qt/5.14.2/gcc_64/include/QtCore/qobject.h:49,
                 from ../../../Qt/5.14.2/gcc_64/include/QtCore/qiodevice.h:45,
                 from ../../../Qt/5.14.2/gcc_64/include/QtCore/qxmlstream.h:43,
                 from ../../../Qt/5.14.2/gcc_64/include/QtCore/QXmlStreamReader:1,
                 from virtualconsole/vcspeeddial.cpp:21:
../../../Qt/5.14.2/gcc_64/include/QtCore/qlist.h: In instantiation of ‘void QList<T>::node_construct(QList<T>::Node*, const T&) [with T = VCSpeedDialPreset]’:
../../../Qt/5.14.2/gcc_64/include/QtCore/qlist.h:550:9:   required from ‘QList<T>::iterator QList<T>::insert(QList<T>::iterator, const T&) [with T = VCSpeedDialPreset]’
virtualconsole/vcspeeddial.cpp:924:105:   required from here
../../../Qt/5.14.2/gcc_64/include/QtCore/qlist.h:471:35: error: implicitly-declared ‘VCSpeedDialPreset& VCSpeedDialPreset::operator=(const VCSpeedDialPreset&)’ is deprecated [-Werror=deprecated-copy]
  471 |     else *reinterpret_cast<T*>(n) = t;
      |          ~~~~~~~~~~~~~~~~~~~~~~~~~^~~
In file included from virtualconsole/vcspeeddial.cpp:32:
virtualconsole/vcspeeddialpreset.h:44:14: note: because ‘VCSpeedDialPreset’ has user-provided ‘VCSpeedDialPreset::VCSpeedDialPreset(const VCSpeedDialPreset&)’
   44 |     explicit VCSpeedDialPreset(VCSpeedDialPreset const& preset);
      |              ^~~~~~~~~~~~~~~~~
cc1plus: all warnings being treated as errors
make[2]: *** [Makefile:36690: vcspeeddial.o] Error 1
make[2]: Leaving directory '/home/sbenejam/qlctest/ui/src'
make[1]: *** [Makefile:48: sub-src-make_first-ordered] Error 2
make[1]: Leaving directory '/home/sbenejam/qlctest/ui'
make: *** [Makefile:141: sub-ui-make_first-ordered] Error 2
After some reseach I can built it adding this options to qmake: QMAKE_CXXFLAGS+=-Wno-error=deprecated-copy and install then with make install. QLC+ compiles without errors with the Qt version 5.12.8 that comes by default with Ubuntu 20.04. Another problem I found is that the translations are not installing in the /usr/share/qlcplus/translations folder.

Re: QLC+ with Qt 5.14.2 errors

Posted: Thu Jun 04, 2020 7:22 am
by mcallegari
GCC version please.
I build QLC+ on 5.14.2 correctly on Ubuntu 18.04

Re: QLC+ with Qt 5.14.2 errors

Posted: Thu Jun 04, 2020 1:31 pm
by sbenejam
mcallegari wrote: Thu Jun 04, 2020 7:22 am GCC version please.
I build QLC+ on 5.14.2 correctly on Ubuntu 18.04
Hi Massimo.
gcc --version
gcc (Ubuntu 9.3.0-10ubuntu2) 9.3.0

I tried to built it on ubuntu 18.04 and got no errors. Ubuntu 18.04 uses
gcc --version
gcc (Ubuntu 7.5.0-3ubuntu1~18.04) 7.5.0

EDIT: I just installed all gcc versions on Ubuntu 20.04 from 7 to 10. And I testing to built QLC+ with diferent gcc versions.
EDIT 2: QLC+ compile fine with gcc versions 7.5.0 and 8.4.0 and fails with gcc 9.3.0 and gcc 10.0.1 (experimental). I switch to gcc 8.4.0 version fonr now.

Re: QLC+ with Qt 5.14.2 errors

Posted: Thu Jun 04, 2020 3:03 pm
by mcallegari
Yeah, at each GCC version they deprecate something.
I will fix the issue you found when I have the chance to build with a recent GCC (most likely on Windows)

Re: QLC+ with Qt 5.14.2 errors

Posted: Thu Jun 04, 2020 3:34 pm
by sbenejam
And now translations are installing correctly too.

Re: QLC+ with Qt 5.14.2 errors

Posted: Thu Aug 27, 2020 3:17 pm
by sbenejam
mcallegari wrote: Thu Jun 04, 2020 3:03 pm Yeah, at each GCC version they deprecate something.
I will fix the issue you found when I have the chance to build with a recent GCC (most likely on Windows)
Hi Massimo,
I just tested your latest commit fixing build with GCC 9.3.0. It's compiling fine now.