konclude/Konclude

Fails to build: error: converting to 'bool' from 'std::nullptr_t' requires direct-initialization [-fpermissive]

Closed this issue · 3 comments

Source fails to build with GCC 9.2.1, unless passing -fpermissive:

g++ -c -pipe -g -O2 -fdebug-prefix-map=/build/konclude-0.6.2+927~dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -std=gnu++11 -w -D_REENTRANT -fPIC -DQT_XML_LIB -DQT_NETWORK_LIB -DKONCLUDE_REDLAND_INTEGRATION -DKONCLUDE_FORCE_ALL_DEBUG_DEACTIVATED -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_XML_LIB -DQT_NETWORK_LIB -DQT_CONCURRENT_LIB -DQT_CORE_LIB -I. -I./generatedfiles -I./GeneratedFiles/Release -ISource -I. -isystem /usr/include/rasqal -isystem /usr/include/raptor2 -isystem /usr/include/libxml2 -isystem /usr/include/x86_64-linux-gnu/qt5 -isystem /usr/include/x86_64-linux-gnu/qt5/QtGui -isystem /usr/include/x86_64-linux-gnu/qt5/QtXml -isystem /usr/include/x86_64-linux-gnu/qt5/QtNetwork -isystem /usr/include/x86_64-linux-gnu/qt5/QtConcurrent -isystem /usr/include/x86_64-linux-gnu/qt5/QtCore -IGeneratedFiles/release -isystem /usr/include/libdrm -I/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++ -o release/CVariableBindingsAnswersResultIterator.o Source/Reasoner/Query/CVariableBindingsAnswersResultIterator.cpp
Source/Reasoner/Query/CSatisfiableCalculationJob.cpp: In constructor 'Konclude::Reasoner::Query::CSatisfiableCalculationJob::CSatisfiableCalculationJob()':
Source/Reasoner/Query/CSatisfiableCalculationJob.cpp:39:64: error: converting to 'bool' from 'std::nullptr_t' requires direct-initialization [-fpermissive]
39 | mAllowNonDeterministicSatisfiableCalculationContinuation = nullptr;
| ^~~~~~~
make[1]: *** [Makefile:421471: release/CSatisfiableCalculationJob.o] Error 1

More details at this downstream Debian bugreport: https://bugs.debian.org/853477

Many thanks for the report. This particular error should now be fixed. I keep this issue open until I integrated an up-to-date GCC compiler into our build system such that these errors are automatically detected.

Travis CI is now compiling with GCC 7 (which is more or less up-to-date) and Clang 5 (on MacOS), which should help in quickly finding and resolving future compilation errors.