Error compiling fritzing-app

Hello, I am trying to build fritzing, but it keeps giving me this error. I don’t know much about qt so I don’t know exactly how to solve

grs@DESKTOP-E2L1S75:~/fritzing/fritzing-app$ make
make -f Makefile.Release
make[1]: Entering directory '/home/grs/fritzing/fritzing-app'
g++ -c -pipe -O3 -fno-omit-frame-pointer -O2 -Wall -W -D_REENTRANT -fPIC -DLINUX_64 -DDATADIR=\"/usr/share\" -DPKGDATADIR=\"/usr/share/fritzing\" -DGIT_VERSION=\"0.9.6-35-gf0af53a9\" -DGIT_DATE=\"2021-09-22T20:00:03+02:00\" -DBUILD_DATE=\"2021-11-23T16:53:20-03:00\" -DQT_NO_DEBUG -DQT_PRINTSUPPORT_LIB -DQT_SVG_LIB -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CONCURRENT_LIB -DQT_NETWORK_LIB -DQT_SERIALPORT_LIB -DQT_SQL_LIB -DQT_XML_LIB -DQT_CORE_LIB -I. -I/home/grs/fritzing/libgit2/include -I../boost_1_75_0 -Isrc/dialogs -isystem /usr/include/x86_64-linux-gnu/qt5 -isystem /usr/include/x86_64-linux-gnu/qt5/QtPrintSupport -isystem /usr/include/x86_64-linux-gnu/qt5/QtSvg -isystem /usr/include/x86_64-linux-gnu/qt5/QtWidgets -isystem /usr/include/x86_64-linux-gnu/qt5/QtGui -isystem /usr/include/x86_64-linux-gnu/qt5/QtConcurrent -isystem /usr/include/x86_64-linux-gnu/qt5/QtNetwork -isystem /usr/include/x86_64-linux-gnu/qt5/QtSerialPort -isystem /usr/include/x86_64-linux-gnu/qt5/QtSql -isystem /usr/include/x86_64-linux-gnu/qt5/QtXml -isystem /usr/include/x86_64-linux-gnu/qt5/QtCore -Irelease -isystem /usr/include/libdrm -I. -I/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++ -o release/fapplication.o src/fapplication.cpp
src/fapplication.cpp: In member function ‘virtual void FServerThread::run()’:
src/fapplication.cpp:154:68: error: ‘Qt::SplitBehaviorFlags’ has not been declared
  QStringList tokens = header.split(QRegExp("[ \r\n][ \r\n]*"), Qt::SplitBehaviorFlags::SkipEmptyParts);
                                                                    ^~~~~~~~~~~~~~~~~~
src/fapplication.cpp:170:51: error: ‘Qt::SplitBehaviorFlags’ has not been declared
  QStringList params = tokens.at(1).split("/", Qt::SplitBehaviorFlags::SkipEmptyParts);
                                                   ^~~~~~~~~~~~~~~~~~
Makefile.Release:3041: recipe for target 'release/fapplication.o' failed
make[1]: *** [release/fapplication.o] Error 1
make[1]: Leaving directory '/home/grs/fritzing/fritzing-app'
Makefile:40: recipe for target 'release' failed
make: *** [release] Error 2

You would probably be better off using QtCreator (as is recommended in the development wiki) as I’m not sure anyone is maintaining the command line make files. QTCreator is fairly easy to use and will usually build without problem (although I haven’t built from source for a few years.) From the error message I would guess there is a missing include somewhere that isn’t declaring every thing that needs declaring.

Peter

I am bulding from source because I don’t have the resource to make a donation, and I need it for my project.

You would probably be better off using QtCreator (as is recommended in the development wiki)

So 1.3 Linux notes · fritzing/fritzing-app Wiki · GitHub is not up to date and instead I should use QT Creator ?

It might be, as I use QT creator even when I am building on Linux and thus haven’t done so from the command line (nor as noted have I built from source for a couple of years.)

Peter

Have you run qmake before running the make? You may want to do it again in case it didn’t complete correctly the first time (from the Linux notes above):

cd /path/to/fritzing-app
qmake
make

if qmake wasn’t run then there will likely be missing include files perhaps including this one. Your command line above doesn’t show a run of qmake before doing the make (although you may have already done so.)

Peter

The problem is likely that you are using an older version of Qt than the current fritzing source uses, as the symbols that it is trying to find have moved.

If possible, update your Qt to 5.15.2.

If you cannot update your Qt version, try changing Qt::SplitBehaviourFlags::SkipEmptyParts to QString::SplitBehavior::SkipEmptyParts. You will likely have a few other things that you need to update, such as Qt::endl to endl, etc.