[CentOS] Learning to build applications

Thu Nov 19 00:38:15 UTC 2020
H <agents at meddatainc.com>

I have managed to get through the qtmake stage of compiling the current github version of pgmodeler on CentOS 7 but make && make install fails with:

make && make install
cd libutils/ && ( test -e Makefile || /bin/qmake-qt5 -o Makefile /home/h/pgmodeler/libutils/libutils.pro CONFIG+=release PREFIX= BINDIR= PRIVATEBINDIR= PRIVATELIBDIR=/lib ) && make -f Makefile
make[1]: Entering directory /home/h/pgmodeler/libutils' g++ -c -pipe -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -O2 -std=gnu++1y -Wall -W -D_REENTRANT -fPIC -DBUILDNUM=\"20201030\" -DBINDIR=\"\" -DPLUGINSDIR=\"/lib/pgmodeler/plugins\" -DPRIVATEBINDIR=\"\" -DCONFDIR=\"/share/pgmodeler/conf\" -DDOCDIR=\"/share/pgmodeler\" -DLANGDIR=\"/share/pgmodeler/lang\" -DSAMPLESDIR=\"/share/pgmodeler/samples\" -DSCHEMASDIR=\"/share/pgmodeler/schemas\" -DQT_NO_DEBUG -DQT_PRINTSUPPORT_LIB -DQT_SVG_LIB -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -I. -isystem /usr/include/libxml2 -isystem /usr/include/qt5 -isystem /usr/include/qt5/QtPrintSupport -isystem /usr/include/qt5/QtSvg -isystem /usr/include/qt5/QtWidgets -isystem /usr/include/qt5/QtGui -isystem /usr/include/qt5/QtNetwork -isystem /usr/include/qt5/QtCore -Imoc -isystem /usr/include/libdrm -I/usr/lib64/qt5/mkspecs/linux-g++ -o obj/exception.o src/exception.cpp In file included from src/exception.cpp:18:0: src/exception.h:41:11: error: ‘underlying_type_t’ in namespace ‘std’ does not name a type constexpr std::underlying_type_t<Enum> enum_cast (Enum obj_type) noexcept ^ src/exception.cpp: In constructor ‘Exception::Exception(ErrorCode, const QString&, const QString&, int, Exception*, const QString&)’: src/exception.cpp:295:86: error: ‘enum_cast’ was not declared in this scope configureException(QApplication::translate("Exception",messages[enum_cast(error_code)][ErrorMessage].toStdString().c_str(),"", -1), ^ src/exception.cpp: In constructor ‘Exception::Exception(ErrorCode, const QString&, const QString&, int, std::vector<Exception>&, const QString&)’: src/exception.cpp:314:86: error: ‘enum_cast’ was not declared in this scope configureException(QApplication::translate("Exception",messages[enum_cast(error_code)][ErrorMessage].toStdString().c_str(),"",-1), ^ src/exception.cpp: In static member function ‘static QString Exception::getErrorMessage(ErrorCode)’: src/exception.cpp:371:25: error: ‘enum_cast’ was not declared in this scope if(enum_cast(error_code) < ErrorCount) ^ src/exception.cpp: In static member function ‘static QString Exception::getErrorCode(ErrorCode)’: src/exception.cpp:382:25: error: ‘enum_cast’ was not declared in this scope if(enum_cast(error_code) < ErrorCount) ^ src/exception.cpp: In static member function ‘static QString Exception::getErrorMessage(ErrorCode)’: src/exception.cpp:378:1: warning: control reaches end of non-void function [-Wreturn-type] } ^ src/exception.cpp: In static member function ‘static QString Exception::getErrorCode(ErrorCode)’: src/exception.cpp:386:1: warning: control reaches end of non-void function [-Wreturn-type] } ^ make[1]: *** [obj/exception.o] Error 1 make[1]: Leaving directory /home/hakan/pgmodeler/libutils'
make: *** [sub-libutils-make_first-ordered] Error 2

I am a beginner when it comes to compiling applications and would appreciate suggestion how to fix the above. Thank you.