Em Terça-feira 20 Outubro 2009, às 20:43:48, ext Paul Floyd escreveu: > Hi > > On the web page http://qt.nokia.com/developer/qt-4.6-preview it says > > "Extended support for UNIX platforms, including Solaris 10, HP-UX and > AIX 6." > > There's this little bit in the changes-4.6.0 > > Platforms affected by this change: > * solaris-cc-* with the default (Cstd) C++ STL library > recommendation: use -library=stlport4 > See Sun Studio's documentation for the effects of this option > > but no actual explanation as to how to go about using stlport4.
Hi Paul You need to pass the "-library=stlport4" option to your compiler. You can do that by setting CXXFLAGS and LDFLAGS before running configure: CXXFLAGS=-library=stlport4 LDFLAGS=-library=stlport4 ./configure .... If you're building 64-bit, remember that CXXFLAGS overrides the mkspec, so you need to add the appropriate -xarch= option or -m64. E.g.: CXXFLAGS="-library=stlport4 -m64" LDFLAGS="-library=stlport4 -m64" ./configure Or, another possibility, is to edit your mkspecs/*/qmake.conf file and add the option there. > Looking at the configure script, the only diff I can see is that more > modules are disabled when building with obsolete compilers (true for > Solaris, HP aCC and AIX xLC from what I see). Not exactly what I'd call > "extended support". The change is in config.tests/unix/stl. See change f120b5e4b63cbc30874fa21947b75d352f18d7df. It basically amounts to these changes: + DummyIterator<int> it1, it2; + int n = std::distance(it1, it2); + std::advance(it1, 3); The Cstd STL supplied with Sun Studio cannot compile std::distance and std::advance properly (it requires an extra argument). I added the stricter testing because Qt Concurrent needs these two functions. What's more, WebKit's WTF is wholly unusable with Cstd. But it works with stlport4. > The configure script does not handle the latest Sun Studio (12 Update 1, > aka CC 5.10). > > PCH support ......... no > MMX/3DNOW/SSE/SSE2.. no/no/no/no > -> still no effort made for these with solaris-cc > > mkspecs/solaris-cc/qmake.conf doesn't seem to have changed and is quite > outdated. For the build described below, I've edited it to use stlport4 > amongst other changes. > > > "../JavaScriptCore/wtf/Vector.h", line 48: Error, usererror: #error > WTF_ALIGN macros need alignment control.. Hmm... This was fixed in the src/3rdparty/javascriptcore/wtf/Vector.h file, but not in src/3rdparty/webkit/wtf/Vector.h. The changes are being upstreamed to webkit, so they should land there soon. See also https://bugs.webkit.org/show_bug.cgi?id=24932. > (Compilation failure due to the use of non-standard extensions. Don't > tell me "compiler not supported because it isn't non-standard enough"). Interestingly, I think Sun CC supports the extension. But I'm not sure about the other two compilers we need to support (IBM xlC and HP aCC), so I kept the Vector workaround for all compilers. The Solaris machines build a lot more often than the AIX and HP-UX machines in the office, so we can catch the issue sooner. In contrast to Sun CC, xlC 7 is a worse compiler. It has a lot more issues with compilation requiring workarounds. aCC 6 is a good compiler, but I didn't have much experience with WebKit on it. But both of those come with a *standard* STL, which Sun CC doesn't. > (that one's a Sun CC defect afaik, problem with template instantiation) [snip] > (again maybe a Sun CC template problem) > > ./config.status -nomake examples All of those issues are either fixed or worked around (in the case of Sun CC defects) in the patches in the WebKit bug tracker above. Unfortunately, they tend to bit-rot. I last updated them in July/August. The JavaScriptCore patches are all merged in to src/3rdparty/javascriptcore and are being taken care of. The patches to WebKit and WebCore need attention. A couple of months ago, I managed to compile and link QtWebKit in debug mode with CC 5.9 on a Solaris 10 machine. I could even browse the web without a problem. -- Thiago Macieira - thiago.macieira (AT) nokia.com Senior Product Manager - Nokia, Qt Development Frameworks Sandakerveien 116, NO-0402 Oslo, Norway
signature.asc
Description: This is a digitally signed message part.
_______________________________________________ Qt4-preview-feedback mailing list [email protected] http://lists.trolltech.com/mailman/listinfo/qt4-preview-feedback
