Qt3
Download Source: | http://ftp.silug.org/mirrors/ftp.trolltech.com/qt/source/qt-x11-free-3.3.8.tar.bz2 |
---|
Contents
Introduction to Qt3
The Qt3 package contains a C++ GUI library. This is useful for creating graphical applications or executing graphical applications that are dynamically linked to the Qt3 library. One of the major users of Qt3 is KDE (in particular, KDE 3).
Note: These instructions assume that you want to install Qt3 with /opt as the prefix instead of the normal /usr. If you wish to install Qt3 in /usr, then you will need to adjust the commands accordingly.
Dependencies
Required
Optional
Extra
If you would like to compile with MySQL support add the following to the configure command:
-qt-sql-mysql
And run this sed before compiling:
sed -i "s@mysql.h@mysql/mysql.h@g" src/sql/drivers/mysql/qsql_mysql.h
If you would like to compile with NAS support add the following to the configure command:
-system-nas-sound
Note to DESTDIR Fans
Unfortunately Qt3 ignores DESTDIR. However, it uses INSTALL_ROOT for the same purpose, so use INSTALL_ROOT as you would normally use DESTDIR.
Non-Multilib
If you're X Window System prefix is something other then /usr/X11R6 then run the following command to change the hard coded paths in the sources:
for file in $(grep -lr "X11R6" *) do sed -i "s@/usr/X11R6@${XORG_PREFIX}@g" $file done
Compile the package:
bash export QTDIR=$PWD && export LD_LIBRARY_PATH=$PWD/lib:$LD_LIBRARY_PATH && export PATH=$PWD/bin:$PATH && ./configure -prefix /opt/qt-3.3.8 \ -sysconfdir /etc/qt \ -qt-gif \ -system-zlib \ -system-libpng \ -system-libjpeg \ -system-libmng \ -plugin-imgfmt-png \ -plugin-imgfmt-jpeg \ -plugin-imgfmt-mng \ -no-exceptions \ -thread \ -tablet && make && exit
Install the package
make install && ln -v -sfn qt-3.3.8 /opt/qt && ln -v -s libqt-mt.so /opt/qt/lib/libqt.so && cp -v -r doc/man /opt/qt/doc && cp -v -r examples /opt/qt/doc
Multilib
32Bit
If you're X Window System prefix is something other then /usr/X11R6 then run the following command to change the hard coded paths in the sources:
for file in $(grep -lr "X11R6" *) do sed -i "s@/usr/X11R6@${XORG_PREFIX}@g" $file done
Compile the package:
bash export QTDIR=$PWD && export LD_LIBRARY_PATH=$PWD/lib:$LD_LIBRARY_PATH && export PATH=$PWD/bin:$PATH && export QMAKESPEC=linux-g++-32 && ./configure -prefix /opt/qt-3.3.8 \ -plugindir /opt/qt-3.3.8/lib/plugin \ -sysconfdir /etc/qt \ -qt-gif \ -system-zlib \ -system-libpng \ -system-libjpeg \ -system-libmng \ -plugin-imgfmt-png \ -plugin-imgfmt-jpeg \ -plugin-imgfmt-mng \ -no-exceptions \ -thread \ -tablet && make && exit
Install the package
make install && mv -v /opt/qt-3.3.8/bin/qmake{,-32} && mv -v /opt/qt-3.3.8/bin/uic{,-32} && mv -v /opt/qt-3.3.8/bin/moc{,-32} && mv -v /opt/qt-3.3.8/bin/qtconfig{,-32} && ln -v -s libqt-mt.so /opt/qt-3.3.8/lib/libqt.so
N32
TO BE DONE
64Bit
If you're X Window System prefix is something other then /usr/X11R6 then run the following command to change the hard coded paths in the sources:
for file in $(grep -lr "X11R6" *) do sed -i "s@/usr/X11R6@${XORG_PREFIX}@g" $file done
Compile the package
bash export QTDIR=$PWD && export LD_LIBRARY_PATH=$PWD/lib:$LD_LIBRARY_PATH && export PATH=$PWD/bin:$PATH && export QMAKESPEC=linux-g++-64 && ./configure -prefix /opt/qt-3.3.8 \ -libdir /opt/qt-3.3.8/lib64 \ -plugindir /opt/qt-3.3.8/lib64/plugin \ -L/usr/lib64 \ -sysconfdir /etc/qt \ -qt-gif \ -system-zlib \ -system-libpng \ -system-libjpeg \ -system-libmng \ -plugin-imgfmt-png \ -plugin-imgfmt-jpeg \ -plugin-imgfmt-mng \ -no-exceptions \ -thread \ -tablet && make && exit
Install the package
make install && mv -v /opt/qt-3.3.8/bin/qmake{,-64} && mv -v /opt/qt-3.3.8/bin/uic{,-64} && mv -v /opt/qt-3.3.8/bin/moc{,-64} && mv -v /opt/qt-3.3.8/bin/qtconfig{,-64} && ln -sfv /usr/bin/multiarch_wrapper /opt/qt-3.3.8/bin/qmake && ln -sfv /usr/bin/multiarch_wrapper /opt/qt-3.3.8/bin/uic && ln -sfv /usr/bin/multiarch_wrapper /opt/qt-3.3.8/bin/moc && ln -sfv /usr/bin/multiarch_wrapper /opt/qt-3.3.8/bin/qtconfig && ln -v -s libqt-mt.so /opt/qt-3.3.8/lib64/libqt.so && cp -v -r doc/man /opt/qt-3.3.8/doc && cp -v -r examples /opt/qt-3.3.8/doc && ln -v -sfn qt-3.3.8 /opt/qt
Fix a known issue with QTSPEC linux-g++-64:
sed -i "/^QMAKE_LIBDIR_QT/s:/lib:&64:" ${QTDIR}/mkspecs/linux-g++-64/qmake.conf
Configuring
profile.d/20-qt.sh
If you're using the setup defined in Bash Startup Files then run the following commands. If you're not using the setup defined in Bash Startup Files make sure that your enviornment is setup correctly.
Non-Multilib
cat > /etc/profile.d/20-qt.sh << "EOF" # Begin /etc/profile.d/20-qt.sh export QTDIR=/opt/qt export PATH="${PATH}:${QTDIR}/bin" export PKG_CONFIG_PATH="${PKG_CONFIG_PATH}${PKG_CONFIG_PATH+:}${QTDIR}/lib/pkgconfig" # End /etc/profile.d/20-qt.sh EOF source /etc/profile
Multilib
cat > /etc/profile.d/20-qt.sh << "EOF" # Begin /etc/profile.d/20-qt.sh export QTDIR=/opt/qt export PATH="${PATH}:${QTDIR}/bin" export PKG_CONFIG_PATH32="${PKG_CONFIG_PATH32}${PKG_CONFIG_PATH32+:}${QTDIR}/lib/pkgconfig" export PKG_CONFIG_PATHN32="${PKG_CONFIG_PATHN32}${PKG_CONFIG_PATHN32+:}${QTDIR}/lib32/pkgconfig" export PKG_CONFIG_PATH64="${PKG_CONFIG_PATH64}${PKG_CONFIG_PATH64+:}${QTDIR}/lib64/pkgconfig" # End /etc/profile.d/20-qt.sh EOF source /etc/profile
ld.so.conf
Non-Multilib
cat >> /etc/ld.so.conf << "EOF" && # Begin qt addition to /etc/ld.so.conf /opt/qt/lib # End qt addition EOF ldconfig
Multilib
cat >> /etc/ld.so.conf << "EOF" && # Begin qt addition to /etc/ld.so.conf /opt/qt/lib /opt/qt/lib32 /opt/qt/lib64 # End qt addition EOF ldconfig