Details
-
Bug
-
Resolution: Out of scope
-
Not Evaluated
-
None
-
4.8.4
-
None
-
solaris
Description
Solaris 10, Solaris 11, SPARC, i86pc Sun Studio 12.3 compiler gmake 3.82 stdcxx 4.2.1 The recipe so far: cd /var/tmp rm -rf /qt qt-qt gunzip -c /usr/local/src/graphics/qt-4.8.2013.06.24.tar.gz | gtar -xvf - cd qt-qt mkdir /qt /bin/perl -pe 's#/bin/sh#/bin/bash#' -i configure /bin/perl -pe 's#OPT_CONFIRM_LICENSE=no#OPT_CONFIRM_LICENSE=yes#' -i configure /bin/perl -pe 's#^QMAKE_INCDIR\s+=.*#QMAKE_INCDIR=/usr/local/include#' -i mkspecs/solaris-cc/qmake.conf /bin/perl -pe 's#^QMAKE_LIBDIR\s+=.*#QMAKE_LIBDIR=/usr/local/lib#' -i mkspecs/solaris-cc/qmake.conf /bin/perl -pe 's#^QMAKE_INCDIR_X11\s+=.*#QMAKE_INCDIR_X11=/usr/local/include#' -i mkspecs/solaris-cc/qmake.conf /bin/perl -pe 's#^QMAKE_LIBDIR_X11\s+=.*#QMAKE_LIBDIR_X11=/usr/local/lib#' -i mkspecs/solaris-cc/qmake.conf /bin/perl -pe "s#^QMAKE_CC\s+=.*#QMAKE_CC=${CC}#" -i mkspecs/solaris-cc/qmake.conf /bin/perl -pe "s#^QMAKE_CXX\s+=.*#QMAKE_CXX=${CXX}#" -i mkspecs/solaris-cc/qmake.conf /bin/perl -pe "s#^QMAKE_LINK\s+=.*#QMAKE_LINK=${LINK}#" -i mkspecs/solaris-cc/qmake.conf /bin/perl -pe "s#^QMAKE_LINK_SHLIB\s+=.*#QMAKE_LINK_SHLIB=${LINK}#" -i mkspecs/solaris-cc/qmake.conf /bin/perl -pe "s#^QMAKE_AR\s+=.*#QMAKE_AR=${AR} #" -i mkspecs/solaris-cc/qmake.conf /bin/perl -pe 's#canBuildWebKit=\"no\"#canBuildWebKit=\"yes\"#' -i configure /bin/perl -pe 's#canBuildQtConcurrent=\"no\"#canBuildQtConcurrent=\"yes\"#' -i configure ./configure -prefix /qt \ -qpa xcb \ -release \ -opensource \ -shared \ -no-fast \ -largefile \ -no-system-proxies \ -exceptions \ -accessibility \ -stl \ -qt-sql-sqlite \ -system-sqlite \ -no-qt3support \ -xmlpatterns \ -multimedia \ -audio-backend \ -no-phonon \ -phonon-backend \ -svg \ -webkit \ -x11 \ -no-javascript-jit \ -script \ -no-scripttools \ -declarative \ -platform solaris-cc \ -no-mmx \ -no-3dnow \ -no-sse \ -no-sse2 \ -no-sse3 \ -no-sse4.1 \ -no-sse4.2 \ -no-avx \ -no-neon \ -system-zlib \ -system-libtiff \ -system-libpng \ -no-libmng \ -system-libjpeg \ -openssl \ -nomake tests \ -R /usr/local/lib \ -I /usr/local/include \ -L /usr/local/lib \ -verbose \ -no-cups \ -iconv \ -no-gtkstyle \ -no-nas-sound \ -sm \ -xshape \ -no-xvideo \ -xsync \ -xinerama \ -xcursor \ -xfixes \ -no-xrandr \ -xrender \ -mitshm \ -fontconfig \ -no-xinput \ -xkb \ -no-glib \ -confirm-license \ -system-freetype foreach file (3rdparty/javascriptcore/JavaScriptCore/runtime/* 3rdparty/javascriptcore/JavaScriptCore/runtime/* 3rdparty/javascriptcore/JavaScriptCore/API/*) perl -pe 's#ENABLE\(GLIB_SUPPORT\)#0#' -i $file perl -pe 's#OS\(DARWIN\)#0#' -i $file perl -pe 's#OS\(WINCE\)#0#' -i $file perl -pe 's#OS\(WINDOWS\)#0#' -i $file perl -pe 's#OS\(SYMBIAN\)#0#' -i $file perl -pe 's#OS\(OPENBSD\)#0#' -i $file perl -pe 's#OS\(QNX\)#0#' -i $file perl -pe 's#OS\(ANDROID\)#0#' -i $file perl -pe 's#OS\(RVCT\)#0#' -i $file perl -pe 's#OS\(FREEBSD\)#0#' -i $file perl -pe 's#OS\(HAIKU\)#0#' -i $file perl -pe 's#OS\(NETBSD\)#0#' -i $file perl -pe 's#OS\(MAC_OS_X\)#0#' -i $file perl -pe 's#OS\(IOS\)#0#' -i $file perl -pe 's#OS\(AIX\)#0#' -i $file perl -pe 's#OS\(LINUX\)#0#' -i $file perl -pe 's#OS\(UNIX\)#1#' -i $file perl -pe 's#OS\(SOLARIS\)#1#' -i $file perl -pe 's#PLATFORM\(BREWMP\)#0#' -i $file perl -pe 's#PLATFORM\(MAC\)#0#' -i $file perl -pe 's#PLATFORM\(WIN\)#0#' -i $file perl -pe 's#PLATFORM\(CHROMIUM\)#0#' -i $file perl -pe 's#PLATFORM\(WX\)#0#' -i $file perl -pe 's#PLATFORM\(GTK\)#0#' -i $file perl -pe 's#COMPILER\(MSVC\)#0#' -i $file perl -pe 's#COMPILER\(MINGW\)#0#' -i $file perl -pe 's#COMPILER\(GCC\)#0#' -i $file end perl -pe '($. == 28) && s/^/#include "DateConversion.h"\n#include "DateInstance.h"/' -i 3rdparty/javascriptcore/JavaScriptCore/runtime/DateInstanceCache.h foreach file (3rdparty/javascriptcore/JavaScriptCore/runtime/*) perl -pe 's#JS_EXPORTDATA#__declspec(dllexport)#' -i $file end gmake
Not sure what component JavaScriptCore belongs under.
Needing to compile wkhtmltopdf which requires Qt with webkit.
We use the Sun Studio 12.3 compiler on Solaris 10 & 11 SPARC and i86pc.
I've downloaded Qt 5 and Qt 4.8.4 and the latest Qt 4.8 tar.gz from the source tree as of today. This bug is against that source tree.
The whole Qt tree except the JavaScriptCore sub-branch compiles fine.. it's 95% finished which is very frustrating as the last 5% has wasted a week trying to port.
The Studio compiler is much more adherent to the standard than the more lax gcc. What is let through on gcc will result in compile errors on Studio. Essentially the whole JavaScriptCore tree is a lot of non compliant code which I've been trying to get working. I don't know C++ though so it's tediously slow googling every error and looking for solutions.
The latest one that I can't figure out is this one:
gmake[1]: Entering directory `/var/tmp/qt-qt/src/script'
CC -I/usr/local/include -mt -library=no%Cstd -L/usr/local/lib -lstdcxx4 -DUSE_SYSTEM_MALLOC -c -I/usr/local/include -mt -library=no%Cstd -L/usr/local/lib -lstdcxx4 -DUSE_SYSTEM_MALLOC -I/usr/local/include -O2 -mt -KPIC -DQT_SHARED -DJSC=QTJSC -Djscyyparse=qtjscyyparse -Djscyylex=qtjscyylex -Djscyyerror=qtjscyyerror -DWTF=QTWTF -DQT_BUILD_SCRIPT_LIB -DQT_NO_USING_NAMESPACE -DQLALR_NO_QSCRIPTGRAMMAR_DEBUG_INFO -DQT_NO_CAST_TO_ASCII -DQT_ASCII_CAST_WARNINGS -DQT_MOC_COMPAT -DQT_USE_QSTRINGBUILDER -DBUILDING_QT_=1 -DWTF_USE_ACCELERATED_COMPOSITING -DNDEBUG -DBUILDING_QT_ -DBUILDING_JavaScriptCore -DBUILDING_WTF -DENABLE_JIT=0 -DENABLE_YARR_JIT=0 -DENABLE_YARR=0 -DWTF_USE_JAVASCRIPTCORE_BINDINGS=1 -DWTF_CHANGES=1 -DNDEBUG -DJS_NO_EXPORT -DQT_NO_DEBUG -DQT_CORE_LIB -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -I../../mkspecs/solaris-cc -I. -I../../include/QtCore -I../../include -I../3rdparty/javascriptcore/JavaScriptCore -I../3rdparty/javascriptcore -I../3rdparty/javascriptcore/JavaScriptCore/assembler -I../3rdparty/javascriptcore/JavaScriptCore/bytecode -I../3rdparty/javascriptcore/JavaScriptCore/bytecompiler -I../3rdparty/javascriptcore/JavaScriptCore/debugger -I../3rdparty/javascriptcore/JavaScriptCore/interpreter -I../3rdparty/javascriptcore/JavaScriptCore/jit -I../3rdparty/javascriptcore/JavaScriptCore/parser -I../3rdparty/javascriptcore/JavaScriptCore/pcre -I../3rdparty/javascriptcore/JavaScriptCore/profiler -I../3rdparty/javascriptcore/JavaScriptCore/runtime -I../3rdparty/javascriptcore/JavaScriptCore/wrec -I../3rdparty/javascriptcore/JavaScriptCore/wtf -I../3rdparty/javascriptcore/JavaScriptCore/wtf/symbian -I../3rdparty/javascriptcore/JavaScriptCore/wtf/unicode -I../3rdparty/javascriptcore/JavaScriptCore/yarr -I../3rdparty/javascriptcore/JavaScriptCore/API -I../3rdparty/javascriptcore/JavaScriptCore/ForwardingHeaders -I../3rdparty/javascriptcore/JavaScriptCore/generated -I../../include/QtScript -I.rcc/release-shared -I/var/tmp/qt-qt/src/3rdparty/javascriptcore/WebKit/qt/Api -I../3rdparty/javascriptcore/JavaScriptCore/pcre -I/var/tmp/qt-qt/src/3rdparty/javascriptcore/JavaScriptCore/tmp -I../3rdparty/javascriptcore/JavaScriptCore -I../3rdparty/javascriptcore/JavaScriptCore/parser -I../3rdparty/javascriptcore/JavaScriptCore/bytecompiler -I../3rdparty/javascriptcore/JavaScriptCore/debugger -I../3rdparty/javascriptcore/JavaScriptCore/runtime -I../3rdparty/javascriptcore/JavaScriptCore/wtf -I/var/tmp/qt-qt/src/script/../3rdparty/javascriptcore/JavaScriptCore/unicode -I../3rdparty/javascriptcore/JavaScriptCore/interpreter -I../3rdparty/javascriptcore/JavaScriptCore/jit -I../3rdparty/javascriptcore/JavaScriptCore/profiler -I../3rdparty/javascriptcore/JavaScriptCore/wrec -I../3rdparty/javascriptcore/JavaScriptCore/API -I../3rdparty/javascriptcore/JavaScriptCore/bytecode -I../3rdparty/javascriptcore/JavaScriptCore/assembler -I../3rdparty/javascriptcore/JavaScriptCore/generated -I. -Iparser -I.moc/release-shared -I/usr/local/include -o obj/release/JSBase.o ../3rdparty/javascriptcore/JavaScriptCore/API/JSBase.cpp
"../3rdparty/javascriptcore/JavaScriptCore/runtime/UStringImpl.h", line 164: Warning: Identifier expected instead of "}".
"../3rdparty/javascriptcore/JavaScriptCore/runtime/ScopeChain.h", line 120: Warning: next hides QTJSC::ScopeChainNode::next.
"../3rdparty/javascriptcore/JavaScriptCore/runtime/ScopeChain.h", line 134: Warning: Questionable return type for QTJSC::ScopeChainIterator::operator->() const.
"../3rdparty/javascriptcore/JavaScriptCore/interpreter/CallFrame.h", line 87: Warning: Implicit int is not supported in C++.
"../3rdparty/javascriptcore/JavaScriptCore/interpreter/CallFrame.h", line 87: Error: "," expected instead of "&".
"../3rdparty/javascriptcore/JavaScriptCore/interpreter/CallFrame.h", line 88: Error: Use ";" to terminate declarations.
"../3rdparty/javascriptcore/JavaScriptCore/interpreter/CallFrame.h", line 94: Warning: Implicit int is not supported in C++.
"../3rdparty/javascriptcore/JavaScriptCore/interpreter/CallFrame.h", line 94: Error: "," expected instead of "*".
"../3rdparty/javascriptcore/JavaScriptCore/interpreter/CallFrame.h", line 95: Error: Use ";" to terminate declarations.
"../3rdparty/javascriptcore/JavaScriptCore/interpreter/CallFrame.h", line 95: Warning: Implicit int is not supported in C++.
"../3rdparty/javascriptcore/JavaScriptCore/interpreter/CallFrame.h", line 95: Error: Multiple declaration for HashTable.
"../3rdparty/javascriptcore/JavaScriptCore/interpreter/CallFrame.h", line 95: Error: "," expected instead of "*".
"../3rdparty/javascriptcore/JavaScriptCore/interpreter/CallFrame.h", line 96: Error: Use ";" to terminate declarations.
"../3rdparty/javascriptcore/JavaScriptCore/interpreter/CallFrame.h", line 96: Warning: Implicit int is not supported in C++.
"../3rdparty/javascriptcore/JavaScriptCore/interpreter/CallFrame.h", line 96: Error: Multiple declaration for HashTable.
"../3rdparty/javascriptcore/JavaScriptCore/interpreter/CallFrame.h", line 96: Error: "," expected instead of "*".
"../3rdparty/javascriptcore/JavaScriptCore/interpreter/CallFrame.h", line 97: Error: Use ";" to terminate declarations.
"../3rdparty/javascriptcore/JavaScriptCore/interpreter/CallFrame.h", line 97: Warning: Implicit int is not supported in C++.
"../3rdparty/javascriptcore/JavaScriptCore/interpreter/CallFrame.h", line 97: Error: Multiple declaration for HashTable.
"../3rdparty/javascriptcore/JavaScriptCore/interpreter/CallFrame.h", line 97: Error: "," expected instead of "*".
"../3rdparty/javascriptcore/JavaScriptCore/interpreter/CallFrame.h", line 98: Error: Use ";" to terminate declarations.
"../3rdparty/javascriptcore/JavaScriptCore/interpreter/CallFrame.h", line 98: Warning: Implicit int is not supported in C++.
"../3rdparty/javascriptcore/JavaScriptCore/interpreter/CallFrame.h", line 98: Error: Multiple declaration for HashTable.
"../3rdparty/javascriptcore/JavaScriptCore/interpreter/CallFrame.h", line 98: Error: "," expected instead of "*".
"../3rdparty/javascriptcore/JavaScriptCore/interpreter/CallFrame.h", line 99: Error: Use ";" to terminate declarations.
"../3rdparty/javascriptcore/JavaScriptCore/interpreter/CallFrame.h", line 99: Warning: Implicit int is not supported in C++.
"../3rdparty/javascriptcore/JavaScriptCore/interpreter/CallFrame.h", line 99: Error: Multiple declaration for HashTable.
"../3rdparty/javascriptcore/JavaScriptCore/interpreter/CallFrame.h", line 99: Error: "," expected instead of "*".
"../3rdparty/javascriptcore/JavaScriptCore/interpreter/CallFrame.h", line 100: Error: Use ";" to terminate declarations.
"../3rdparty/javascriptcore/JavaScriptCore/interpreter/CallFrame.h", line 100: Warning: Implicit int is not supported in C++.
"../3rdparty/javascriptcore/JavaScriptCore/interpreter/CallFrame.h", line 100: Error: Multiple declaration for HashTable.
"../3rdparty/javascriptcore/JavaScriptCore/interpreter/CallFrame.h", line 100: Error: "," expected instead of "*".
"../3rdparty/javascriptcore/JavaScriptCore/interpreter/CallFrame.h", line 101: Error: Use ";" to terminate declarations.
"../3rdparty/javascriptcore/JavaScriptCore/interpreter/CallFrame.h", line 101: Warning: Implicit int is not supported in C++.
"../3rdparty/javascriptcore/JavaScriptCore/interpreter/CallFrame.h", line 101: Error: Multiple declaration for HashTable.
"../3rdparty/javascriptcore/JavaScriptCore/interpreter/CallFrame.h", line 101: Error: "," expected instead of "*".
"../3rdparty/javascriptcore/JavaScriptCore/interpreter/CallFrame.h", line 103: Error: Use ";" to terminate declarations.
Compilation aborted, too many Error messages.
gmake[1]: *** [obj/release/JSBase.o] Error 2
gmake[1]: Leaving directory `/var/tmp/qt-qt/src/script'
gmake: *** [sub-script-make_default-ordered] Error 2
host:/var/tmp/qt-qt/src root# cat -n 3rdparty/javascriptcore/JavaScriptCore/interpreter/CallFrame.h
85 JSValue* exceptionSlot()
{ return &globalData().exception; }86 bool hadException() const
{ return globalData().exception; } 87
88 const CommonIdentifiers& propertyNames() const
89 const MarkedArgumentBuffer& emptyList() const
{ return *globalData().emptyList; }90 Interpreter* interpreter()
{ return globalData().interpreter; }91 Heap* heap()
{ return &globalData().heap; } 92 #ifndef NDEBUG
93 void dumpCaller();
94 #endif
95 static const HashTable* arrayTable(CallFrame* callFrame)
96 static const HashTable* dateTable(CallFrame* callFrame)
{ return callFrame->globalData().dateTable; }97 static const HashTable* jsonTable(CallFrame* callFrame)
{ return callFrame->globalData().jsonTable; }98 static const HashTable* mathTable(CallFrame* callFrame)
{ return callFrame->globalData().mathTable; }99 static const HashTable* numberTable(CallFrame* callFrame)
{ return callFrame->globalData().numberTable; }100 static const HashTable* regExpTable(CallFrame* callFrame)
{ return callFrame->globalData().regExpTable; }101 static const HashTable* regExpConstructorTable(CallFrame* callFrame)
{ return callFrame->globalData().regExpConstructorTable; }102 static const HashTable* stringTable(CallFrame* callFrame)
{ return callFrame->globalData().stringTable; }103
What can I alter those lines (88 -> 103) to to make them compliant to the C++ standard?