感谢支持
我们一直在努力

Oralce Solaris 11 源码安装Qt 4.8.3

1. 通过Package Manager安装gcc-4.5、developer-gnu、developer/icu
 
2. 将Qt 4.8.3的源码解压,进入源码目录后执行:
 
./configure -platform solaris-g++ -no-webkit  -no-qt3support -no-declarative >./configure.logs
 
部分输出:

… …
 
Creating qmake. Please wait…
 gmake: Nothing to be done for `first’.
 rm -f endiantest.o
 rm -f *~ core *.core
 rm -f endiantest
rm -f Makefile
 rm -f endiantest.o
 rm -f *~ core *.core
 rm -f endiantest
rm -f Makefile
 
        This target is using the GNU C++ compiler (solaris-g++).
 
        Recent versions of this compiler automatically include code for
        exceptions, which increase both the size of the Qt libraries and
        the amount of memory taken by your applications.
 
        You may choose to re-run configure with the -no-exceptions
        option to compile Qt without exceptions. This is completely binary
        compatible, and existing applications will continue to work.
 

Build type:    solaris-g++
 Architecture:  i386
 
Build ……………… libs tools examples demos docs translations
 Configuration ……….  release shared dll largefile stl precompile_header mmx 3dnow sse sse2 sse3 ssse3 sse4_1 sse4_2 avx  minimal-config small-config medium-config large-config full-config phonon phonon-backend accessibility opengl reduce_exports ipv6 clock-gettime clock-monotonic getaddrinfo ipv6ifname getifaddrs system-jpeg system-png png system-tiff system-freetype system-zlib nis cups sun-libiconv glib gstreamer dbus openssl x11sm xshape xvideo xsync xrender mitshm fontconfig xkb icu concurrent xmlpatterns multimedia audio-backend svg script scripttools release
 Debug ……………… no
 Qt 3 compatibility ….. no
 QtDBus module ………. yes (run-time)
 QtConcurrent code …… yes
 QtGui module ……….. yes
 QtScript module …….. yes
 QtScriptTools module … yes
 QtXmlPatterns module … yes
 Phonon module ………. yes
 Multimedia module …… auto
 SVG module …………. yes
 WebKit module ………. no
 JavaScriptCore JIT ….. To be decided by JavaScriptCore
 Declarative module ….. no
 Support for S60 …….. no
 Symbian DEF files …… no
 STL support ………… yes
 PCH support ………… yes
 MMX/3DNOW/SSE/SSE2/SSE3. yes/yes/yes/yes/yes
 SSSE3/SSE4.1/SSE4.2….. yes/yes/yes
 AVX………………… yes
 Graphics System …….. default
 IPv6 support ……….. yes
 IPv6 ifname support …. yes
 getaddrinfo support …. yes
 getifaddrs support ….. yes
 Accessibility ………. yes
 NIS support ………… yes
 CUPS support ……….. yes
 Iconv support ………. sun
 Glib support ……….. yes
 GStreamer support …… yes
 PulseAudio support ….. no
 Large File support ….. yes
 GIF support ………… plugin
 TIFF support ……….. plugin (system)
 JPEG support ……….. plugin (system)
 PNG support ………… yes (system)
 MNG support ………… plugin (qt)
 zlib support ……….. system
 Session management ….. yes
 OpenGL support ……… yes (Desktop OpenGL)
 OpenVG support ……… no
 NAS sound support …… no
 XShape support ……… yes
 XVideo support ……… yes
 XSync support ………. yes
 Xinerama support ……. runtime
 Xcursor support …….. runtime
 Xfixes support ……… runtime
 Xrandr support ……… runtime
 Xrender support …….. yes
 Xi support …………. no
 MIT-SHM support …….. yes
 FontConfig support ….. yes
 XKB Support ………… yes
 immodule support ……. yes
 GTK theme support …… yes
 SQLite support ……… plugin (qt)
 OpenSSL support …….. yes (run-time)
 Alsa support ……….. no
 ICD support ………… no
 libICU support ……… yes
 
Finding project files. Please wait…
 
… …
 

Qt is now configured for building. Just run ‘gmake’.
 Once everything is built, you must run ‘gmake install’.
 Qt will be installed into /usr/local/Trolltech/Qt-4.8.3
 
To reconfigure, run ‘gmake confclean’ and ‘configure’.

3. 执行:
 
gmake
 
… …
 
编译过程中遇到错误:
 
std::_List_node_base::_M_hook(std::_List_node_base*)
 
std::_List_node_base::_M_unhook()
 
… …
 
解决办法:在生成的Makefile中的LFLAGS项后面追加 -Wl,-R,/usr/gcc/4.5/lib和LIBS项前面追加-L/usr/gcc/4.5/lib
 
或者在第二步configure时通过 -L补上该内容。
 
参考:http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43882

Yuri          2010-04-25 01:17:04 UTC       

Sorry, my bad.

It really was picking up the default libstdc++.so from the OS installation. I
used -R/path/to/4.5.0/libstdc++.so to fix this library path. But it turns out
that -L/path/to/4.5.0/libstdc++.so is also required in addition to this,
otherwise the default libstdc++.so is looked up by linker.

Maybe this is a bug in linker, don’t know.

But those new symbols revealed the problem.

赞(0) 打赏
转载请注明出处:服务器评测 » Oralce Solaris 11 源码安装Qt 4.8.3
分享到: 更多 (0)

听说打赏我的人,都进福布斯排行榜啦!

支付宝扫一扫打赏

微信扫一扫打赏