The latest update to the port for devel/smokeqt fails to build on my system. % uname -a FreeBSD polyfree.my.domain 10.0-STABLE FreeBSD 10.0-STABLE #9 r268458: Wed Jul 9 12:39:50 EDT 2014 root@polyfree.my.domain:/usr/obj/usr/src/sys/GENERIC amd64 The port build output containing the errors: Scanning dependencies of target smokeqttest [ 27%] Building CXX object qttest/CMakeFiles/smokeqttest.dir/smokedata.cpp.o [ 28%] Building CXX object qttest/CMakeFiles/smokeqttest.dir/x_1.cpp.o /usr/ports/devel/smokeqt/work/.build/qttest/x_1.cpp:1227:94: error: unknown type name 'TestFailMode'; did you mean 'QTest::TestFailMode'? bool xret = QTest::qExpectFail((const char*)x[1].s_class,(const char*)x[2].s_class,*(TestFailMode*)x[3].s_class,(const char*)x[4].s_class,(int)x[5].s_int); ^~~~~~~~~~~~ QTest::TestFailMode /usr/local/include/qt4/QtTest/qtest_global.h:83:10: note: 'QTest::TestFailMode' declared here enum TestFailMode { Abort = 1, Continue = 2 }; ^ /usr/ports/devel/smokeqt/work/.build/qttest/x_1.cpp:1277:15: error: cannot initialize a variable of type 'char *' with an rvalue of type 'const char *' char* xret = QTest::currentAppName(); ^ ~~~~~~~~~~~~~~~~~~~~~~~ /usr/ports/devel/smokeqt/work/.build/qttest/x_1.cpp:1367:21: error: no viable conversion from 'QTestData' to 'const char *' const char* xret = QTest::newRow((const char*)x[1].s_class); ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/ports/devel/smokeqt/work/.build/qttest/x_1.cpp:1372:13: error: cannot initialize a variable of type 'int' with an rvalue of type 'QObject *' int xret = QTest::testObject(); ^ ~~~~~~~~~~~~~~~~~~~ /usr/ports/devel/smokeqt/work/.build/qttest/x_1.cpp:1402:50: error: unknown type name 'SkipMode'; did you mean 'QTest::SkipMode'? QTest::qSkip((const char*)x[1].s_class,*(SkipMode*)x[2].s_class,(const char*)x[3].s_class,(int)x[4].s_int); ^~~~~~~~ QTest::SkipMode /usr/local/include/qt4/QtTest/qtest_global.h:82:10: note: 'QTest::SkipMode' declared here enum SkipMode { SkipSingle = 1, SkipAll = 2 }; ^ /usr/ports/devel/smokeqt/work/.build/qttest/x_1.cpp:1407:13: error: cannot initialize a variable of type 'int' with an rvalue of type 'void' int xret = QTest::setBenchmarkResult((double)x[1].s_double,(QTest::QBenchmarkMetric)x[2].s_enum); ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/ports/devel/smokeqt/work/.build/qttest/x_1.cpp:1562:15: error: cannot initialize a variable of type 'char *' with an rvalue of type 'const char *' char* xret = QTest::currentDataTag(); ^ ~~~~~~~~~~~~~~~~~~~~~~~ /usr/ports/devel/smokeqt/work/.build/qttest/x_1.cpp:1677:15: error: cannot initialize a variable of type 'char *' with an rvalue of type 'const char *' char* xret = QTest::currentTestFunction(); ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 8 errors generated. --- qttest/CMakeFiles/smokeqttest.dir/x_1.cpp.o --- *** [qttest/CMakeFiles/smokeqttest.dir/x_1.cpp.o] Error code 1 make[3]: stopped in /usr/ports/devel/smokeqt/work/.build 1 error make[3]: stopped in /usr/ports/devel/smokeqt/work/.build --- qttest/CMakeFiles/smokeqttest.dir/all --- *** [qttest/CMakeFiles/smokeqttest.dir/all] Error code 2 make[2]: stopped in /usr/ports/devel/smokeqt/work/.build Generating SMOKE sources... preparing SMOKE data [qtgui] writing out smokedata.cpp [qtgui] writing out x_*.cpp [qtgui] Done. A failure has been detected in another branch of the parallel make make[3]: stopped in /usr/ports/devel/smokeqt/work/.build --- qtgui/CMakeFiles/smokeqtgui.dir/all --- *** [qtgui/CMakeFiles/smokeqtgui.dir/all] Error code 2 make[2]: stopped in /usr/ports/devel/smokeqt/work/.build 2 errors make[2]: stopped in /usr/ports/devel/smokeqt/work/.build --- all --- *** [all] Error code 2 make[1]: stopped in /usr/ports/devel/smokeqt/work/.build 1 error make[1]: stopped in /usr/ports/devel/smokeqt/work/.build ===> Compilation failed unexpectedly. Try to set MAKE_JOBS_UNSAFE=yes and rebuild before reporting the failure to the maintainer. *** Error code 1 Stop. make: stopped in /usr/ports/devel/smokeqt
I have the problem as well.
It's caused by my recent update to qt4-corelib. I'm working on it.
A commit references this bug: Author: rakuco Date: Fri Jul 25 22:24:41 UTC 2014 New revision: 362938 URL: http://svnweb.freebsd.org/changeset/ports/362938 Log: Update the patch introduced in r362770. Change a preprocessor line with no directive to a normal line with a comment. While most preprocessors work fine with a line like # /* no directive in this line */ devel/smokegen's fails, and breaks devel/smokeqt. PR: 192095 Changes: head/devel/qt4/files/extrapatch-src-corelib-global-qglobal.h head/devel/qt4-corelib/Makefile