Kaynağa Gözat

A first cut at a release grade qt package. This should build on all platforms and link to applications properly at runtime.

Ralf S. Engelschall 24 yıl önce
ebeveyn
işleme
f18295f30a
2 değiştirilmiş dosya ile 155 ekleme ve 11 silme
  1. 12 11
      qt/qt.spec
  2. 143 0
      qt/readme.txt

+ 12 - 11
qt/qt.spec

@@ -23,7 +23,7 @@
 ##  SUCH DAMAGE.
 ##
 
-#   package option, soup denotes almost all GUI features
+#   package option, other switch denotes almost all GUI features
 %ifndef       with_freetype
 %define       with_freetype no
 %endif
@@ -37,11 +37,11 @@ Summary:      The Qt Toolkit
 URL:          http://www.trolltech.com/products/qt/x11.html
 Vendor:       TrollTech AS
 Packager:     The OpenPKG Project
-Distribution: OpenPKG [EXP]
+Distribution: OpenPKG [REL]
 Group:        X11
 License:      GPL
 Version:      3.0.4
-Release:      20020606
+Release:      20020611
 
 #   list of sources
 Source0:      ftp://ftp.trolltech.com/qt/source/qt-x11-free-%{version}.tar.gz
@@ -49,8 +49,8 @@ Source0:      ftp://ftp.trolltech.com/qt/source/qt-x11-free-%{version}.tar.gz
 #   build information
 Prefix:       %{l_prefix}
 BuildRoot:    %{l_buildroot}
-BuildPreReq:  OpenPKG, openpkg >= 20020206, gcc, X11, jpeg, png, zlib
-PreReq:       OpenPKG, openpkg >= 20020206, X11, jpeg, png, zlib
+BuildPreReq:  OpenPKG, openpkg >= 20020206, gcc, X11
+PreReq:       OpenPKG, openpkg >= 20020206, X11
 %if "%{with_freetype}" == "yes"
 BuildPreReq:  freetype
 PreReq:       freetype
@@ -61,11 +61,11 @@ AutoReqProv:  no
 # FIXME Do we need PreReq to match BuildPreReq?
 %description
     Qt is a GUI (graphical user interface) software toolkit which simplifies
-    the task of writing and maintaining GUIs. Qt enables the developer to
+    the task of writing and maintaining GUIs, and allows the developer to
     create prototypes and feature-rich applications quickly. Offering C++
     library bindings, Qt enables development in an object-oriented
-    environment, and appeals to developers with portability in mind. Qt's
-    identical C++ library bindings allow for error-free recompiling on at
+    environment and appeals to developers with portability in mind. Qt's
+    portable C++ library bindings allow for error-free recompiling on at
     least the three major platforms Unix (and Linux), Apple Macintosh, and
     Microsoft Windows. Its API architecture is designed to reduce complexity
     and increase reliability through a signal and slot mechanism, which is
@@ -90,9 +90,10 @@ AutoReqProv:  no
             ;;
     esac
     echo "yes" | ./configure \
-        -platform $oscomp -prefix %{l_prefix} \
-        -release -shared -thread -stl -qt-gif \
-        -system-libpng -system-zlib -system-libjpeg \
+        -prefix %{l_prefix} -release \
+        -static -qt-gif -qt-zlib \
+        -platform $oscomp -thread -stl \
+        -qt-libpng -qt-libjpeg -qt-libmng \
         -no-nas-sound -no-tablet -no-xkb \
 %if "%{with_freetype}" == "yes"
         -xft \

+ 143 - 0
qt/readme.txt

@@ -0,0 +1,143 @@
+It would be nice to build qt with -system-libpng, but on a Solaris system
+our our png package is broken. Search for the symbol 'deflate' using nm on
+the libpng.[aso] of OpenPKG on a Solaris system. It is possible that similar
+problems exist in using -system-libjpeg, and -system-libmng. I chose to
+set all to -qt-lib* for consistency.
+
+For use of dynamic plugins, it is desirable to build qt with -shared, but
+other problems exist with OpenPKG gcc-3.1-* on all platforms. Therefore qt
+builds with -static now. See the last bunch of error messages for details.
+
+                                    - Michael Schloh von Bennewitz
+
+-------- First problem building with -system-libpng
+
+$ rpm --rebuild qt-3.0.4-20020610.src.rpm
+
+...cut here
+
+./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
+
+...cut here
+
+g++ -Wl,-R,/opkg/lib -o ../../../bin/uic .obj/release-mt/main.o
+.obj/release-mt/uic.o .obj/release-mt/form.o .obj/release-mt/object.o
+.obj/release-mt/subclassing.o .obj/release-mt/embed.o
+.obj/release-mt/widgetdatabase.o .obj/release-mt/domtool.o
+.obj/release-mt/parser.o   -L/opkg/lib
+-Wl,-R,/export/home/mschloh/tmp/qt-x11-free-3.0.4/lib
+-L/export/home/mschloh/tmp/qt-x11-free-3.0.4/lib -L/usr/openwin/lib -lz
+-lqt-mt -lthread -ldl -lXext -lX11 -lresolv -lsocket -lnsl -L/opkg/lib
+-L/usr/openwin/lib -lpng
+Undefined                       first referenced
+ symbol                             in file
+deflateInit2_                       /opkg/lib/libpng.a(pngwutil.o)
+deflateReset                        /opkg/lib/libpng.a(pngwutil.o)
+deflate                             /opkg/lib/libpng.a(pngwutil.o)
+deflateEnd                          /opkg/lib/libpng.a(pngwrite.o)
+crc32                               /opkg/lib/libpng.a(png.o)
+compress
+/export/home/mschloh/tmp/qt-x11-free-3.0.4/lib/libqt-mt.a(qpngio.o)
+ld: fatal: Symbol referencing errors. No output written to ../../../bin/uic
+collect2: ld returned 1 exit status
+make[3]: *** [../../../bin/uic] Error 1
+make[2]: *** [sub-uic] Error 2
+make[1]: *** [sub-designer] Error 2
+make: *** [sub-tools] Error 2
+error: Bad exit status from /export/home/mschloh/tmp/rpm-tmp.24302 (%build)
+
+
+RPM build errors:
+    Bad exit status from /export/home/mschloh/tmp/rpm-tmp.24302 (%build)
+
+-------- New clues regarding -system-zlib but others -qt-lib*
+
+g++ -Wl,-R,/opkg/lib -o ../../../bin/uic .obj/release-mt/main.o
+.obj/release-mt/uic.o .obj/release-mt/form.o .obj/release-mt/object.o
+.obj/release-mt/subclassing.o .obj/release-mt/embed.o
+.obj/release-mt/widgetdatabase.o .obj/release-mt/domtool.o
+.obj/release-mt/parser.o   -L/opkg/lib
+-Wl,-R,/export/home/mschloh/tmp/qt-x11-free-3.0.4/lib
+-L/export/home/mschloh/tmp/qt-x11-free-3.0.4/lib -L/usr/openwin/lib -lz
+-lqt-mt -lthread -ldl -lXext -lX11 -lresolv -lsocket -lnsl -L/opkg/lib
+-L/usr/openwin/lib
+Undefined                       first referenced
+ symbol                             in file
+deflateInit2_
+/export/home/mschloh/tmp/qt-x11-free-3.0.4/lib/libqt-mt.a(pngwutil.o)
+deflateReset
+/export/home/mschloh/tmp/qt-x11-free-3.0.4/lib/libqt-mt.a(pngwutil.o)
+deflate
+/export/home/mschloh/tmp/qt-x11-free-3.0.4/lib/libqt-mt.a(pngwrite.o)
+deflateEnd
+/export/home/mschloh/tmp/qt-x11-free-3.0.4/lib/libqt-mt.a(pngwrite.o)
+crc32
+/export/home/mschloh/tmp/qt-x11-free-3.0.4/lib/libqt-mt.a(png.o)
+compress
+/export/home/mschloh/tmp/qt-x11-free-3.0.4/lib/libqt-mt.a(qpngio.o)
+ld: fatal: Symbol referencing errors. No output written to ../../../bin/uic
+collect2: ld returned 1 exit status
+make[3]: *** [../../../bin/uic] Error 1
+make[2]: *** [sub-uic] Error 2
+make[1]: *** [sub-designer] Error 2
+make: *** [sub-tools] Error 2
+error: Bad exit status from /export/home/mschloh/tmp/rpm-tmp.13228 (%build)
+
+
+RPM build errors:
+    Bad exit status from /export/home/mschloh/tmp/rpm-tmp.13228 (%build)
+
+-------- Next problem is building with -shared
+
+...cut here
+
+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
+
+Text relocation remains                         referenced
+    against symbol                  offset      in file
+<unknown>                           0x2e
+/opkg/lib/libstdc++.a(eh_personality.o)
+__gxx_exception_cleanup(_Unwind_Reason_Code, _Unwind_Exception*)     0x38
+/opkg/lib/libstdc++.a(eh_throw.o)
+<unknown>                           0x9         /opkg/lib/libstdc++.a(pure.o)
+emergency_used                      0x3f        /opkg/lib/libstdc++.a(eh_alloc.o)
+emergency_used                      0x7d        /opkg/lib/libstdc++.a(eh_alloc.o)
+emergency_buffer                    0x83        /opkg/lib/libstdc++.a(eh_alloc.o)
+emergency_mutex                     0x9c        /opkg/lib/libstdc++.a(eh_alloc.o)
+emergency_mutex                     0xae        /opkg/lib/libstdc++.a(eh_alloc.o)
+emergency_buffer                    0x9         /opkg/lib/libstdc++.a(eh_alloc.o)
+emergency_buffer                    0x10        /opkg/lib/libstdc++.a(eh_alloc.o)
+emergency_buffer                    0x1a        /opkg/lib/libstdc++.a(eh_alloc.o)
+emergency_used                      0x35        /opkg/lib/libstdc++.a(eh_alloc.o)
+emergency_mutex                     0x47        /opkg/lib/libstdc++.a(eh_alloc.o)
+emergency_mutex                     0x5c        /opkg/lib/libstdc++.a(eh_alloc.o)
+globals_key                         0xb         /opkg/lib/libstdc++.a(eh_globals.o)
+get_globals_dtor(void*)             0x7         /opkg/lib/libstdc++.a(eh_globals.o)
+globals_key                         0xc         /opkg/lib/libstdc++.a(eh_globals.o)
+use_thread_key                      0x21        /opkg/lib/libstdc++.a(eh_globals.o)
+use_thread_key                      0x1a        /opkg/lib/libstdc++.a(eh_globals.o)
+use_thread_key                      0x26        /opkg/lib/libstdc++.a(eh_globals.o)
+get_globals_init()                  0x34        /opkg/lib/libstdc++.a(eh_globals.o)
+get_globals_init_once()::once       0x39        /opkg/lib/libstdc++.a(eh_globals.o)
+use_thread_key                      0x8         /opkg/lib/libstdc++.a(eh_globals.o)
+globals_static                      0x11        /opkg/lib/libstdc++.a(eh_globals.o)
+globals_key                         0x1d        /opkg/lib/libstdc++.a(eh_globals.o)
+use_thread_key                      0x7         /opkg/lib/libstdc++.a(eh_globals.o)
+globals_static                      0xe         /opkg/lib/libstdc++.a(eh_globals.o) 
+globals_key                         0x1d        /opkg/lib/libstdc++.a(eh_globals.o)
+globals_key                         0x4f        /opkg/lib/libstdc++.a(eh_globals.o)
+use_thread_key                      0x77        /opkg/lib/libstdc++.a(eh_globals.o)
+globals_static                      0x7e        /opkg/lib/libstdc++.a(eh_globals.o)
+<unknown>                           0x0         /opkg/lib/libstdc++.a(eh_personality.o)
+vtable for std::type_info           0xb         /opkg/lib/libstdc++.a(tinfo.o)
+vtable for std::type_info           0xb         /opkg/lib/libstdc++.a(tinfo.o)
+vtable for std::type_info           0xb         /opkg/lib/libstdc++.a(tinfo.o)
+_Unwind_DeleteException             0x3d
+/opkg/lib/libstdc++.a(eh_catch.o)
+_Unwind_GetIP                       0x88
+/opkg/lib/libstdc++.a(eh_personality.o)
+__cxxabiv1::__class_type_info::__do_upcast(__cxxabiv1::__class_type_info
+const*, void const*, __cxxabiv1::__class_type_info::__upcast_result&)
+const0x19        /opkg/lib/libstdc++.a(tinfo.o)
+
+...cut here