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
