Difference between revisions of "Qt4"

From CBLFS
Jump to navigationJump to search
m (4.5.1 builded & tested on amd64-pure with C(|XX)FLAGS="-march=athlon64 -mtune=athlon64 -O3" - builds fine and works really faster)
 
(17 intermediate revisions by 6 users not shown)
Line 1: Line 1:
{| style="text-align: left; background-color: AliceBlue;"
+
== Making a Selection ==
|-
 
!Download Source:
 
| ftp://ftp.trolltech.com/qt/source/qt-all-opensource-src-{{Qt4-Version}}.tar.gz
 
|}
 
  
----
+
From here you have two paths you can take. You can either install [[Qt4]] to /usr, not recommended because of conflicts with [[Qt3]] or you can install into /opt, recommended.
  
{{Package-Introduction|Qt is a comprehensive development framework that includes an extensive array of features, capabilities and tools that enable development of high-performance, cross-platform rich-client and server-side applications. Qt is the GUI framework on which [[KDE]] is built and Qt4 is the version of Qt that the upcoming [[KDE]]4 will use. You can of course use Qt for non-[[KDE]] applications as well, but if you wish to use [[KDE]] or any [[KDE]]-based applications, you must have Qt installed on your system.|http://www.trolltech.com/products/qt}}
+
* [[Qt4/opt]] (Recommended)
 +
* [[Qt4/usr]]
  
== Dependencies ==
+
[[Category:X Libs]]
 
 
=== Required ===
 
* [[X Window System]]
 
* [[LibTIFF]]
 
* [[libjpeg]]
 
* [[libmng]]
 
 
 
=== Optional ===
 
* Xinerama provided by and [[X Window System]]
 
* Xfixes provided by and [[X Window System]]
 
* [[Glib2]]
 
* [[FreeType]]
 
* [[D-BUS]]
 
* [[OpenSSL]]
 
* [[NAS]]
 
* [[CUPS]]
 
* [[MySQL]]
 
* [[PostgreSQL]]
 
* [[unixODBC]]
 
* [[SQLite]]
 
* [[SQLite3]]
 
* [[Firebird]]
 
 
 
== Configuration Information ==
 
 
 
If you would like to compile with [[MySQL]] support add the following to the configure command:
 
 
 
-plugin-sql-mysql -I/usr/include/mysql
 
 
 
If you would like to compile with [[PostgreSQL]] support add the following to the configure command:
 
 
 
-plugin-sql-psql -I/usr/include/postgresql/server
 
 
 
If you would like to compile with [[SQLite]] support add the following to the configure command:
 
 
 
-plugin-sql-sqlite2 -system-sqlite
 
 
 
If you would like to compile with [[unixODBC]] support add the following to the configure command:
 
 
 
-plugin-sql-odbc
 
 
 
If you would like to compile with [[NAS]] support add the following to the configure command:
 
 
 
-system-nas-sound
 
 
 
If you would like to disable Qt 3 support functionality add the following to the configure command:
 
 
 
-no-qt3support
 
 
 
If your [[X Window System]] is <font color="red">'''NOT'''</font> Xorg, then add to configure:
 
 
 
-no-xfixes
 
 
 
== 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:
 
 
 
./configure -prefix /opt/qt-{{Qt4-Version}} \
 
    -libdir /opt/qt-{{Qt4-Version}}/lib \
 
    -plugindir /opt/qt-{{Qt4-Version}}/lib/plugins \
 
    -headerdir /opt/qt-{{Qt4-Version}}/include \
 
    -datadir /opt/qt-{{Qt4-Version}}/share \
 
    -translationdir /opt/qt-{{Qt4-Version}}/share/translations \
 
    -docdir /opt/qt-{{Qt4-Version}}/share/doc/qt \
 
    -demosdir /opt/qt-{{Qt4-Version}}/share/demos \
 
    -examplesdir /opt/qt-{{Qt4-Version}}/share/examples
 
    -sysconfdir /etc/qt4 \
 
    -L/usr/lib \
 
    -qt-gif \
 
    -system-zlib \
 
    -system-libtiff \
 
    -system-libpng \
 
    -system-libmng \
 
    -system-libjpeg \
 
    -no-exceptions \
 
    -openssl \
 
    -opengl \
 
    -glib \
 
    -release &&
 
make
 
 
 
Install the package
 
 
 
make install &&
 
ln -v -sfn qt-{{Qt4-Version}} /opt/qt4
 
 
 
== 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
 
 
 
export QMAKESPEC=linux-g++-32 &&
 
PKG_CONFIG_PATH="${PKG_CONFIG_PATH32}" \
 
./configure -prefix /opt/qt-{{Qt4-Version}} \
 
    -libdir /opt/qt-{{Qt4-Version}}/lib \
 
    -plugindir /opt/qt-{{Qt4-Version}}/lib/plugins \
 
    -headerdir /opt/qt-{{Qt4-Version}}/include \
 
    -datadir /opt/qt-{{Qt4-Version}}/share \
 
    -translationdir /opt/qt-{{Qt4-Version}}/share/translations \
 
    -docdir /opt/qt-{{Qt4-Version}}/share/doc/qt \
 
    -demosdir /opt/qt-{{Qt4-Version}}/share/demos \
 
    -examplesdir /opt/qt-{{Qt4-Version}}/share/examples
 
    -sysconfdir /etc/qt4 \
 
    -L/usr/lib \
 
    -qt-gif \
 
    -system-zlib \
 
    -system-libtiff \
 
    -system-libpng \
 
    -system-libmng \
 
    -system-libjpeg \
 
    -no-exceptions \
 
    -openssl \
 
    -opengl \
 
    -glib \
 
    -release &&
 
make
 
 
 
Install the package
 
 
 
make install &&
 
mv -v /opt/qt-{{Qt4-Version}}/bin/qmake{,-32} &&
 
mv -v /opt/qt-{{Qt4-Version}}/bin/uic{,-32} &&
 
mv -v /opt/qt-{{Qt4-Version}}/bin/uic3{,-32} &&
 
mv -v /opt/qt-{{Qt4-Version}}/bin/moc{,-32} &&
 
mv -v /opt/qt-{{Qt4-Version}}/bin/qtconfig{,-32} &&
 
mv -v /opt/qt-{{Qt4-Version}}/include/Qt/qconfig{,-32}.h &&
 
mv -v /opt/qt-{{Qt4-Version}}/include/QtCore/qconfig{,-32}.h
 
 
 
=== 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
 
 
 
export QMAKESPEC=linux-g++-64 &&
 
PKG_CONFIG_PATH="${PKG_CONFIG_PATH64}" \
 
./configure -prefix /opt/qt-{{Qt4-Version}} \
 
    -libdir /opt/qt-{{Qt4-Version}}/lib64 \
 
    -plugindir /opt/qt-{{Qt4-Version}}/lib64/plugins \
 
    -headerdir /opt/qt-{{Qt4-Version}}/include \
 
    -datadir /opt/qt-{{Qt4-Version}}/share \
 
    -translationdir /opt/qt-{{Qt4-Version}}/share/translations \
 
    -docdir /opt/qt-{{Qt4-Version}}/share/doc/qt \
 
    -demosdir /opt/qt-{{Qt4-Version}}/share/demos \
 
    -examplesdir /opt/qt-{{Qt4-Version}}/share/examples
 
    -sysconfdir /etc/qt4 \
 
    -L/usr/lib64 \
 
    -qt-gif \
 
    -system-zlib \
 
    -system-libtiff \
 
    -system-libpng \
 
    -system-libmng \
 
    -system-libjpeg \
 
    -no-exceptions \
 
    -openssl \
 
    -opengl \
 
    -glib \
 
    -release &&
 
make
 
 
 
Install the package
 
 
 
make install &&
 
mv -v /opt/qt-{{Qt4-Version}}/bin/qmake{,-64} &&
 
mv -v /opt/qt-{{Qt4-Version}}/bin/uic{,-64} &&
 
mv -v /opt/qt-{{Qt4-Version}}/bin/uic3{,-64} &&
 
mv -v /opt/qt-{{Qt4-Version}}/bin/moc{,-64} &&
 
mv -v /opt/qt-{{Qt4-Version}}/bin/qtconfig{,-64} &&
 
mv -v /opt/qt-{{Qt4-Version}}/include/Qt/qconfig{,-64}.h &&
 
mv -v /opt/qt-{{Qt4-Version}}/include/QtCore/qconfig{,-64}.h
 
ln -sfv /usr/bin/multiarch_wrapper /opt/qt-{{Qt4-Version}}/bin/qmake &&
 
ln -sfv /usr/bin/multiarch_wrapper /opt/qt-{{Qt4-Version}}/bin/uic &&
 
ln -sfv /usr/bin/multiarch_wrapper /opt/qt-{{Qt4-Version}}/bin/uic3 &&
 
ln -sfv /usr/bin/multiarch_wrapper /opt/qt-{{Qt4-Version}}/bin/moc &&
 
ln -sfv /usr/bin/multiarch_wrapper /opt/qt-{{Qt4-Version}}/bin/qtconfig &&
 
ln -v -sfn qt-{{Qt4-Version}} /opt/qt4
 
 
 
Create two qconfig.h header files which select the actual architecture-dependent qconfig-{32,64}.h header files:
 
 
 
{{Stub-Header|qtconfig|/opt/qt-{{Qt4-Version}}/include/Qt}}
 
{{Stub-Header|qtconfig|/opt/qt-{{Qt4-Version}}/include/QtCore}}
 
 
 
== Configuring ==
 
 
 
=== Non-Multilib ===
 
 
 
==== /etc/profile.d/20-qt4.sh ====
 
 
 
Create an addition to the [[Bash Startup Files]]:
 
 
 
cat > /etc/profile.d/20-qt4.sh << "EOF"
 
# Begin /etc/profile.d/20-qt4.sh
 
 
export PATH="${PATH}:/opt/qt4/bin"
 
 
export PKG_CONFIG_PATH="${PKG_CONFIG_PATH}${PKG_CONFIG_PATH+:}/opt/qt4/lib"
 
 
# End /etc/profile.d/20-qt4.sh
 
EOF
 
 
 
==== ld.so.conf ====
 
 
 
cat >> /etc/ld.so.conf << "EOF" &&
 
# Begin qt4 addition to /etc/ld.so.conf
 
 
/opt/qt4/lib
 
 
# End qt4 addition
 
EOF
 
ldconfig
 
 
 
=== Multilib ===
 
 
 
==== /etc/profile.d/20-qt4.sh ====
 
 
 
Create an addition to the [[Bash Startup Files]]:
 
 
 
cat > /etc/profile.d/20-qt4.sh << "EOF"
 
# Begin /etc/profile.d/20-qt4.sh
 
 
export PATH="${PATH}:/opt/qt4/bin"
 
 
export PKG_CONFIG_PATH32="${PKG_CONFIG_PATH32}${PKG_CONFIG_PATH32+:}/opt/qt4/lib"
 
export PKG_CONFIG_PATHN32="${PKG_CONFIG_PATHN32}${PKG_CONFIG_PATHN32+:}/opt/qt4/lib32"
 
export PKG_CONFIG_PATH64="${PKG_CONFIG_PATH64}${PKG_CONFIG_PATH64+:}/opt/qt4/lib64"
 
 
# End /etc/profile.d/20-qt4.sh
 
EOF
 
 
 
==== ld.so.conf ====
 
 
 
cat >> /etc/ld.so.conf << "EOF" &&
 
# Begin qt4 addition to /etc/ld.so.conf
 
 
/opt/qt4/lib
 
/opt/qt4/lib32
 
/opt/qt4/lib64
 
 
# End qt4 addition
 
EOF
 
ldconfig
 

Latest revision as of 04:03, 24 April 2009

Making a Selection

From here you have two paths you can take. You can either install Qt4 to /usr, not recommended because of conflicts with Qt3 or you can install into /opt, recommended.