readme.txt 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182
  1. It would be nice to build qt with -system-libpng, but on a Solaris system
  2. our our png package is broken. Search for the symbol 'deflate' using nm on
  3. the libpng.[aso] of OpenPKG on a Solaris system. It is possible that similar
  4. problems exist in using -system-libjpeg, and -system-libmng. I chose to
  5. set all to -qt-lib* for consistency.
  6. For use of dynamic plugins, it is desirable to build qt with -shared, but
  7. other problems exist with OpenPKG gcc-3.1-* on all platforms. Therefore qt
  8. builds with -static now. See the last bunch of error messages for details.
  9. Lastly, the resulting qt package seems to work fine. However, subsequent
  10. package upgrades fail to build. The workaround is to deinstall the qt package
  11. from an OpenPKG instance before trying to build a newer version. I don't know
  12. what is causing this problem and unfortunately Trolltech has its own build
  13. standard, making it even harder to troubleshoot.
  14. - Michael Schloh von Bennewitz
  15. Fragen:
  16. Is there a way to tell Qt where to find the freetype includes and libraries during configuration buildtime?
  17. Freetype is an option, but only comprehensive testing will tell if the OpenPKG
  18. freetype package is used during building and then later at runtime also.
  19. Fragen:
  20. Why doesn't DESTDIR work?
  21. Antwort:
  22. Qt uses $INSTALL_ROOT instead, but isn't recursively passed to subsequent
  23. make calls so is relatively useless in a spec file.
  24. Files Problem:
  25. root@dt4# rpm -Uvh
  26. /u/ms/work/openpkg/pkg/bin/qt-3.0.6-20021105.ix86-freebsd4.7-sw.rpm
  27. Preparing... ########################################### [100%]
  28. package qt-3.0.6-20021105 is already installed
  29. file /sw/bin/designer from install of qt-3.0.6-20021105 conflicts with file from package qt-3.0.6-20021105
  30. file /sw/bin/linguist from install of qt-3.0.6-20021105 conflicts with file from package qt-3.0.6-20021105
  31. file /sw/bin/lrelease from install of qt-3.0.6-20021105 conflicts with file from package qt-3.0.6-20021105
  32. file /sw/bin/lupdate from install of qt-3.0.6-20021105 conflicts with file from package qt-3.0.6-20021105
  33. file /sw/bin/qtconfig from install of qt-3.0.6-20021105 conflicts with file from package qt-3.0.6-20021105
  34. file /sw/bin/uic from install of qt-3.0.6-20021105 conflicts with file from package qt-3.0.6-20021105
  35. file /sw/lib/libeditor.prl from install of qt-3.0.6-20021105 conflicts with file from package qt-3.0.6-20021105
  36. file /sw/lib/libqnp.prl from install of qt-3.0.6-20021105 conflicts with file from package qt-3.0.6-20021105
  37. file /sw/lib/libqt-mt.a from install of qt-3.0.6-20021105 conflicts with file from package qt-3.0.6-20021105
  38. file /sw/lib/libqt-mt.prl from install of qt-3.0.6-20021105 conflicts with file from package qt-3.0.6-20021105
  39. file /sw/lib/libqui.a from install of qt-3.0.6-20021105 conflicts with file from package qt-3.0.6-20021105
  40. file /sw/lib/libqui.prl from install of qt-3.0.6-20021105 conflicts with file from package qt-3.0.6-20021105
  41. file /sw/lib/libqxt.prl from install of qt-3.0.6-20021105 conflicts with file from package qt-3.0.6-20021105
  42. file /sw/bin/assistant from install of qt-3.0.6-20021105 conflicts with file from package qt-3.0.6-20021105
  43. root@dt4# rpm -e qt
  44. -------- First problem building with -system-libpng
  45. $ rpm --rebuild qt-3.0.4-20020610.src.rpm
  46. ...cut here
  47. ./configure -platform solaris-g++ -prefix /opkg -release -static -thread -stl -qt-gif -qt-libmng -system-libpng -system-zlib -system-libjpeg -no-nas-sound -no-tablet -no-xkb -no-xft -no-sm -no-xinerama -no-xrender -I/opkg/include -L/opkg/lib -R/opkg/lib
  48. ...cut here
  49. g++ -Wl,-R,/opkg/lib -o ../../../bin/uic .obj/release-mt/main.o
  50. .obj/release-mt/uic.o .obj/release-mt/form.o .obj/release-mt/object.o
  51. .obj/release-mt/subclassing.o .obj/release-mt/embed.o
  52. .obj/release-mt/widgetdatabase.o .obj/release-mt/domtool.o
  53. .obj/release-mt/parser.o -L/opkg/lib
  54. -Wl,-R,/export/home/mschloh/tmp/qt-x11-free-3.0.4/lib
  55. -L/export/home/mschloh/tmp/qt-x11-free-3.0.4/lib -L/usr/openwin/lib -lz
  56. -lqt-mt -lthread -ldl -lXext -lX11 -lresolv -lsocket -lnsl -L/opkg/lib
  57. -L/usr/openwin/lib -lpng
  58. Undefined first referenced
  59. symbol in file
  60. deflateInit2_ /opkg/lib/libpng.a(pngwutil.o)
  61. deflateReset /opkg/lib/libpng.a(pngwutil.o)
  62. deflate /opkg/lib/libpng.a(pngwutil.o)
  63. deflateEnd /opkg/lib/libpng.a(pngwrite.o)
  64. crc32 /opkg/lib/libpng.a(png.o)
  65. compress
  66. /export/home/mschloh/tmp/qt-x11-free-3.0.4/lib/libqt-mt.a(qpngio.o)
  67. ld: fatal: Symbol referencing errors. No output written to ../../../bin/uic
  68. collect2: ld returned 1 exit status
  69. make[3]: *** [../../../bin/uic] Error 1
  70. make[2]: *** [sub-uic] Error 2
  71. make[1]: *** [sub-designer] Error 2
  72. make: *** [sub-tools] Error 2
  73. error: Bad exit status from /export/home/mschloh/tmp/rpm-tmp.24302 (%build)
  74. RPM build errors:
  75. Bad exit status from /export/home/mschloh/tmp/rpm-tmp.24302 (%build)
  76. -------- New clues regarding -system-zlib but others -qt-lib*
  77. g++ -Wl,-R,/opkg/lib -o ../../../bin/uic .obj/release-mt/main.o
  78. .obj/release-mt/uic.o .obj/release-mt/form.o .obj/release-mt/object.o
  79. .obj/release-mt/subclassing.o .obj/release-mt/embed.o
  80. .obj/release-mt/widgetdatabase.o .obj/release-mt/domtool.o
  81. .obj/release-mt/parser.o -L/opkg/lib
  82. -Wl,-R,/export/home/mschloh/tmp/qt-x11-free-3.0.4/lib
  83. -L/export/home/mschloh/tmp/qt-x11-free-3.0.4/lib -L/usr/openwin/lib -lz
  84. -lqt-mt -lthread -ldl -lXext -lX11 -lresolv -lsocket -lnsl -L/opkg/lib
  85. -L/usr/openwin/lib
  86. Undefined first referenced
  87. symbol in file
  88. deflateInit2_
  89. /export/home/mschloh/tmp/qt-x11-free-3.0.4/lib/libqt-mt.a(pngwutil.o)
  90. deflateReset
  91. /export/home/mschloh/tmp/qt-x11-free-3.0.4/lib/libqt-mt.a(pngwutil.o)
  92. deflate
  93. /export/home/mschloh/tmp/qt-x11-free-3.0.4/lib/libqt-mt.a(pngwrite.o)
  94. deflateEnd
  95. /export/home/mschloh/tmp/qt-x11-free-3.0.4/lib/libqt-mt.a(pngwrite.o)
  96. crc32
  97. /export/home/mschloh/tmp/qt-x11-free-3.0.4/lib/libqt-mt.a(png.o)
  98. compress
  99. /export/home/mschloh/tmp/qt-x11-free-3.0.4/lib/libqt-mt.a(qpngio.o)
  100. ld: fatal: Symbol referencing errors. No output written to ../../../bin/uic
  101. collect2: ld returned 1 exit status
  102. make[3]: *** [../../../bin/uic] Error 1
  103. make[2]: *** [sub-uic] Error 2
  104. make[1]: *** [sub-designer] Error 2
  105. make: *** [sub-tools] Error 2
  106. error: Bad exit status from /export/home/mschloh/tmp/rpm-tmp.13228 (%build)
  107. RPM build errors:
  108. Bad exit status from /export/home/mschloh/tmp/rpm-tmp.13228 (%build)
  109. -------- Next problem is building with -shared
  110. ...cut here
  111. g++ -Wl,-R,/opkg/lib -shared -h libqt.so.3 -Wl,-R,/export/home/mschloh/tmp/qt-x11-free-3.0.4/lib/ -o libqt.so.3.0.4 .obj/release/qapplication_x11.o .obj/release/qclipboard_x11.o .obj/release/qcolor_x11.o .obj/release/qcursor_x11.o .obj/release/qdnd_x11.o .obj/release/qdesktopwidget_x11.o .obj/release/qfont_x11.o .obj/release/qinputcontext_x11.o .obj/release/qmotifdnd_x11.o .obj/release/qpixmap_x11.o .obj/release/qpaintdevice_x11.o ...cut here
  112. Text relocation remains referenced
  113. against symbol offset in file
  114. <unknown> 0x2e
  115. /opkg/lib/libstdc++.a(eh_personality.o)
  116. __gxx_exception_cleanup(_Unwind_Reason_Code, _Unwind_Exception*) 0x38
  117. /opkg/lib/libstdc++.a(eh_throw.o)
  118. <unknown> 0x9 /opkg/lib/libstdc++.a(pure.o)
  119. emergency_used 0x3f /opkg/lib/libstdc++.a(eh_alloc.o)
  120. emergency_used 0x7d /opkg/lib/libstdc++.a(eh_alloc.o)
  121. emergency_buffer 0x83 /opkg/lib/libstdc++.a(eh_alloc.o)
  122. emergency_mutex 0x9c /opkg/lib/libstdc++.a(eh_alloc.o)
  123. emergency_mutex 0xae /opkg/lib/libstdc++.a(eh_alloc.o)
  124. emergency_buffer 0x9 /opkg/lib/libstdc++.a(eh_alloc.o)
  125. emergency_buffer 0x10 /opkg/lib/libstdc++.a(eh_alloc.o)
  126. emergency_buffer 0x1a /opkg/lib/libstdc++.a(eh_alloc.o)
  127. emergency_used 0x35 /opkg/lib/libstdc++.a(eh_alloc.o)
  128. emergency_mutex 0x47 /opkg/lib/libstdc++.a(eh_alloc.o)
  129. emergency_mutex 0x5c /opkg/lib/libstdc++.a(eh_alloc.o)
  130. globals_key 0xb /opkg/lib/libstdc++.a(eh_globals.o)
  131. get_globals_dtor(void*) 0x7 /opkg/lib/libstdc++.a(eh_globals.o)
  132. globals_key 0xc /opkg/lib/libstdc++.a(eh_globals.o)
  133. use_thread_key 0x21 /opkg/lib/libstdc++.a(eh_globals.o)
  134. use_thread_key 0x1a /opkg/lib/libstdc++.a(eh_globals.o)
  135. use_thread_key 0x26 /opkg/lib/libstdc++.a(eh_globals.o)
  136. get_globals_init() 0x34 /opkg/lib/libstdc++.a(eh_globals.o)
  137. get_globals_init_once()::once 0x39 /opkg/lib/libstdc++.a(eh_globals.o)
  138. use_thread_key 0x8 /opkg/lib/libstdc++.a(eh_globals.o)
  139. globals_static 0x11 /opkg/lib/libstdc++.a(eh_globals.o)
  140. globals_key 0x1d /opkg/lib/libstdc++.a(eh_globals.o)
  141. use_thread_key 0x7 /opkg/lib/libstdc++.a(eh_globals.o)
  142. globals_static 0xe /opkg/lib/libstdc++.a(eh_globals.o)
  143. globals_key 0x1d /opkg/lib/libstdc++.a(eh_globals.o)
  144. globals_key 0x4f /opkg/lib/libstdc++.a(eh_globals.o)
  145. use_thread_key 0x77 /opkg/lib/libstdc++.a(eh_globals.o)
  146. globals_static 0x7e /opkg/lib/libstdc++.a(eh_globals.o)
  147. <unknown> 0x0 /opkg/lib/libstdc++.a(eh_personality.o)
  148. vtable for std::type_info 0xb /opkg/lib/libstdc++.a(tinfo.o)
  149. vtable for std::type_info 0xb /opkg/lib/libstdc++.a(tinfo.o)
  150. vtable for std::type_info 0xb /opkg/lib/libstdc++.a(tinfo.o)
  151. _Unwind_DeleteException 0x3d
  152. /opkg/lib/libstdc++.a(eh_catch.o)
  153. _Unwind_GetIP 0x88
  154. /opkg/lib/libstdc++.a(eh_personality.o)
  155. __cxxabiv1::__class_type_info::__do_upcast(__cxxabiv1::__class_type_info
  156. const*, void const*, __cxxabiv1::__class_type_info::__upcast_result&)
  157. const0x19 /opkg/lib/libstdc++.a(tinfo.o)
  158. ...cut here