Ubuntu 22.04.5 compile problem

I used the build script below and an receive the error about usb. The build script was freshly downloaded

Ubuntu:~/Downloads$ ./fullbuild-wfview.sh creator-widgets

The tail end of the log is below:

…/wfview/usbcontroller.cpp: In member function ‘void usbController::runTimer()’:
…/wfview/usbcontroller.cpp:649:35: warning: ISO C++ says that these are ambiguous, even though the worst conversion for the first is better than the worst conversion for the second:
649 | if (data[9] < 0x07) {
| ^~~~
In file included from /usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:50,
from /usr/include/x86_64-linux-gnu/qt5/QtCore/qcoreapplication.h:44,
from /usr/include/x86_64-linux-gnu/qt5/QtCore/QCoreApplication:1,
from …/wfview/cachingqueue.h:3,
from …/wfview/usbcontroller.h:4,
from …/wfview/usbcontroller.cpp:2:
/usr/include/x86_64-linux-gnu/qt5/QtCore/qbytearray.h:620:17: note: candidate 1: ‘bool QByteRef::operator<(char) const’
620 | inline bool operator<(char c) const
| ^~~~~~~~
…/wfview/usbcontroller.cpp:649:35: note: candidate 2: ‘operator<(int, int)’ (built-in)
649 | if (data[9] < 0x07) {
| ^~~~
…/wfview/usbcontroller.cpp:651:43: warning: ISO C++ says that these are ambiguous, even though the worst conversion for the first is better than the worst conversion for the second:
651 | } else if (data[9] == 0x25) {
| ^~~~
In file included from /usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:50,
from /usr/include/x86_64-linux-gnu/qt5/QtCore/qcoreapplication.h:44,
from /usr/include/x86_64-linux-gnu/qt5/QtCore/QCoreApplication:1,
from …/wfview/cachingqueue.h:3,
from …/wfview/usbcontroller.h:4,
from …/wfview/usbcontroller.cpp:2:
/usr/include/x86_64-linux-gnu/qt5/QtCore/qbytearray.h:612:17: note: candidate 1: ‘bool QByteRef::operator==(char) const’
612 | inline bool operator==(char c) const
| ^~~~~~~~
…/wfview/usbcontroller.cpp:651:43: note: candidate 2: ‘operator==(int, int)’ (built-in)
651 | } else if (data[9] == 0x25) {
| ^~~~
…/wfview/usbcontroller.cpp:653:43: warning: ISO C++ says that these are ambiguous, even though the worst conversion for the first is better than the worst conversion for the second:
653 | } else if (data[9] == 0x30) {
| ^~~~
In file included from /usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:50,
from /usr/include/x86_64-linux-gnu/qt5/QtCore/qcoreapplication.h:44,
from /usr/include/x86_64-linux-gnu/qt5/QtCore/QCoreApplication:1,
from …/wfview/cachingqueue.h:3,
from …/wfview/usbcontroller.h:4,
from …/wfview/usbcontroller.cpp:2:
/usr/include/x86_64-linux-gnu/qt5/QtCore/qbytearray.h:612:17: note: candidate 1: ‘bool QByteRef::operator==(char) const’
612 | inline bool operator==(char c) const
| ^~~~~~~~
…/wfview/usbcontroller.cpp:653:43: note: candidate 2: ‘operator==(int, int)’ (built-in)
653 | } else if (data[9] == 0x30) {
| ^~~~
…/wfview/usbcontroller.cpp:655:43: warning: ISO C++ says that these are ambiguous, even though the worst conversion for the first is better than the worst conversion for the second:
655 | } else if (data[9] == 0x31) {
| ^~~~
In file included from /usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:50,
from /usr/include/x86_64-linux-gnu/qt5/QtCore/qcoreapplication.h:44,
from /usr/include/x86_64-linux-gnu/qt5/QtCore/QCoreApplication:1,
from …/wfview/cachingqueue.h:3,
from …/wfview/usbcontroller.h:4,
from …/wfview/usbcontroller.cpp:2:
/usr/include/x86_64-linux-gnu/qt5/QtCore/qbytearray.h:612:17: note: candidate 1: ‘bool QByteRef::operator==(char) const’
612 | inline bool operator==(char c) const
| ^~~~~~~~
…/wfview/usbcontroller.cpp:655:43: note: candidate 2: ‘operator==(int, int)’ (built-in)
655 | } else if (data[9] == 0x31) {
| ^~~~
…/wfview/usbcontroller.cpp:657:43: warning: ISO C++ says that these are ambiguous, even though the worst conversion for the first is better than the worst conversion for the second:
657 | } else if (data[9] == 0x35) {
| ^~~~
In file included from /usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:50,
from /usr/include/x86_64-linux-gnu/qt5/QtCore/qcoreapplication.h:44,
from /usr/include/x86_64-linux-gnu/qt5/QtCore/QCoreApplication:1,
from …/wfview/cachingqueue.h:3,
from …/wfview/usbcontroller.h:4,
from …/wfview/usbcontroller.cpp:2:
/usr/include/x86_64-linux-gnu/qt5/QtCore/qbytearray.h:612:17: note: candidate 1: ‘bool QByteRef::operator==(char) const’
612 | inline bool operator==(char c) const
| ^~~~~~~~
…/wfview/usbcontroller.cpp:657:43: note: candidate 2: ‘operator==(int, int)’ (built-in)
657 | } else if (data[9] == 0x35) {
| ^~~~
…/wfview/usbcontroller.cpp:659:43: warning: ISO C++ says that these are ambiguous, even though the worst conversion for the first is better than the worst conversion for the second:
659 | } else if (data[9] == 0x33) {
| ^~~~
In file included from /usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:50,
from /usr/include/x86_64-linux-gnu/qt5/QtCore/qcoreapplication.h:44,
from /usr/include/x86_64-linux-gnu/qt5/QtCore/QCoreApplication:1,
from …/wfview/cachingqueue.h:3,
from …/wfview/usbcontroller.h:4,
from …/wfview/usbcontroller.cpp:2:
/usr/include/x86_64-linux-gnu/qt5/QtCore/qbytearray.h:612:17: note: candidate 1: ‘bool QByteRef::operator==(char) const’
612 | inline bool operator==(char c) const
| ^~~~~~~~
…/wfview/usbcontroller.cpp:659:43: note: candidate 2: ‘operator==(int, int)’ (built-in)
659 | } else if (data[9] == 0x33) {
| ^~~~
…/wfview/usbcontroller.cpp:661:43: warning: ISO C++ says that these are ambiguous, even though the worst conversion for the first is better than the worst conversion for the second:
661 | } else if (data[9] == 0x34) {
| ^~~~
In file included from /usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:50,
from /usr/include/x86_64-linux-gnu/qt5/QtCore/qcoreapplication.h:44,
from /usr/include/x86_64-linux-gnu/qt5/QtCore/QCoreApplication:1,
from …/wfview/cachingqueue.h:3,
from …/wfview/usbcontroller.h:4,
from …/wfview/usbcontroller.cpp:2:
/usr/include/x86_64-linux-gnu/qt5/QtCore/qbytearray.h:612:17: note: candidate 1: ‘bool QByteRef::operator==(char) const’
612 | inline bool operator==(char c) const
| ^~~~~~~~
…/wfview/usbcontroller.cpp:661:43: note: candidate 2: ‘operator==(int, int)’ (built-in)
661 | } else if (data[9] == 0x34) {
| ^~~~
…/wfview/usbcontroller.cpp:888:59: error: ambiguous overload for ‘operator=’ (operand types are ‘QString’ and ‘int’)
888 | dev->knobValues[i].name = 0;
| ^
In file included from /usr/include/x86_64-linux-gnu/qt5/QtCore/qcoreapplication.h:44,
from /usr/include/x86_64-linux-gnu/qt5/QtCore/QCoreApplication:1,
from …/wfview/cachingqueue.h:3,
from …/wfview/usbcontroller.h:4,
from …/wfview/usbcontroller.cpp:2:
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:270:14: note: candidate: ‘QString& QString::operator=(QChar)’
270 | QString &operator=(QChar c);
| ^~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:271:14: note: candidate: ‘QString& QString::operator=(const QString&)’
271 | QString &operator=(const QString &) noexcept;
| ^~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:274:21: note: candidate: ‘QString& QString::operator=(QString&&)’
274 | inline QString &operator=(QString &&other) noexcept
| ^~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:841:40: note: candidate: ‘QString& QString::operator=(const char*)’
841 | inline QT_ASCII_CAST_WARN QString &operator=(const char *ch)
| ^~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:843:40: note: candidate: ‘QString& QString::operator=(const QByteArray&)’
843 | inline QT_ASCII_CAST_WARN QString &operator=(const QByteArray &a)
| ^~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:845:40: note: candidate: ‘QString& QString::operator=(char)’
845 | inline QT_ASCII_CAST_WARN QString &operator=(char c)
| ^~~~~~~~
…/wfview/usbcontroller.cpp: In member function ‘void usbController::receiveLevel(funcs, quint8)’:
…/wfview/usbcontroller.cpp:2116:40: warning: unused parameter ‘cmd’ [-Wunused-parameter]
2116 | void usbController::receiveLevel(funcs cmd, quint8 level)
| ~~~~^
…/wfview/usbcontroller.cpp:2116:52: warning: unused parameter ‘level’ [-Wunused-parameter]
2116 | void usbController::receiveLevel(funcs cmd, quint8 level)
| ~~~^
g++ -c -pipe -s -fvisibility=hidden -fvisibility-inlines-hidden -faligned-new -O2 -std=gnu++1z -Wall -Wextra -D_REENTRANT -fPIC -DUSB_CONTROLLER -DWFVIEW_VERSION="1.94" -DBUILD_WFVIEW -D__LINUX_PULSE__ -DQT_DEPRECATED_WARNINGS -DQCUSTOMPLOT_USE_LIBRARY -DUSE_SSE -DUSE_SSE2 -DOUTSIDE_SPEEX -DRANDOM_PREFIX=wf -DEIGEN_MPL2_ONLY -DEIGEN_DONT_VECTORIZE -DEIGEN_VECTORIZE_SSE3 -DPREFIX="/usr/local" -DHOST="hostname" -DUNAME="whoami" -DGITSHORT="d1aeb04" -DQT_NO_DEBUG -DQT_MULTIMEDIA_LIB -DQT_PRINTSUPPORT_LIB -DQT_WIDGETS_LIB -DQT_GAMEPAD_LIB -DQT_GUI_LIB -DQT_SERIALPORT_LIB -DQT_WEBSOCKETS_LIB -DQT_NETWORK_LIB -DQT_XML_LIB -DQT_CORE_LIB -I…/wfview -I. -I…/wfview/resampler -I/usr/include/x86_64-linux-gnu/qt5 -I/usr/include/x86_64-linux-gnu/qt5/QtMultimedia -I/usr/include/x86_64-linux-gnu/qt5/QtPrintSupport -I/usr/include/x86_64-linux-gnu/qt5/QtWidgets -I/usr/include/x86_64-linux-gnu/qt5/QtGamepad -I/usr/include/x86_64-linux-gnu/qt5/QtGui -I/usr/include/x86_64-linux-gnu/qt5/QtSerialPort -I/usr/include/x86_64-linux-gnu/qt5/QtWebSockets -I/usr/include/x86_64-linux-gnu/qt5/QtNetwork -I/usr/include/x86_64-linux-gnu/qt5/QtXml -I/usr/include/x86_64-linux-gnu/qt5/QtCore -I. -I. -I/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++ -o controllersetup.o …/wfview/controllersetup.cpp
make: *** [Makefile:1967: usbcontroller.o] Error 1
make: *** Waiting for unfinished jobs…

real 1m35.136s
user 2m51.090s
sys 0m15.746s
Error in make step.
wfview was not compiled.

This looks like you are building the development branch, creator-widgets?

Reports of compile failure really aren’t useful on this branch as they will happen frequently. I would recommend using the master branch.

Having said that, it should now build!

thanks Phil, the master compiles fine but the widget version is more fun. Compiles ok now.
good work!

2 Likes