LFS Xorg
Wirbel (Diskussion | Beiträge) (→QT installieren) |
Hulk (Diskussion | Beiträge) K (Hob den Schutz von „LFS Xorg“ auf) |
||
(58 dazwischenliegende Versionen von einem Benutzer werden nicht angezeigt) | |||
Zeile 9: | Zeile 9: | ||
===Xorg=== | ===Xorg=== | ||
====libpng-1.2.8==== | ====libpng-1.2.8==== | ||
− | + | Testen ob libpng-1.2.8 installiert ist | |
+ | <pre> | ||
+ | pkg-config --modversion libpng | ||
+ | </pre> | ||
+ | falls nicht installieren: | ||
<pre> | <pre> | ||
cd /usr/src | cd /usr/src | ||
Zeile 26: | Zeile 30: | ||
rm -r libpng-* | rm -r libpng-* | ||
</pre> | </pre> | ||
+ | |||
====FreeType-2.1.9==== | ====FreeType-2.1.9==== | ||
Bitte überspringen, falls Freetype-2.1.9 bereits installiert ist. | Bitte überspringen, falls Freetype-2.1.9 bereits installiert ist. | ||
Zeile 192: | Zeile 197: | ||
rm -r freefont* | rm -r freefont* | ||
</pre> | </pre> | ||
+ | |||
+ | Anschließend wird in '''/etc/ld.so.conf''' /usr/X11R6/lib ergänzt und ldconfig aufgerufen. Außerdem wird in '''/etc/profile''' die $PATH Variable um /usr/X11R6/bin ergänzt, z.B. so: | ||
+ | |||
+ | export PATH=$PATH:/usr/X11R6/bin | ||
+ | |||
====Der erste Start von Xorg==== | ====Der erste Start von Xorg==== | ||
Zuerst wird eine Vorgabedatei erstellt, hier am Beispiel einer GF4MX400, die als Monitor einen TV am S-Videeo Ausgang betreibt und einer Maus mit Scrollrad am PS/2 Port: | Zuerst wird eine Vorgabedatei erstellt, hier am Beispiel einer GF4MX400, die als Monitor einen TV am S-Videeo Ausgang betreibt und einer Maus mit Scrollrad am PS/2 Port: | ||
Zeile 269: | Zeile 279: | ||
Jetzt muss sich der X-Server mit startx starten lassen und mit STRG+ALT+BACKSPACE wieder beenden lassen. | Jetzt muss sich der X-Server mit startx starten lassen und mit STRG+ALT+BACKSPACE wieder beenden lassen. | ||
− | ===QT- | + | ===QT-lib Installation=== |
====libjpeg-06b==== | ====libjpeg-06b==== | ||
Prüfen, ob libjpeg installiert ist mit | Prüfen, ob libjpeg installiert ist mit | ||
Zeile 284: | Zeile 294: | ||
====lcms-1.14==== | ====lcms-1.14==== | ||
Prüfen, ob lcms installiert ist mit | Prüfen, ob lcms installiert ist mit | ||
− | <pre> | + | <pre>pkg-config --modversion lcms</pre> |
Installation: | Installation: | ||
<pre> | <pre> | ||
Zeile 295: | Zeile 305: | ||
cd /usr/src && mv lcms-1.14.tar.gz packages && rm -r lcms* | cd /usr/src && mv lcms-1.14.tar.gz packages && rm -r lcms* | ||
</pre> | </pre> | ||
+ | |||
====libmng==== | ====libmng==== | ||
− | Prüfen, ob libmng-1.0. | + | Prüfen, ob libmng-1.0.9 installiert ist, falls nicht: installieren.<br> |
+ | {{Box Hinweis| | ||
+ | ''Anm.: Die libmng-1.0.8 bei sourceforge lässt sich nicht entpacken. Leider scheint bei libmng-1.0.9 autogen.sh nicht mehr zu funktionieren und es existiert auch kein ./configure, deswegen hier ein work-around.''<br> | ||
+ | wirbel | ||
+ | }} | ||
+ | |||
<pre> | <pre> | ||
− | cd /usr/src && wget http:// | + | cd /usr/src && wget http://mesh.dl.sourceforge.net/sourceforge/libmng/libmng-1.0.9.tar.gz |
− | tar xfz libmng-1.0. | + | tar xfz libmng-1.0.9.tar.gz && cd libmng-1.0.9 |
+ | cat >> /usr/src/libmng-1.0.9/autogen.sh<< "EOF" | ||
+ | # autogen.sh | ||
+ | # | ||
+ | # move out configure.in | ||
+ | if ! test -f configure.in; then | ||
+ | echo "copying configure.in" | ||
+ | ln -s makefiles/configure.in . | ||
+ | fi | ||
+ | |||
+ | # move out the macros and run aclocal | ||
+ | if test ! -f acinclude.m4 -a -r makefiles/acinclude.m4; then | ||
+ | echo "copying configure macros" | ||
+ | ln -s makefiles/acinclude.m4 . | ||
+ | fi | ||
+ | |||
+ | # copy up our Makefile template | ||
+ | if ! test -f Makefile.am; then | ||
+ | echo "copying automake template" | ||
+ | ln -s makefiles/Makefile.am . | ||
+ | fi | ||
+ | |||
+ | echo "running aclocal" | ||
+ | aclocal | ||
+ | |||
+ | # libtool is named glibtool on MacOS X | ||
+ | for LIBTOOLIZE in libtoolize glibtoolize nope; do | ||
+ | ($LIBTOOLIZE --version) < /dev/null > /dev/null 2>&1 && break | ||
+ | done | ||
+ | if test x$LIBTOOLIZE = xnope; then | ||
+ | echo "error: Could not find libtoolize in the path!" | ||
+ | echo " You'll need to install a copy of libtool before continuing" | ||
+ | echo " with the generation of the build system." | ||
+ | echo | ||
+ | exit 1 | ||
+ | fi | ||
+ | |||
+ | echo "running $LIBTOOLIZE" | ||
+ | $LIBTOOLIZE --automake | ||
+ | |||
+ | echo "running automake" | ||
+ | automake --foreign --add-missing | ||
+ | |||
+ | echo "building configure script" | ||
+ | autoconf | ||
+ | |||
+ | # and finally invoke our new configure | ||
+ | ./configure $* | ||
+ | |||
+ | # end | ||
+ | EOF | ||
+ | |||
chmod 755 autogen.sh && | chmod 755 autogen.sh && | ||
sh autogen.sh && | sh autogen.sh && | ||
./configure --prefix=/usr && | ./configure --prefix=/usr && | ||
make && | make && | ||
− | make install | + | make install |
− | + | cd /usr/src && mv libmng-1.0.9.tar.gz packages && rm -r libmng* | |
− | + | ||
− | cd /usr/src && mv libmng-1.0. | + | |
</pre> | </pre> | ||
− | ====QT installieren==== | + | |
− | Wenn alle vorherigen Installationen erfolgreich waren, kann mit | + | ====QT-3.3.4 installieren==== |
− | QT sollte nach /opt/qt-$VERSION installiert werden, um für zukünftige Upgrades ein | + | Wenn alle vorherigen Installationen erfolgreich waren, kann mit QT begonnen werden. |
+ | QT sollte nach '''/opt/qt-$VERSION''' installiert werden, um für zukünftige Upgrades ein | ||
leichtes Ersetzen der qt-lib zu ermöglichen. Auf diese Weise kann auch extrem einfach | leichtes Ersetzen der qt-lib zu ermöglichen. Auf diese Weise kann auch extrem einfach | ||
− | zwischen verschiedenen Versionen mit einem einzigen Link "umgeschaltet" werden. | + | zwischen verschiedenen Versionen mit einem einzigen Link ''/opt/qt -> /opt/qt-$VERSION'' |
+ | "umgeschaltet" werden. | ||
Ansonsten folgt auch hier die Installation BLFS. | Ansonsten folgt auch hier die Installation BLFS. | ||
<pre> | <pre> | ||
Zeile 325: | Zeile 392: | ||
export LD_LIBRARY_PATH=/opt/qt-3.3.4/lib:$LD_LIBRARY_PATH && | export LD_LIBRARY_PATH=/opt/qt-3.3.4/lib:$LD_LIBRARY_PATH && | ||
export PATH=/opt/qt-3.3.4/bin:$PATH && | export PATH=/opt/qt-3.3.4/bin:$PATH && | ||
− | ./configure -prefix /opt/qt-3.3.4 -qt-gif -system-libpng \ | + | echo "yes" | ./configure -prefix /opt/qt-3.3.4 -qt-gif -system-libpng \ |
-system-libmng -system-zlib -system-libjpeg -no-exceptions \ | -system-libmng -system-zlib -system-libjpeg -no-exceptions \ | ||
-thread -plugin-imgfmt-png && | -thread -plugin-imgfmt-png && | ||
make && | make && | ||
make install && | make install && | ||
− | ln -s libqt-mt.so | + | cd lib && |
− | + | ln -s libqt-mt.so libqt.so && | |
− | + | ||
exit | exit | ||
</pre> | </pre> | ||
− | Anschließend wird in /etc/ld.so.conf /opt/qt/lib ergänzt und ldconfig aufgerufen. | + | Anschließend wird in '''/etc/ld.so.conf''' /opt/qt/lib ergänzt und ldconfig aufgerufen. Außerdem wird in '''/etc/profile''' die $PATH Variable um /opt/qt/bin ergänzt, z.B. so: |
− | export PATH=$PATH:/opt/qt/bin | + | <pre>export PATH=$PATH:/opt/qt/bin</pre> |
− | Wie in BLFS alternativ vorgeschlagen evtl. ~/.bash_profile zu nutzen, ist nicht empfehlenswert, da dann der Pfad nur für den jeweiligen Nutzer gefunden wird. | + | Wie in BLFS alternativ vorgeschlagen evtl. '''~/.bash_profile''' zu nutzen, ist nicht empfehlenswert, da dann der erweiterte Pfad nur für den jeweiligen Nutzer gefunden wird und nur für diesen dann die QT erreichbar ist.<br> |
− | Die Installation von | + | Die Installation von QT ist damit beendet. |
− | ===KDE=== | + | ==KDE Installation== |
+ | Wieder wird in '''/etc/ld.so.conf''' ergänzt: /opt/kde/lib, in '''/etc/profiles''' wird $PATH um /opt/kde/bin ergänzt.<br> | ||
+ | KDE wird hier ebenso wie QT in /opt installiert, um einfaches updaten später zu ermöglichen. | ||
+ | {{Box Hinweis| | ||
+ | Die Anleitung für KDE folgt ebenso in weiten Teilen BLFS. | ||
+ | }} | ||
+ | <pre> | ||
+ | mkdir /opt/kde-3.4.1 | ||
+ | ln -sf /opt/kde-3.4.1 /opt/kde | ||
+ | cp /etc/profile /etc/profile.sav | ||
+ | echo "export KDEDIR=/opt/kde" >> /etc/profile | ||
+ | echo "export QTDIR=/opt/qt" >> /etc/profile | ||
+ | echo "export PATH=$PATH:/opt/qt/bin:/opt/kde/bin" >> /etc/profile | ||
+ | echo "export PKG_CONFIG_PATH=/usr/lib/pkgconfig:/opt/kde/lib/pkgconfig" >> /etc/profile | ||
+ | echo "export LD_LIBRARY_PATH=/lib:/usr/lib:/usr/local/lib:/opt/qt/lib:opt/kde/lib" \ | ||
+ | >> /etc/profile | ||
+ | export KDEDIR=/opt/kde | ||
+ | export QTDIR=/opt/qt | ||
+ | export PATH=$PATH:/opt/qt/bin:/opt/kde/bin | ||
+ | export PKG_CONFIG_PATH=/usr/lib/pkgconfig:/opt/kde/lib/pkgconfig | ||
+ | export LD_LIBRARY_PATH=/lib:/usr/lib:/usr/local/lib:/opt/qt/lib:opt/kde/lib | ||
+ | </pre> | ||
− | .. to be | + | ===Download der Pakete=== |
+ | Jedes einzelne KDE-Paket aus dem Netz zu laden und zu entpacken ist recht mühsam, deswegen ein script, welches prüft, ob alle Pakete schon im Ordner sind, bei Bedarf herunterlädt und entpackt. Wers denn lieber per Hand Browser mag, kanns auch einzeln selbst machen: | ||
+ | <pre> | ||
+ | mkdir /usr/src/kde && cd /usr/src/kde | ||
+ | cat > /usr/src/kde/get_packages << "EOF" | ||
+ | #!/bin/sh | ||
+ | ########################################################### | ||
+ | N1="1" # aRTS major number | ||
+ | N2="3" # KDE major number | ||
+ | N3="4.1" # KDE minor numbers | ||
+ | #--------------------------------------------------------- | ||
+ | # language identifier like "de", "en", "fr", "it" | ||
+ | LANGUAGE="de" | ||
+ | #--------------------------------------------------------- | ||
+ | # download server to be used if package not available | ||
+ | LOCATION="ftp://ftp.gwdg.de/pub/x11/kde/stable/$N2.$N3/src" | ||
− | == | + | BASIC_PKG="kdelibs kdebase" |
+ | MULTIMEDIA_PKG="kdemultimedia kdeutils kdenetwork kdegraphics \ | ||
+ | kdebindings kdeartwork kdeadmin kdeaddons \ | ||
+ | kdepim kdeedu kdebindings kdeaccessibility \ | ||
+ | kdetoys kdegames kdeaddons" | ||
+ | ############################################################ | ||
− | |||
+ | case "$1" in | ||
+ | basic) | ||
+ | if [ ! -e "arts-$N1.$N3.tar.bz2" ] ; then | ||
+ | echo "DOWNLOAD: arts-$N1.$N3.tar.bz2" | ||
+ | wget "$LOCATION/arts-$N1.$N3.tar.bz2" | ||
+ | else | ||
+ | echo "GEFUNDEN: arts-$N1.$N3.tar.bz2" | ||
+ | fi | ||
+ | if [ ! -e arts-$N1.$N3 ] ; then | ||
+ | echo "ENTPACKE: arts-$N1.$N3.tar.bz2" | ||
+ | tar xfj arts-$N1.$N3.tar.bz2 | ||
+ | fi | ||
+ | for package in $BASIC_PKG ; do | ||
+ | if [ ! -e $package-$N2.$N3.tar.bz2 ] ; then | ||
+ | echo "DOWNLOAD: $package-$N2.$N3.tar.bz2" | ||
+ | wget "$LOCATION/$package-$N2.$N3.tar.bz2" | ||
+ | else | ||
+ | echo "GEFUNDEN: $package-$N2.$N3.tar.bz2" | ||
+ | fi | ||
+ | if [ ! -e $package-$N2.$N3 ] ; then | ||
+ | echo "ENTPACKE: $package-$N2.$N3.tar.bz2" | ||
+ | tar xfj $package-$N2.$N3.tar.bz2 | ||
+ | fi | ||
+ | done | ||
+ | ;; | ||
+ | optional) | ||
+ | if [ ! -e "kde-i18n-$LANGUAGE-$N2.$N3.tar.bz2" ] ; then | ||
+ | echo "DOWNLOAD: kde-i18n-$LANGUAGE-$N2.$N3.tar.bz2" | ||
+ | wget "$LOCATION/kde-i18n/kde-i18n-$LANGUAGE-$N2.$N3.tar.bz2" | ||
+ | else | ||
+ | echo "GEFUNDEN: kde-i18n-$LANGUAGE-$N2.$N3.tar.bz2" | ||
+ | fi | ||
+ | if [ ! -e kde-i18n-$LANGUAGE-$N2.$N3 ] ; then | ||
+ | echo "ENTPACKE: kde-i18n-$LANGUAGE-$N2.$N3.tar.bz2" | ||
+ | tar xfj kde-i18n-$LANGUAGE-$N2.$N3.tar.bz2 | ||
+ | fi | ||
+ | for package in $MULTIMEDIA_PKG ; do | ||
+ | if [ ! -e $package-$N2.$N3.tar.bz2 ] ; then | ||
+ | echo "DOWNLOAD: $package-$N2.$N3.tar.bz2" | ||
+ | wget "$LOCATION/$package-$N2.$N3.tar.bz2" | ||
+ | else | ||
+ | echo "GEFUNDEN: $package-$N2.$N3.tar.bz2" | ||
+ | fi | ||
+ | if [ ! -e $package-$N2.$N3 ] ; then | ||
+ | echo "ENTPACKE: $package-$N2.$N3.tar.bz2" | ||
+ | tar xfj $package-$N2.$N3.tar.bz2 | ||
+ | fi | ||
+ | done | ||
+ | ;; | ||
+ | *) | ||
+ | $0 basic | ||
+ | ;; | ||
+ | esac | ||
+ | |||
+ | # End get_packages; wirbel 20050609 | ||
+ | EOF | ||
+ | chmod +x get_packages | ||
+ | ./get_packages basic | ||
+ | </pre> | ||
+ | ===Jede Menge an Libs=== | ||
+ | Eine Installation von KDE erfordert viele libs und Tools, die nicht standardmäßig installiert sind. | ||
+ | {{Box Hinweis| | ||
+ | Die Versionen und Reihenfolge der hier installierten Bibliotheken ist nicht zufällig. Abweichende Versionsnummern können (müssen aber nicht) zu Compilerfehlern führen. Ebenso kann es zu Fehlern kommen, wenn bereits installierte Bibliotheken fehlerhaft ins System eingebunden wurden oder unterschiedliche Versionen von libs existieren. | ||
+ | }} | ||
+ | ====pkgconfig-0.15.0==== | ||
+ | <pre> | ||
+ | which pkg-config | ||
+ | </pre>, falls nicht pkgconfig installieren: | ||
+ | <pre> | ||
+ | cd /usr/src && wget ftp://ftp.fu-berlin.de/unix/linux/mirrors/gentoo/distfiles/pkgconfig-0.15.0.tar.gz | ||
+ | tar xfz pkgconfig-0.15.0.tar.gz && cd pkgconfig-0.15.0 | ||
+ | ./configure --prefix=/usr && | ||
+ | make && | ||
+ | make install | ||
+ | cd /usr/src && mv pkgconfig-0.15.0.tar.gz packages && rm -r pkgconfig-0.15.0 | ||
+ | </pre> | ||
+ | ====GLib-2.6.3==== | ||
+ | Testen, ob glib installiert ist: | ||
+ | <pre>pkg-config --modversion glib-2.0</pre> | ||
+ | falls nicht installieren: | ||
+ | <pre> | ||
+ | cd /usr/src && wget ftp://ftp.gtk.org/pub/gtk/v2.6/glib-2.6.3.tar.bz2 | ||
+ | tar xfj glib-2.6.3.tar.bz2 && cd glib-2.6.3 | ||
+ | ./configure --prefix=/usr && | ||
+ | make && | ||
+ | make install | ||
+ | cd /usr/src && mv glib-2.6.3.tar.bz2 packages && rm -r glib-2.6.3 | ||
+ | </pre> | ||
+ | ====libart_lgpl-2.3.17==== | ||
+ | Testen, ob libart_lgpl-2.3.17 installiert ist: | ||
+ | <pre>libart2-config --version</pre> | ||
+ | falls nicht installieren: | ||
+ | <pre> | ||
+ | cd /usr/src && wget ftp://ftp.gnome.org/mirror/gnome.org/sources/libart_lgpl/2.3/libart_lgpl-2.3.17.tar.bz2 | ||
+ | tar xfj libart_lgpl-2.3.17.tar.bz2 && cd libart_lgpl-2.3.17 | ||
+ | ./configure --prefix=/usr && | ||
+ | make && | ||
+ | make install | ||
+ | ldconfig | ||
+ | cd /usr/src && mv libart_lgpl-2.3.17.tar.bz2 packages && rm -r libart* | ||
+ | </pre> | ||
+ | ====libxml2-2.6.19==== | ||
+ | Testen, ob libxml2-2.6.19 installiert ist: | ||
+ | <pre>xml2-config --version</pre> | ||
+ | falls nicht installieren: | ||
+ | <pre> | ||
+ | cd /usr/src && wget ftp://xmlsoft.org/libxml2-2.6.19.tar.gz | ||
+ | tar xfz libxml2-2.6.19.tar.gz && cd libxml2-2.6.19 | ||
+ | ./configure --prefix=/usr --with-history && | ||
+ | make && | ||
+ | make install | ||
+ | cd /usr/src && mv libxml2-2.6.19.tar.gz packages && rm -r libxml* | ||
+ | </pre> | ||
+ | ====libxslt-1.1.14==== | ||
+ | Testen, ob libxslt-1.1.14 installiert ist: | ||
+ | <pre>xslt-config --version</pre> | ||
+ | falls nicht installieren: | ||
+ | <pre> | ||
+ | cd /usr/src && wget ftp://xmlsoft.org/libxslt-1.1.14.tar.gz | ||
+ | tar xfz libxslt-1.1.14.tar.gz && cd libxslt-1.1.14 | ||
+ | ./configure --prefix=/usr && | ||
+ | make && | ||
+ | make install | ||
+ | ldconfig | ||
+ | cd /usr/src && mv libxslt-1.1.14.tar.gz packages && rm -r libxslt* | ||
+ | </pre> | ||
+ | ====pcre-6.0==== | ||
+ | Testen, ob pcre-6.0 installiert ist: | ||
+ | <pre> | ||
+ | pcre-config --version | ||
+ | </pre> | ||
+ | falls nicht installieren: | ||
+ | <pre> | ||
+ | cd /usr/src && wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-6.0.tar.bz2 | ||
+ | tar xfj pcre-6.0.tar.bz2 && cd pcre-6.0 | ||
+ | ./configure --prefix=/usr --enable-utf8 && | ||
+ | make && | ||
+ | make install | ||
+ | mv /usr/lib/libpcre.so.* /lib/ && | ||
+ | ln -sf ../../lib/libpcre.so.0 /usr/lib/libpcre.so | ||
+ | ldconfig | ||
+ | cd /usr/src && mv pcre-6.0.tar.bz2 packages && rm -r pcre* | ||
+ | </pre> | ||
+ | ====openssl-0.9.7e==== | ||
+ | Testen, ob openssl-0.9.7e installiert ist: | ||
+ | <pre> | ||
+ | pkg-config --modversion openssl | ||
+ | </pre> | ||
+ | falls nicht installieren: | ||
+ | <pre> | ||
+ | cd /usr/src && wget ftp://ftp.openssl.org/source/openssl-0.9.7e.tar.gz | ||
+ | tar xfz openssl-0.9.7e.tar.gz && cd openssl-0.9.7e | ||
+ | sed 's/^passwd/openssl-passwd/' doc/apps/passwd.pod \ | ||
+ | > doc/apps/openssl-passwd.pod && | ||
+ | rm doc/apps/passwd.pod && | ||
+ | mv doc/crypto/{,openssl_}threads.pod && | ||
+ | ./config --openssldir=/etc/ssl --prefix=/usr shared && | ||
+ | sed -i 's%SHLIBDIRS= fips crypto ssl%SHLIBDIRS= crypto ssl%g' Makefile && | ||
+ | make MANDIR=/usr/share/man | ||
+ | make MANDIR=/usr/share/man install && | ||
+ | cp -r certs /etc/ssl | ||
+ | ldconfig | ||
+ | cd /usr/src && mv openssl-0.9.7e.tar.gz packages && rm -r openssl* | ||
+ | </pre> | ||
+ | ====libidn-0.5.17==== | ||
+ | Testen, ob libidn-0.5.17 installiert ist: | ||
+ | <pre> | ||
+ | pkg-config --modversion libidn | ||
+ | </pre> | ||
+ | falls nicht installieren: | ||
+ | <pre> | ||
+ | cd /usr/src && wget ftp://alpha.gnu.org/pub/gnu/libidn/libidn-0.5.17.tar.gz | ||
+ | tar xfz libidn-0.5.17.tar.gz && cd libidn-0.5.17 | ||
+ | ./configure --prefix=/usr && | ||
+ | make && | ||
+ | make install | ||
+ | ldconfig | ||
+ | cd /usr/src && mv libidn-0.5.17.tar.gz packages && rm -r libidn* | ||
+ | </pre> | ||
+ | ====alsa-lib-1.0.9==== | ||
+ | Testen, ob alsa-lib-1.0.9 installiert ist: | ||
+ | <pre> | ||
+ | pkg-config --modversion alsa | ||
+ | </pre> | ||
+ | falls nicht installieren: | ||
+ | <pre> | ||
+ | cd /usr/src | ||
+ | wget ftp://ftp.alsa-project.org/pub/lib/alsa-lib-1.0.9.tar.bz2 | ||
+ | tar xfj alsa-lib-1.0.9.tar.bz2 && cd alsa-lib-1.0.9 | ||
+ | ./configure --enable-static && | ||
+ | make && | ||
+ | make install | ||
+ | ldconfig | ||
+ | cd /usr/src && mv alsa-lib-1.0.9.tar.bz2 packages && rm -r alsa-lib* | ||
+ | </pre> | ||
+ | ====popt-1.7==== | ||
+ | Testen, ob popt-1.7 installiert ist: | ||
+ | <pre> | ||
+ | if [ -e /usr/lib/libpopt.so ]; then \ | ||
+ | echo "popt found." \ | ||
+ | fi | ||
+ | </pre> | ||
+ | falls nicht installieren: | ||
+ | <pre> | ||
+ | cd /usr/src/ && | ||
+ | wget ftp://ftp.debian.org/debian/pool/main/p/popt/popt_1.7.orig.tar.gz && | ||
+ | wget http://ftp.debian.org/debian/pool/main/p/popt/popt_1.7-5.diff.gz | ||
+ | gzip -d popt_1.7-5.diff.gz | ||
+ | tar xfz popt_1.7.orig.tar.gz && cd popt-1.7 | ||
+ | patch -Np1 -i ../popt_1.7-5.diff && | ||
+ | ./configure --prefix=/usr && | ||
+ | cp configure.in configure.ac && | ||
+ | touch configure.in configure.ac && | ||
+ | make | ||
+ | make install | ||
+ | ldconfig | ||
+ | cd /usr/src && mv popt_1.7.orig.tar.gz packages && mv popt_1.7-5.diff packages && rm -r popt* | ||
+ | </pre> | ||
+ | ====gstreamer-0.8.10==== | ||
+ | Testen, ob gstreamer-0.8.10 installiert ist: | ||
+ | <pre> | ||
+ | pkg-config --modversion gstreamer-0.8 | ||
+ | </pre> | ||
+ | falls nicht installieren: | ||
+ | <pre> | ||
+ | cd /usr/src/ && | ||
+ | wget ftp://ftp.gnome.org/pub/GNOME/sources/gstreamer/0.8/gstreamer-0.8.10.tar.bz2 | ||
+ | tar xfj gstreamer-0.8.9.tar.bz2 && cd gstreamer-0.8.9 | ||
+ | ./configure --prefix=/usr --sysconfdir=/etc \ | ||
+ | --localstatedir=/var --disable-docs-build && | ||
+ | make && | ||
+ | make install && | ||
+ | gst-register | ||
+ | ldconfig | ||
+ | cp pkgconfig/gstreamer-0.8.pc /usr/lib/pkgconfig | ||
+ | cd /usr/src && mv gstreamer-0.8.10.tar.bz2 packages && rm -r gstreamer* | ||
+ | </pre> | ||
+ | ====gstreamer-libs-0.8.9==== | ||
+ | Testen, ob gstreamer-libs-0.8.9 installiert ist: | ||
+ | <pre> | ||
+ | pkg-config --modversion gstreamer-libs-0.8 | ||
+ | </pre> | ||
+ | falls nicht installieren: | ||
+ | <pre> | ||
+ | cd /usr/src && wget ftp://ftp.gnome.org/pub/GNOME/sources/gst-plugins/0.8/gst-plugins-0.8.9.tar.bz2 | ||
+ | tar xfj gst-plugins-0.8.9.tar.bz2 && cd gst-plugins-0.8.9 | ||
+ | ./configure --prefix=/usr --disable-opengl && | ||
+ | make && | ||
+ | make install | ||
+ | cd /usr/src && mv gst-plugins-0.8.9.tar.bz2 packages && rm -r gst-plugins* | ||
+ | </pre> | ||
+ | ====libmad-0.15.1b==== | ||
+ | Testen, ob popt-1.7 installiert ist: | ||
+ | <pre> | ||
+ | if [ -e /usr/lib/libmad.so.0.2.1 ]; then \ | ||
+ | echo "libmad-0.15.1b found." \ | ||
+ | fi | ||
+ | </pre> | ||
+ | falls nicht installieren: | ||
+ | <pre> | ||
+ | cd /usr/src && | ||
+ | wget ftp://ftp.mars.org/pub/mpeg/libmad-0.15.1b.tar.gz | ||
+ | tar xfz libmad-0.15.1b.tar.gz && cd libmad-0.15.1b | ||
+ | ./configure --prefix=/usr && | ||
+ | make && | ||
+ | make install | ||
+ | ldconfig | ||
+ | cd /usr/src && mv libmad-0.15.1b.tar.gz packages && rm -r libmad* | ||
+ | </pre> | ||
+ | ====libogg-1.1.2==== | ||
+ | Testen, ob libogg-1.1.2 installiert ist: | ||
+ | <pre> | ||
+ | pkg-config --modversion ogg | ||
+ | </pre> | ||
+ | falls nicht installieren: | ||
+ | <pre> | ||
+ | cd /usr/src && wget http://downloads.xiph.org/releases/ogg/libogg-1.1.2.tar.gz | ||
+ | tar xfz libogg-1.1.2.tar.gz && cd libogg-1.1.2 | ||
+ | ./configure --prefix=/usr && | ||
+ | make && | ||
+ | make install | ||
+ | ldconfig | ||
+ | cd /usr/src && mv libogg-1.1.2.tar.gz packages && rm -r libogg* | ||
+ | </pre> | ||
+ | ====libvorbis-1.1.0==== | ||
+ | Testen, ob libvorbis-1.1.0 installiert ist: | ||
+ | <pre> | ||
+ | pkg-config --modversion vorbis | ||
+ | </pre> | ||
+ | falls nicht installieren: | ||
+ | <pre> | ||
+ | cd /usr/src && wget http://downloads.xiph.org/releases/vorbis/libvorbis-1.1.0.tar.gz | ||
+ | tar xfz libvorbis-1.1.0.tar.gz && cd libvorbis-1.1.0 | ||
+ | ./configure --prefix=/usr && | ||
+ | make && | ||
+ | make install | ||
+ | ldconfig | ||
+ | cd /usr/src && mv libvorbis-1.1.0.tar.gz packages && rm -r libvorbis* | ||
+ | </pre> | ||
+ | ====libtheora-1.0alpha4==== | ||
+ | Testen, ob libtheora-1.0alpha4 installiert ist: | ||
+ | <pre> | ||
+ | pkg-config --modversion theora | ||
+ | </pre> | ||
+ | falls nicht installieren: | ||
+ | <pre> | ||
+ | cd /usr/src && wget http://downloads.xiph.org/releases/theora/libtheora-1.0alpha4.tar.gz | ||
+ | tar xfz libtheora-1.0alpha4.tar.gz && cd libtheora-1.0alpha4 | ||
+ | ./configure --prefix=/usr && | ||
+ | make && | ||
+ | make install | ||
+ | ldconfig | ||
+ | cd /usr/src && mv libtheora-1.0alpha4.tar.gz packages && rm -r libtheora* | ||
+ | </pre> | ||
+ | ====audiofile-0.2.6==== | ||
+ | Testen, ob audiofile-0.2.6 installiert ist: | ||
+ | <pre> | ||
+ | pkg-config --modversion audiofile | ||
+ | </pre> | ||
+ | falls nicht installieren: | ||
+ | <pre> | ||
+ | cd /usr/src && wget http://www.68k.org/~michael/audiofile/audiofile-0.2.6.tar.gz | ||
+ | tar xfz audiofile-0.2.6.tar.gz && cd audiofile-0.2.6 | ||
+ | ./configure --prefix=/usr && | ||
+ | make && | ||
+ | make install | ||
+ | ldconfig | ||
+ | cd /usr/src && mv audiofile-0.2.6.tar.gz packages && rm -r audiofile-0.2.6* | ||
+ | </pre> | ||
+ | ====TagLib-1.3.1==== | ||
+ | TODO: taglib-1.3.1 Test | ||
+ | <pre> | ||
+ | cd /usr/src && | ||
+ | wget http://developer.kde.org/~wheeler/files/src/taglib-1.3.1.tar.gz | ||
+ | ./configure --prefix=/usr | ||
+ | tar xfz taglib-1.3.1 && cd taglib-1.3.1 | ||
+ | make | ||
+ | make install | ||
+ | ldconfig | ||
+ | cd /usr/src && mv taglib-1.3.1.tar.gz packages && rm -r taglib* | ||
+ | </pre> | ||
+ | ====cdparanoia==== | ||
+ | Testen, ob cdparanoia installiert ist: | ||
+ | <pre> | ||
+ | if [ -e /usr/bin/cdparanoia ]; then \ | ||
+ | echo "cdparanoia found." \ | ||
+ | fi | ||
+ | </pre> | ||
+ | falls nicht installieren: | ||
+ | <pre> | ||
+ | cd /usr/src && | ||
+ | wget ftp://ftp.yars.free.net/pub/software/unix/util/cd/cdparanoia-III-alpha9.8.src.tgz && | ||
+ | wget http://www.linuxfromscratch.org/blfs/downloads/6.0/cdparanoia-III-alpha9.8-includes-1.patch && | ||
+ | wget http://www.linuxfromscratch.org/blfs/downloads/6.0/cdparanoia-III-alpha9.8-gcc34-1.patch | ||
+ | tar xfz cdparanoia-III-alpha9.8.src.tgz && cd cdparanoia-III-alpha9.8 | ||
+ | patch -Np1 -i ../cdparanoia-III-alpha9.8-includes-1.patch && | ||
+ | patch -Np1 -i ../cdparanoia-III-alpha9.8-gcc34-1.patch && | ||
+ | ./configure --prefix=/usr && | ||
+ | make && | ||
+ | make install | ||
+ | ldconfig | ||
+ | cd /usr/src && | ||
+ | mv cdparanoia-III-alpha9.8.src.tgz packages && | ||
+ | mv cdparanoia-III-alpha9.8-includes-1.patch packages && | ||
+ | mv cdparanoia-III-alpha9.8-gcc34-1.patch packages && | ||
+ | rm -r cdparanoia-III* | ||
+ | </pre> | ||
+ | ====SDL-1.2.8==== | ||
+ | Testen, ob SDL-1.2.8 installiert ist: | ||
+ | <pre> | ||
+ | sdl-config --version | ||
+ | </pre> | ||
+ | falls nicht installieren: | ||
+ | <pre> | ||
+ | cd /usr/src && wget http://www.libsdl.org/release/SDL-1.2.8.tar.gz | ||
+ | tar xfz SDL-1.2.8.tar.gz && cd SDL-1.2.8 | ||
+ | ./configure --prefix=/usr && | ||
+ | make && | ||
+ | make install | ||
+ | ldconfig | ||
+ | cd /usr/src && mv SDL-1.2.8.tar.gz packages && rm -r SDL* | ||
+ | </pre> | ||
+ | ===aRts-1.4.1=== | ||
+ | Nach so viel Vorbereitung nun das erste KDE Paket. (ca.35MB Plattenplatz während der Installation) | ||
+ | <pre> | ||
+ | cd /usr/src/kde/arts-1.4.1 | ||
+ | ./configure --prefix=/opt/kde-3.4.1 --disable-debug \ | ||
+ | --disable-dependency-tracking && | ||
+ | make | ||
+ | make install | ||
+ | </pre> | ||
+ | ====xine-lib-1.0.1==== | ||
+ | Xine-lib kann auch arts nutzen, deswegen erst jetzt: | ||
+ | <pre> | ||
+ | cd /usr/src && wget http://mesh.dl.sourceforge.net/sourceforge/xine/xine-lib-1.0.1.tar.gz | ||
+ | tar xfz xine-lib-1.0.1.tar.gz && cd xine-lib-1.0.1 | ||
+ | ./configure --prefix=/usr --disable-opengl && | ||
+ | make && | ||
+ | make install | ||
+ | ldconfig | ||
+ | cd /usr/src && mv xine-lib-1.0.1.tar.gz packages && rm -r xine-lib* | ||
+ | </pre> | ||
+ | ===kdelibs=== | ||
+ | ''optional:'' vorher j2sdk-1.4/5.0 installieren. | ||
+ | (kdelibs: ca. 220MB Plattenplatz während der Installation) | ||
+ | <pre> | ||
+ | cd /usr/src/kde/kdelibs-3.4.1 | ||
+ | ./configure --prefix=/opt/kde-3.4.1 --disable-debug \ | ||
+ | --disable-dependency-tracking --enable-fast-malloc=full && | ||
+ | make | ||
+ | make install | ||
+ | ldconfig | ||
+ | </pre> | ||
+ | ===kdebase=== | ||
+ | (ca. 195MB während der Installation) | ||
+ | <pre> | ||
+ | cd /usr/src/kde/kdebase-3.4.1 | ||
+ | ./configure --prefix=/opt/kde-3.4.1 --disable-debug \ | ||
+ | --disable-dependency-tracking --enable-fast-malloc=full && | ||
+ | make | ||
+ | make install | ||
+ | ldconfig | ||
+ | </pre> | ||
+ | |||
+ | ===KDE startfähig machen und der erste Start von KDE=== | ||
+ | <pre> | ||
+ | mv /etc/X11/xinit/xinitrc /etc/X11/xinit/xinitrc.xorg | ||
+ | cat > /etc/X11/xinit/xinitrc << "EOF" | ||
+ | #!/bin/sh | ||
+ | |||
+ | userresources=$HOME/.Xresources | ||
+ | usermodmap=$HOME/.Xmodmap | ||
+ | sysresources=/usr/X11R6/lib/X11/xinit/.Xresources | ||
+ | sysmodmap=/usr/X11R6/lib/X11/xinit/.Xmodmap | ||
+ | |||
+ | if [ -f $sysresources ]; then | ||
+ | xrdb -merge $sysresources | ||
+ | fi | ||
+ | |||
+ | if [ -f $sysmodmap ]; then | ||
+ | xmodmap $sysmodmap | ||
+ | fi | ||
+ | |||
+ | if [ -f $userresources ]; then | ||
+ | xrdb -merge $userresources | ||
+ | fi | ||
+ | |||
+ | if [ -f $usermodmap ]; then | ||
+ | xmodmap $usermodmap | ||
+ | fi | ||
+ | |||
+ | # default for all users: starting kde desktop | ||
+ | # may be overridden by ~/.xinitrc | ||
+ | exec startkde | ||
+ | EOF | ||
+ | chmod +x /etc/X11/xinit/xinitrc | ||
+ | </pre> | ||
+ | Nach dem Laden des Grafiktreibers, in meinem Beispiel <pre>modprobe nvidia</pre>, muss sich jetzt KDE mit <pre>startx</pre> starten lassen, Maus mit Scrollrad, Monitor und Grafikkarte müssen funktionieren. Falls das nicht der Fall ist, müssen Konfigdateien und Umgebungsvariablen, insbesondere die $PATH Variable nochmals kontrolliert werden. | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | '''__________________________'''<br> | ||
+ | |||
+ | '''AB HIER: *NOCH* UNGETESTET.'''<br> | ||
+ | '''__________________________'''<br> | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ===optionale KDE Pakete=== | ||
+ | Laden und Entpacken der restlichen Pakete: | ||
+ | <pre> | ||
+ | cd /usr/src/kde && | ||
+ | ./get_packages optional | ||
+ | </pre> | ||
+ | ====i18n==== | ||
+ | i18n Paket zwecks Sprachunterstützung. | ||
+ | <pre> | ||
+ | cd /usr/src/kde/kde-i18n-$LANGUAGE-3.4.1 | ||
+ | ./configure --prefix=/opt/kde-3.4.1 && | ||
+ | make && | ||
+ | make install && | ||
+ | ldconfig | ||
+ | </pre> | ||
+ | ====kdeadmin==== | ||
+ | Systemadministrations Programme | ||
+ | <pre> | ||
+ | cd /usr/src/kde/kdeadmin-3.4.1 && | ||
+ | ./configure --prefix=/opt/kde-3.4.1 --disable-debug \ | ||
+ | --disable-dependency-tracking && | ||
+ | make && | ||
+ | make install && | ||
+ | ldconfig | ||
+ | </pre> | ||
+ | ====kdenetwork==== | ||
+ | Instant messager Kopete, der download manager KGet, und einige andre Programme zum Thema Netzwerk. | ||
+ | <pre> | ||
+ | cd /usr/src/kde/kdeadmin-3.4.1 && | ||
+ | ./configure --prefix=/opt/kde-3.4.1 --disable-debug \ | ||
+ | --disable-dependency-tracking && | ||
+ | make && | ||
+ | make install && | ||
+ | ldconfig | ||
+ | cat > /etc/rc.d/init.d/lisa << "EOF" | ||
+ | #!/bin/sh | ||
+ | # Begin $rc_base/init.d/lisa | ||
+ | |||
+ | # Based on sysklogd script from LFS-3.1 and earlier. | ||
+ | # Rewritten by Gerard Beekmans - gerard@linuxfromscratch.org | ||
+ | |||
+ | #$LastChangedBy: dj $ | ||
+ | #$Date: 2004-10-02 11:57:32 -0600 (Sat, 02 Oct 2004) $ | ||
+ | |||
+ | . /etc/sysconfig/rc | ||
+ | . $rc_functions | ||
+ | |||
+ | export PATH=$PATH:/opt/kde/bin | ||
+ | |||
+ | case "$1" in | ||
+ | start) | ||
+ | echo "Starting LISA Daemon..." | ||
+ | loadproc /opt/kde/bin/lisa | ||
+ | ;; | ||
+ | |||
+ | stop) | ||
+ | echo "Stopping LISA Daemon..." | ||
+ | killproc /opt/kde/bin/lisa | ||
+ | ;; | ||
+ | |||
+ | reload) | ||
+ | echo "Reloading LISA Daemon..." | ||
+ | reloadproc /opt/kde/bin/lisa | ||
+ | ;; | ||
+ | |||
+ | restart) | ||
+ | $0 stop | ||
+ | sleep 1 | ||
+ | $0 start | ||
+ | ;; | ||
+ | |||
+ | status) | ||
+ | statusproc /opt/kde/bin/lisa | ||
+ | ;; | ||
+ | |||
+ | *) | ||
+ | echo "Usage: $0 {start|stop|reload|restart|status}" | ||
+ | exit 1 | ||
+ | ;; | ||
+ | esac | ||
+ | |||
+ | # End $rc_base/init.d/lisa | ||
+ | EOF | ||
+ | </pre> | ||
+ | Falls LAN-Browsing benutzt werden soll, müssen /etc/lisarc and ~/.lisarc angelegt werden, sowie im passenden runlevel ein Link zu /etc/rc.d/init.d/lisa angelegt werden. Hilfreich dabei ist ''Control Center > Internet & Network > Local Network Browsing''. | ||
+ | ====kdeartwork==== | ||
+ | Wallpapers, Themes, Styles, Sounds. | ||
+ | <pre> | ||
+ | cd /usr/src/kde/kdeartwork-3.4.1 && | ||
+ | ./configure --prefix=/opt/kde-3.4.1 --disable-debug \ | ||
+ | --disable-dependency-tracking && | ||
+ | make && | ||
+ | make install && | ||
+ | ldconfig | ||
+ | </pre> | ||
+ | ====kdepim==== | ||
+ | email client KMail, newsreader KNode etc. | ||
+ | <pre> | ||
+ | cd /usr/src/kde/kdepim-3.4.1 && | ||
+ | ./configure --prefix=/opt/kde-3.4.1 --disable-debug \ | ||
+ | --disable-dependency-tracking && | ||
+ | make && | ||
+ | make install && | ||
+ | ldconfig | ||
+ | </pre> | ||
+ | ====kdeaddons==== | ||
+ | to be continued... | ||
+ | |||
+ | ====kdebindings==== | ||
+ | to be continued... | ||
+ | |||
+ | ====kdegames==== | ||
+ | to be continued... | ||
+ | |||
+ | ====kdegraphics==== | ||
+ | to be continued... | ||
+ | |||
+ | ====kdemultimedia==== | ||
+ | to be continued... | ||
+ | |||
+ | ====kdeedu==== | ||
+ | to be continued... | ||
+ | |||
+ | ====kdeaccessibility==== | ||
+ | to be continued... | ||
+ | |||
+ | ====kdetoys==== | ||
+ | to be continued... | ||
+ | |||
+ | ====kdeutils==== | ||
+ | to be continued... | ||
+ | |||
+ | ===Noch ein wenig aufräumen=== | ||
+ | to be continued... | ||
+ | |||
+ | ===KVDR-0.6.3=== | ||
+ | |||
+ | .. to be continued | ||
==Links== | ==Links== | ||
{| | {| | ||
− | |||
− | |||
− | |||
|}[[Kategorie:LFS]] | |}[[Kategorie:LFS]] |
Aktuelle Version vom 25. Februar 2010, 23:29 Uhr
[Bearbeiten] Einleitung
Diese Anleitung beschreibt die Installation Xorg, KDE, kvdr unter LFS-6.0
Diese Anleitung wird Schritt für Schritt vervollständigt. Prinzipiell ist der Ablauf für XFree86 nahezu identisch. Die Anleitung folgt natürlich in weiten Teilen BLFS.
wirbel
[Bearbeiten] Xorg
[Bearbeiten] libpng-1.2.8
Testen ob libpng-1.2.8 installiert ist
pkg-config --modversion libpng
falls nicht installieren:
cd /usr/src wget http://prdownloads.sourceforge.net/libpng/libpng-1.2.8.tar.bz2 wget http://www.linuxfromscratch.org/blfs/downloads/6.0/libpng-1.2.8-link_to_proper_libs-1.patch tar xvfj libpng-1.2.8.tar.bz2 cd libpng-1.2.8 patch -Np1 -i ../libpng-1.2.8-link_to_proper_libs-1.patch && make prefix=/usr ZLIBINC=/usr/include \ ZLIBLIB=/usr/lib -f scripts/makefile.linux && make prefix=/usr install -f scripts/makefile.linux /sbin/ldconfig cd /usr/src mv libpng-1.2.8.tar.bz2 packages mv libpng-1.2.8-link_to_proper_libs-1.patch packages rm -r libpng-*
[Bearbeiten] FreeType-2.1.9
Bitte überspringen, falls Freetype-2.1.9 bereits installiert ist.
cd /usr/src wget http://prdownloads.sourceforge.net/freetype/freetype-2.1.9.tar.bz2 wget http://www.linuxfromscratch.org/blfs/downloads/6.0/freetype-2.1.9-bytecode_interpreter-1.patch tar xvfj freetype-2.1.9.tar.bz2 cd freetype-2.1.9 patch -Np1 -i ../freetype-2.1.9-bytecode_interpreter-1.patch && ./configure --prefix=/usr && make && make install /sbin/ldconfig cd /usr/src mv freetype-2.1.9.tar.bz2 packages mv freetype-2.1.9-bytecode_interpreter-1.patch packages rm -r freetype*
[Bearbeiten] expat-1.95.8
Bitte überspringen, falls expat-1.95.8 bereits installiert ist.
cd /usr/src wget http://prdownloads.sourceforge.net/expat/expat-1.95.8.tar.gz tar xvfz expat-1.95.8.tar.gz cd expat.1.95.8 ./configure --prefix=/usr && make && make install cd /usr/src mv expat-1.95.8.tar.gz packages rm -r expat-*
[Bearbeiten] Fontconfig-2.2.3
cd /usr/src wget http://fontconfig.org/release/fontconfig-2.2.3.tar.gz tar xvfz fontconfig-2.2.3.tar.gz cd fontconfig-2.2.3 ./configure --prefix=/usr \ --sysconfdir=/etc --disable-docs && make && make install /sbin/ldconfig cd /usr/src mv fontconfig-2.2.3.tar.gz packages rm -r fontconfig*
[Bearbeiten] Grafiktreiber
An dieser Stelle muss der Grafiktreiber geladen werden. Ich verwende eine GF4MX400, deswegen als Beispiel:
/usr/src wget http://download.nvidia.com/XFree86/Linux-x86/1.0-7664/NVIDIA-Linux-x86-1.0-7664-pkg1.run chmod +x NVIDIA-Linux-x86-1.0-7664-pkg1.run ./NVIDIA-Linux-x86-1.0-7664-pkg1.run modprobe nvidia mv NVIDIA-Linux-x86-1.0-7664-pkg1.run packages
[Bearbeiten] Xorg-6.8.2
Bitte überspringen, falls Xorg bereits installiert ist.
cd /usr/src wget ftp://ftp.opengroup.org/pub/x.org/pub/X11R6.8.2/src-single/X11R6.8.2-src.tar.bz2 tar xfj X11R6.8.2-src.tar.bz2 cd X11R6.8.2 sed -i '/^SUBDIRS =/s/ etc$//' programs/Xserver/Xprint/Imakefile pushd config/util && make -f Makefile.ini lndir cp lndir /usr/bin/ popd mkdir ../xcbuild && cd ../xcbuild && lndir ../xc
Die nachfolgende Datei kann sicherlich bequemer mit einem Editor erstellt werden.
cat > config/cf/host.def << "EOF" /* Begin Xorg host.def file */ /* System Related Information. If you read and configure only one * section then it should be this one. The Intel architecture defaults * are set for a i686 and higher. Axp is for the Alpha architecture * and Ppc is for the Power PC. AMD64 is for the Opteron processor. * Note that there have been reports that the Ppc optimization line * causes segmentation faults during build. If that happens, try * building without the DefaultGcc2PpcOpt line. ***********/ /* #define DefaultGcc2i386Opt -O2 -fno-strength-reduce \ -fno-strict-aliasing -march=i686 */ /* #define DefaultGccAMD64Opt -O2 -fno-strength-reduce \ -fno-strict-aliasing */ /* #define DefaultGcc2AxpOpt -O2 -mcpu=ev6 */ /* #define DefaultGcc2PpcOpt -O2 -mcpu=750 */ #define HasFreetype2 YES #define HasFontconfig YES #define HasExpat YES #define HasLibpng YES #define HasZlib YES /* * Which drivers to build. When building a static server, each of * these will be included in it. When building the loadable server * each of these modules will be built. * #define XF86CardDrivers mga glint nv tga s3virge sis rendition \ neomagic i740 tdfx savage \ cirrus vmware tseng trident chips apm \ GlideDriver fbdev i128 \ ati AgpGartDrivers DevelDrivers ark \ cyrix siliconmotion vesa vga \ XF86OSCardDrivers XF86ExtraCardDrivers */ /* * Select the XInput devices you want by uncommenting this. * #define XInputDrivers mouse keyboard acecad calcomp citron \ digitaledge dmc dynapro elographics \ microtouch mutouch penmount spaceorb \ summa wacom void magictouch aiptek */ /* Most installs will only need this */ #define XInputDrivers mouse keyboard /* Disable building Xprint server and clients until we get them figured * out but build Xprint libraries to allow precompiled binaries such as * Acrobat Reader to run. */ #define XprtServer NO #define BuildXprintClients NO /* End Xorg host.def file */ EOF
Dann endlich kann Xorg gebacken werden:
sed -i -e "s@^#include <linux/config.h>@/* & */@" \ `grep -lr linux/config.h *` && ( make World 2>&1 | tee xorg-compile.log && exit $PIPESTATUS ) make install && make install.man && ln -sf ../X11R6/bin /usr/bin/X11 && ln -sf ../X11R6/lib/X11 /usr/lib/X11 && ln -sf ../X11R6/include/X11 /usr/include/X11 cd /usr/src mv X11R6.8.2-src.tar.bz2 packages cat > ~/.xinitrc << "EOF" # Begin .xinitrc file xterm -g 80x40+0+0 & xclock -g 100x100-0+0 & twm EOF cd /usr/src wget ftp://ftp.gnu.org/savannah/files/freefont/freefont-ttf.tar.gz tar xfvz freefont-ttf.tar.gz cd freefont-ttf/sfd && mv *.tff /usr/X11R6/lib/X11/fonts/TTF cd /usr/src mv freefont-ttf.tar.gz packages rm -r freefont*
Anschließend wird in /etc/ld.so.conf /usr/X11R6/lib ergänzt und ldconfig aufgerufen. Außerdem wird in /etc/profile die $PATH Variable um /usr/X11R6/bin ergänzt, z.B. so:
export PATH=$PATH:/usr/X11R6/bin
[Bearbeiten] Der erste Start von Xorg
Zuerst wird eine Vorgabedatei erstellt, hier am Beispiel einer GF4MX400, die als Monitor einen TV am S-Videeo Ausgang betreibt und einer Maus mit Scrollrad am PS/2 Port:
cd ~ Xorg -configure
Entsprechend dem aktuellen System wird die Datei editiert:
Section "ServerLayout" Identifier "X.org Configured" Screen 0 "Screen0" 0 0 InputDevice "Keyboard0" "CoreKeyboard" EndSection Section "Module" Load "glx" Load "extmod" Load "dbe" Load "record" Load "xtrap" Load "type1" Load "freetype" EndSection Section "InputDevice" Identifier "Keyboard0" Driver "kbd" EndSection Section "InputDevice" Identifier "Mouse0" Driver "mouse" Option "Protocol" "imps/2" Option "Device" "/dev/input/mouse0" Option "Buttons" "5" Option "ZAxisMapping" "4 5" EndSection Section "Monitor" Identifier "Monitor0" VendorName "Monitor Vendor" ModelName "Monitor Model" EndSection Section "Device" Option "NoLogo" "true" Option "NvAGP" "3" Option "ConnectedMonitor" "TV" Option "TVStandard" "PAL-B" Option "TVOutFormat" "S-Video" Identifier "Card0" Driver "nvidia" VendorName "nVidia Corporation" EndSection Section "Screen" Identifier "Screen0" Device "Card0" Monitor "Monitor0" DefaultDepth 24 SubSection "Display" Viewport 0 0 Depth 24 EndSubSection EndSection
Der X-Server startet nur, wenn eine gültiger und funktionierender Screen gefunden wird, also eine Kombination aus Device und Monitor, ebenso muss die Section InputDevice gültig sein.
Nachdem der X-Server ordnungsgemäß startet, wird die erzeugte xorg.conf.new nach /etc/X11 kopiert:
X -config ~/xorg.conf.new mv ~/xorg.conf.new /etc/X11/xorg.conf
Jetzt muss sich der X-Server mit startx starten lassen und mit STRG+ALT+BACKSPACE wieder beenden lassen.
[Bearbeiten] QT-lib Installation
[Bearbeiten] libjpeg-06b
Prüfen, ob libjpeg installiert ist mit
which cjpeg
Installation:
cd /usr/src && wget ftp://ftp.uu.net/graphics/jpeg/jpegsrc.v6b.tar.gz tar xfz jpegsrc.v6b.tar.gz && cd jpegsrc.v6b ./configure --prefix=/usr --enable-static --enable-shared && make && make install cd /usr/src && mv jpegsrc.v6b.tar.gz packages && rm -r jpeg*
[Bearbeiten] lcms-1.14
Prüfen, ob lcms installiert ist mit
pkg-config --modversion lcms
Installation:
cd /usr/src && wget http://www.littlecms.com/lcms-1.14.tar.gz tar xfz lcms-1.14.tar.gz cd lcms-1.14 ./configure --prefix=/usr && make && make install cd /usr/src && mv lcms-1.14.tar.gz packages && rm -r lcms*
[Bearbeiten] libmng
Prüfen, ob libmng-1.0.9 installiert ist, falls nicht: installieren.
Anm.: Die libmng-1.0.8 bei sourceforge lässt sich nicht entpacken. Leider scheint bei libmng-1.0.9 autogen.sh nicht mehr zu funktionieren und es existiert auch kein ./configure, deswegen hier ein work-around.
wirbel
cd /usr/src && wget http://mesh.dl.sourceforge.net/sourceforge/libmng/libmng-1.0.9.tar.gz tar xfz libmng-1.0.9.tar.gz && cd libmng-1.0.9 cat >> /usr/src/libmng-1.0.9/autogen.sh<< "EOF" # autogen.sh # # move out configure.in if ! test -f configure.in; then echo "copying configure.in" ln -s makefiles/configure.in . fi # move out the macros and run aclocal if test ! -f acinclude.m4 -a -r makefiles/acinclude.m4; then echo "copying configure macros" ln -s makefiles/acinclude.m4 . fi # copy up our Makefile template if ! test -f Makefile.am; then echo "copying automake template" ln -s makefiles/Makefile.am . fi echo "running aclocal" aclocal # libtool is named glibtool on MacOS X for LIBTOOLIZE in libtoolize glibtoolize nope; do ($LIBTOOLIZE --version) < /dev/null > /dev/null 2>&1 && break done if test x$LIBTOOLIZE = xnope; then echo "error: Could not find libtoolize in the path!" echo " You'll need to install a copy of libtool before continuing" echo " with the generation of the build system." echo exit 1 fi echo "running $LIBTOOLIZE" $LIBTOOLIZE --automake echo "running automake" automake --foreign --add-missing echo "building configure script" autoconf # and finally invoke our new configure ./configure $* # end EOF chmod 755 autogen.sh && sh autogen.sh && ./configure --prefix=/usr && make && make install cd /usr/src && mv libmng-1.0.9.tar.gz packages && rm -r libmng*
[Bearbeiten] QT-3.3.4 installieren
Wenn alle vorherigen Installationen erfolgreich waren, kann mit QT begonnen werden. QT sollte nach /opt/qt-$VERSION installiert werden, um für zukünftige Upgrades ein leichtes Ersetzen der qt-lib zu ermöglichen. Auf diese Weise kann auch extrem einfach zwischen verschiedenen Versionen mit einem einzigen Link /opt/qt -> /opt/qt-$VERSION "umgeschaltet" werden. Ansonsten folgt auch hier die Installation BLFS.
cd /opt && wget ftp://ftp.trolltech.com/qt/source/qt-x11-free-3.3.4.tar.bz2 tar xfj qt-x11-free-3.3.4.tar.bz2 mv qt-x11-free-3.3.4 qt-3.3.4 ln -s /opt/qt-3.3.4 /opt/qt mv qt-x11-free-3.3.4.tar.bz2 /usr/src/packages bash export QTDIR=/opt/qt-3.3.4 && export LD_LIBRARY_PATH=/opt/qt-3.3.4/lib:$LD_LIBRARY_PATH && export PATH=/opt/qt-3.3.4/bin:$PATH && echo "yes" | ./configure -prefix /opt/qt-3.3.4 -qt-gif -system-libpng \ -system-libmng -system-zlib -system-libjpeg -no-exceptions \ -thread -plugin-imgfmt-png && make && make install && cd lib && ln -s libqt-mt.so libqt.so && exit
Anschließend wird in /etc/ld.so.conf /opt/qt/lib ergänzt und ldconfig aufgerufen. Außerdem wird in /etc/profile die $PATH Variable um /opt/qt/bin ergänzt, z.B. so:
export PATH=$PATH:/opt/qt/bin
Wie in BLFS alternativ vorgeschlagen evtl. ~/.bash_profile zu nutzen, ist nicht empfehlenswert, da dann der erweiterte Pfad nur für den jeweiligen Nutzer gefunden wird und nur für diesen dann die QT erreichbar ist.
Die Installation von QT ist damit beendet.
[Bearbeiten] KDE Installation
Wieder wird in /etc/ld.so.conf ergänzt: /opt/kde/lib, in /etc/profiles wird $PATH um /opt/kde/bin ergänzt.
KDE wird hier ebenso wie QT in /opt installiert, um einfaches updaten später zu ermöglichen.
mkdir /opt/kde-3.4.1 ln -sf /opt/kde-3.4.1 /opt/kde cp /etc/profile /etc/profile.sav echo "export KDEDIR=/opt/kde" >> /etc/profile echo "export QTDIR=/opt/qt" >> /etc/profile echo "export PATH=$PATH:/opt/qt/bin:/opt/kde/bin" >> /etc/profile echo "export PKG_CONFIG_PATH=/usr/lib/pkgconfig:/opt/kde/lib/pkgconfig" >> /etc/profile echo "export LD_LIBRARY_PATH=/lib:/usr/lib:/usr/local/lib:/opt/qt/lib:opt/kde/lib" \ >> /etc/profile export KDEDIR=/opt/kde export QTDIR=/opt/qt export PATH=$PATH:/opt/qt/bin:/opt/kde/bin export PKG_CONFIG_PATH=/usr/lib/pkgconfig:/opt/kde/lib/pkgconfig export LD_LIBRARY_PATH=/lib:/usr/lib:/usr/local/lib:/opt/qt/lib:opt/kde/lib
[Bearbeiten] Download der Pakete
Jedes einzelne KDE-Paket aus dem Netz zu laden und zu entpacken ist recht mühsam, deswegen ein script, welches prüft, ob alle Pakete schon im Ordner sind, bei Bedarf herunterlädt und entpackt. Wers denn lieber per Hand Browser mag, kanns auch einzeln selbst machen:
mkdir /usr/src/kde && cd /usr/src/kde cat > /usr/src/kde/get_packages << "EOF" #!/bin/sh ########################################################### N1="1" # aRTS major number N2="3" # KDE major number N3="4.1" # KDE minor numbers #--------------------------------------------------------- # language identifier like "de", "en", "fr", "it" LANGUAGE="de" #--------------------------------------------------------- # download server to be used if package not available LOCATION="ftp://ftp.gwdg.de/pub/x11/kde/stable/$N2.$N3/src" BASIC_PKG="kdelibs kdebase" MULTIMEDIA_PKG="kdemultimedia kdeutils kdenetwork kdegraphics \ kdebindings kdeartwork kdeadmin kdeaddons \ kdepim kdeedu kdebindings kdeaccessibility \ kdetoys kdegames kdeaddons" ############################################################ case "$1" in basic) if [ ! -e "arts-$N1.$N3.tar.bz2" ] ; then echo "DOWNLOAD: arts-$N1.$N3.tar.bz2" wget "$LOCATION/arts-$N1.$N3.tar.bz2" else echo "GEFUNDEN: arts-$N1.$N3.tar.bz2" fi if [ ! -e arts-$N1.$N3 ] ; then echo "ENTPACKE: arts-$N1.$N3.tar.bz2" tar xfj arts-$N1.$N3.tar.bz2 fi for package in $BASIC_PKG ; do if [ ! -e $package-$N2.$N3.tar.bz2 ] ; then echo "DOWNLOAD: $package-$N2.$N3.tar.bz2" wget "$LOCATION/$package-$N2.$N3.tar.bz2" else echo "GEFUNDEN: $package-$N2.$N3.tar.bz2" fi if [ ! -e $package-$N2.$N3 ] ; then echo "ENTPACKE: $package-$N2.$N3.tar.bz2" tar xfj $package-$N2.$N3.tar.bz2 fi done ;; optional) if [ ! -e "kde-i18n-$LANGUAGE-$N2.$N3.tar.bz2" ] ; then echo "DOWNLOAD: kde-i18n-$LANGUAGE-$N2.$N3.tar.bz2" wget "$LOCATION/kde-i18n/kde-i18n-$LANGUAGE-$N2.$N3.tar.bz2" else echo "GEFUNDEN: kde-i18n-$LANGUAGE-$N2.$N3.tar.bz2" fi if [ ! -e kde-i18n-$LANGUAGE-$N2.$N3 ] ; then echo "ENTPACKE: kde-i18n-$LANGUAGE-$N2.$N3.tar.bz2" tar xfj kde-i18n-$LANGUAGE-$N2.$N3.tar.bz2 fi for package in $MULTIMEDIA_PKG ; do if [ ! -e $package-$N2.$N3.tar.bz2 ] ; then echo "DOWNLOAD: $package-$N2.$N3.tar.bz2" wget "$LOCATION/$package-$N2.$N3.tar.bz2" else echo "GEFUNDEN: $package-$N2.$N3.tar.bz2" fi if [ ! -e $package-$N2.$N3 ] ; then echo "ENTPACKE: $package-$N2.$N3.tar.bz2" tar xfj $package-$N2.$N3.tar.bz2 fi done ;; *) $0 basic ;; esac # End get_packages; wirbel 20050609 EOF chmod +x get_packages ./get_packages basic
[Bearbeiten] Jede Menge an Libs
Eine Installation von KDE erfordert viele libs und Tools, die nicht standardmäßig installiert sind.
Die Versionen und Reihenfolge der hier installierten Bibliotheken ist nicht zufällig. Abweichende Versionsnummern können (müssen aber nicht) zu Compilerfehlern führen. Ebenso kann es zu Fehlern kommen, wenn bereits installierte Bibliotheken fehlerhaft ins System eingebunden wurden oder unterschiedliche Versionen von libs existieren.
[Bearbeiten] pkgconfig-0.15.0
which pkg-config, falls nicht pkgconfig installieren:
cd /usr/src && wget ftp://ftp.fu-berlin.de/unix/linux/mirrors/gentoo/distfiles/pkgconfig-0.15.0.tar.gz tar xfz pkgconfig-0.15.0.tar.gz && cd pkgconfig-0.15.0 ./configure --prefix=/usr && make && make install cd /usr/src && mv pkgconfig-0.15.0.tar.gz packages && rm -r pkgconfig-0.15.0
[Bearbeiten] GLib-2.6.3
Testen, ob glib installiert ist:
pkg-config --modversion glib-2.0
falls nicht installieren:
cd /usr/src && wget ftp://ftp.gtk.org/pub/gtk/v2.6/glib-2.6.3.tar.bz2 tar xfj glib-2.6.3.tar.bz2 && cd glib-2.6.3 ./configure --prefix=/usr && make && make install cd /usr/src && mv glib-2.6.3.tar.bz2 packages && rm -r glib-2.6.3
[Bearbeiten] libart_lgpl-2.3.17
Testen, ob libart_lgpl-2.3.17 installiert ist:
libart2-config --version
falls nicht installieren:
cd /usr/src && wget ftp://ftp.gnome.org/mirror/gnome.org/sources/libart_lgpl/2.3/libart_lgpl-2.3.17.tar.bz2 tar xfj libart_lgpl-2.3.17.tar.bz2 && cd libart_lgpl-2.3.17 ./configure --prefix=/usr && make && make install ldconfig cd /usr/src && mv libart_lgpl-2.3.17.tar.bz2 packages && rm -r libart*
[Bearbeiten] libxml2-2.6.19
Testen, ob libxml2-2.6.19 installiert ist:
xml2-config --version
falls nicht installieren:
cd /usr/src && wget ftp://xmlsoft.org/libxml2-2.6.19.tar.gz tar xfz libxml2-2.6.19.tar.gz && cd libxml2-2.6.19 ./configure --prefix=/usr --with-history && make && make install cd /usr/src && mv libxml2-2.6.19.tar.gz packages && rm -r libxml*
[Bearbeiten] libxslt-1.1.14
Testen, ob libxslt-1.1.14 installiert ist:
xslt-config --version
falls nicht installieren:
cd /usr/src && wget ftp://xmlsoft.org/libxslt-1.1.14.tar.gz tar xfz libxslt-1.1.14.tar.gz && cd libxslt-1.1.14 ./configure --prefix=/usr && make && make install ldconfig cd /usr/src && mv libxslt-1.1.14.tar.gz packages && rm -r libxslt*
[Bearbeiten] pcre-6.0
Testen, ob pcre-6.0 installiert ist:
pcre-config --version
falls nicht installieren:
cd /usr/src && wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-6.0.tar.bz2 tar xfj pcre-6.0.tar.bz2 && cd pcre-6.0 ./configure --prefix=/usr --enable-utf8 && make && make install mv /usr/lib/libpcre.so.* /lib/ && ln -sf ../../lib/libpcre.so.0 /usr/lib/libpcre.so ldconfig cd /usr/src && mv pcre-6.0.tar.bz2 packages && rm -r pcre*
[Bearbeiten] openssl-0.9.7e
Testen, ob openssl-0.9.7e installiert ist:
pkg-config --modversion openssl
falls nicht installieren:
cd /usr/src && wget ftp://ftp.openssl.org/source/openssl-0.9.7e.tar.gz tar xfz openssl-0.9.7e.tar.gz && cd openssl-0.9.7e sed 's/^passwd/openssl-passwd/' doc/apps/passwd.pod \ > doc/apps/openssl-passwd.pod && rm doc/apps/passwd.pod && mv doc/crypto/{,openssl_}threads.pod && ./config --openssldir=/etc/ssl --prefix=/usr shared && sed -i 's%SHLIBDIRS= fips crypto ssl%SHLIBDIRS= crypto ssl%g' Makefile && make MANDIR=/usr/share/man make MANDIR=/usr/share/man install && cp -r certs /etc/ssl ldconfig cd /usr/src && mv openssl-0.9.7e.tar.gz packages && rm -r openssl*
[Bearbeiten] libidn-0.5.17
Testen, ob libidn-0.5.17 installiert ist:
pkg-config --modversion libidn
falls nicht installieren:
cd /usr/src && wget ftp://alpha.gnu.org/pub/gnu/libidn/libidn-0.5.17.tar.gz tar xfz libidn-0.5.17.tar.gz && cd libidn-0.5.17 ./configure --prefix=/usr && make && make install ldconfig cd /usr/src && mv libidn-0.5.17.tar.gz packages && rm -r libidn*
[Bearbeiten] alsa-lib-1.0.9
Testen, ob alsa-lib-1.0.9 installiert ist:
pkg-config --modversion alsa
falls nicht installieren:
cd /usr/src wget ftp://ftp.alsa-project.org/pub/lib/alsa-lib-1.0.9.tar.bz2 tar xfj alsa-lib-1.0.9.tar.bz2 && cd alsa-lib-1.0.9 ./configure --enable-static && make && make install ldconfig cd /usr/src && mv alsa-lib-1.0.9.tar.bz2 packages && rm -r alsa-lib*
[Bearbeiten] popt-1.7
Testen, ob popt-1.7 installiert ist:
if [ -e /usr/lib/libpopt.so ]; then \ echo "popt found." \ fi
falls nicht installieren:
cd /usr/src/ && wget ftp://ftp.debian.org/debian/pool/main/p/popt/popt_1.7.orig.tar.gz && wget http://ftp.debian.org/debian/pool/main/p/popt/popt_1.7-5.diff.gz gzip -d popt_1.7-5.diff.gz tar xfz popt_1.7.orig.tar.gz && cd popt-1.7 patch -Np1 -i ../popt_1.7-5.diff && ./configure --prefix=/usr && cp configure.in configure.ac && touch configure.in configure.ac && make make install ldconfig cd /usr/src && mv popt_1.7.orig.tar.gz packages && mv popt_1.7-5.diff packages && rm -r popt*
[Bearbeiten] gstreamer-0.8.10
Testen, ob gstreamer-0.8.10 installiert ist:
pkg-config --modversion gstreamer-0.8
falls nicht installieren:
cd /usr/src/ && wget ftp://ftp.gnome.org/pub/GNOME/sources/gstreamer/0.8/gstreamer-0.8.10.tar.bz2 tar xfj gstreamer-0.8.9.tar.bz2 && cd gstreamer-0.8.9 ./configure --prefix=/usr --sysconfdir=/etc \ --localstatedir=/var --disable-docs-build && make && make install && gst-register ldconfig cp pkgconfig/gstreamer-0.8.pc /usr/lib/pkgconfig cd /usr/src && mv gstreamer-0.8.10.tar.bz2 packages && rm -r gstreamer*
[Bearbeiten] gstreamer-libs-0.8.9
Testen, ob gstreamer-libs-0.8.9 installiert ist:
pkg-config --modversion gstreamer-libs-0.8
falls nicht installieren:
cd /usr/src && wget ftp://ftp.gnome.org/pub/GNOME/sources/gst-plugins/0.8/gst-plugins-0.8.9.tar.bz2 tar xfj gst-plugins-0.8.9.tar.bz2 && cd gst-plugins-0.8.9 ./configure --prefix=/usr --disable-opengl && make && make install cd /usr/src && mv gst-plugins-0.8.9.tar.bz2 packages && rm -r gst-plugins*
[Bearbeiten] libmad-0.15.1b
Testen, ob popt-1.7 installiert ist:
if [ -e /usr/lib/libmad.so.0.2.1 ]; then \ echo "libmad-0.15.1b found." \ fi
falls nicht installieren:
cd /usr/src && wget ftp://ftp.mars.org/pub/mpeg/libmad-0.15.1b.tar.gz tar xfz libmad-0.15.1b.tar.gz && cd libmad-0.15.1b ./configure --prefix=/usr && make && make install ldconfig cd /usr/src && mv libmad-0.15.1b.tar.gz packages && rm -r libmad*
[Bearbeiten] libogg-1.1.2
Testen, ob libogg-1.1.2 installiert ist:
pkg-config --modversion ogg
falls nicht installieren:
cd /usr/src && wget http://downloads.xiph.org/releases/ogg/libogg-1.1.2.tar.gz tar xfz libogg-1.1.2.tar.gz && cd libogg-1.1.2 ./configure --prefix=/usr && make && make install ldconfig cd /usr/src && mv libogg-1.1.2.tar.gz packages && rm -r libogg*
[Bearbeiten] libvorbis-1.1.0
Testen, ob libvorbis-1.1.0 installiert ist:
pkg-config --modversion vorbis
falls nicht installieren:
cd /usr/src && wget http://downloads.xiph.org/releases/vorbis/libvorbis-1.1.0.tar.gz tar xfz libvorbis-1.1.0.tar.gz && cd libvorbis-1.1.0 ./configure --prefix=/usr && make && make install ldconfig cd /usr/src && mv libvorbis-1.1.0.tar.gz packages && rm -r libvorbis*
[Bearbeiten] libtheora-1.0alpha4
Testen, ob libtheora-1.0alpha4 installiert ist:
pkg-config --modversion theora
falls nicht installieren:
cd /usr/src && wget http://downloads.xiph.org/releases/theora/libtheora-1.0alpha4.tar.gz tar xfz libtheora-1.0alpha4.tar.gz && cd libtheora-1.0alpha4 ./configure --prefix=/usr && make && make install ldconfig cd /usr/src && mv libtheora-1.0alpha4.tar.gz packages && rm -r libtheora*
[Bearbeiten] audiofile-0.2.6
Testen, ob audiofile-0.2.6 installiert ist:
pkg-config --modversion audiofile
falls nicht installieren:
cd /usr/src && wget http://www.68k.org/~michael/audiofile/audiofile-0.2.6.tar.gz tar xfz audiofile-0.2.6.tar.gz && cd audiofile-0.2.6 ./configure --prefix=/usr && make && make install ldconfig cd /usr/src && mv audiofile-0.2.6.tar.gz packages && rm -r audiofile-0.2.6*
[Bearbeiten] TagLib-1.3.1
TODO: taglib-1.3.1 Test
cd /usr/src && wget http://developer.kde.org/~wheeler/files/src/taglib-1.3.1.tar.gz ./configure --prefix=/usr tar xfz taglib-1.3.1 && cd taglib-1.3.1 make make install ldconfig cd /usr/src && mv taglib-1.3.1.tar.gz packages && rm -r taglib*
[Bearbeiten] cdparanoia
Testen, ob cdparanoia installiert ist:
if [ -e /usr/bin/cdparanoia ]; then \ echo "cdparanoia found." \ fi
falls nicht installieren:
cd /usr/src && wget ftp://ftp.yars.free.net/pub/software/unix/util/cd/cdparanoia-III-alpha9.8.src.tgz && wget http://www.linuxfromscratch.org/blfs/downloads/6.0/cdparanoia-III-alpha9.8-includes-1.patch && wget http://www.linuxfromscratch.org/blfs/downloads/6.0/cdparanoia-III-alpha9.8-gcc34-1.patch tar xfz cdparanoia-III-alpha9.8.src.tgz && cd cdparanoia-III-alpha9.8 patch -Np1 -i ../cdparanoia-III-alpha9.8-includes-1.patch && patch -Np1 -i ../cdparanoia-III-alpha9.8-gcc34-1.patch && ./configure --prefix=/usr && make && make install ldconfig cd /usr/src && mv cdparanoia-III-alpha9.8.src.tgz packages && mv cdparanoia-III-alpha9.8-includes-1.patch packages && mv cdparanoia-III-alpha9.8-gcc34-1.patch packages && rm -r cdparanoia-III*
[Bearbeiten] SDL-1.2.8
Testen, ob SDL-1.2.8 installiert ist:
sdl-config --version
falls nicht installieren:
cd /usr/src && wget http://www.libsdl.org/release/SDL-1.2.8.tar.gz tar xfz SDL-1.2.8.tar.gz && cd SDL-1.2.8 ./configure --prefix=/usr && make && make install ldconfig cd /usr/src && mv SDL-1.2.8.tar.gz packages && rm -r SDL*
[Bearbeiten] aRts-1.4.1
Nach so viel Vorbereitung nun das erste KDE Paket. (ca.35MB Plattenplatz während der Installation)
cd /usr/src/kde/arts-1.4.1 ./configure --prefix=/opt/kde-3.4.1 --disable-debug \ --disable-dependency-tracking && make make install
[Bearbeiten] xine-lib-1.0.1
Xine-lib kann auch arts nutzen, deswegen erst jetzt:
cd /usr/src && wget http://mesh.dl.sourceforge.net/sourceforge/xine/xine-lib-1.0.1.tar.gz tar xfz xine-lib-1.0.1.tar.gz && cd xine-lib-1.0.1 ./configure --prefix=/usr --disable-opengl && make && make install ldconfig cd /usr/src && mv xine-lib-1.0.1.tar.gz packages && rm -r xine-lib*
[Bearbeiten] kdelibs
optional: vorher j2sdk-1.4/5.0 installieren. (kdelibs: ca. 220MB Plattenplatz während der Installation)
cd /usr/src/kde/kdelibs-3.4.1 ./configure --prefix=/opt/kde-3.4.1 --disable-debug \ --disable-dependency-tracking --enable-fast-malloc=full && make make install ldconfig
[Bearbeiten] kdebase
(ca. 195MB während der Installation)
cd /usr/src/kde/kdebase-3.4.1 ./configure --prefix=/opt/kde-3.4.1 --disable-debug \ --disable-dependency-tracking --enable-fast-malloc=full && make make install ldconfig
[Bearbeiten] KDE startfähig machen und der erste Start von KDE
mv /etc/X11/xinit/xinitrc /etc/X11/xinit/xinitrc.xorg cat > /etc/X11/xinit/xinitrc << "EOF" #!/bin/sh userresources=$HOME/.Xresources usermodmap=$HOME/.Xmodmap sysresources=/usr/X11R6/lib/X11/xinit/.Xresources sysmodmap=/usr/X11R6/lib/X11/xinit/.Xmodmap if [ -f $sysresources ]; then xrdb -merge $sysresources fi if [ -f $sysmodmap ]; then xmodmap $sysmodmap fi if [ -f $userresources ]; then xrdb -merge $userresources fi if [ -f $usermodmap ]; then xmodmap $usermodmap fi # default for all users: starting kde desktop # may be overridden by ~/.xinitrc exec startkde EOF chmod +x /etc/X11/xinit/xinitrcNach dem Laden des Grafiktreibers, in meinem Beispiel
modprobe nvidia, muss sich jetzt KDE mit
startxstarten lassen, Maus mit Scrollrad, Monitor und Grafikkarte müssen funktionieren. Falls das nicht der Fall ist, müssen Konfigdateien und Umgebungsvariablen, insbesondere die $PATH Variable nochmals kontrolliert werden.
__________________________
AB HIER: *NOCH* UNGETESTET.
__________________________
[Bearbeiten] optionale KDE Pakete
Laden und Entpacken der restlichen Pakete:
cd /usr/src/kde && ./get_packages optional
[Bearbeiten] i18n
i18n Paket zwecks Sprachunterstützung.
cd /usr/src/kde/kde-i18n-$LANGUAGE-3.4.1 ./configure --prefix=/opt/kde-3.4.1 && make && make install && ldconfig
[Bearbeiten] kdeadmin
Systemadministrations Programme
cd /usr/src/kde/kdeadmin-3.4.1 && ./configure --prefix=/opt/kde-3.4.1 --disable-debug \ --disable-dependency-tracking && make && make install && ldconfig
[Bearbeiten] kdenetwork
Instant messager Kopete, der download manager KGet, und einige andre Programme zum Thema Netzwerk.
cd /usr/src/kde/kdeadmin-3.4.1 && ./configure --prefix=/opt/kde-3.4.1 --disable-debug \ --disable-dependency-tracking && make && make install && ldconfig cat > /etc/rc.d/init.d/lisa << "EOF" #!/bin/sh # Begin $rc_base/init.d/lisa # Based on sysklogd script from LFS-3.1 and earlier. # Rewritten by Gerard Beekmans - gerard@linuxfromscratch.org #$LastChangedBy: dj $ #$Date: 2004-10-02 11:57:32 -0600 (Sat, 02 Oct 2004) $ . /etc/sysconfig/rc . $rc_functions export PATH=$PATH:/opt/kde/bin case "$1" in start) echo "Starting LISA Daemon..." loadproc /opt/kde/bin/lisa ;; stop) echo "Stopping LISA Daemon..." killproc /opt/kde/bin/lisa ;; reload) echo "Reloading LISA Daemon..." reloadproc /opt/kde/bin/lisa ;; restart) $0 stop sleep 1 $0 start ;; status) statusproc /opt/kde/bin/lisa ;; *) echo "Usage: $0 {start|stop|reload|restart|status}" exit 1 ;; esac # End $rc_base/init.d/lisa EOF
Falls LAN-Browsing benutzt werden soll, müssen /etc/lisarc and ~/.lisarc angelegt werden, sowie im passenden runlevel ein Link zu /etc/rc.d/init.d/lisa angelegt werden. Hilfreich dabei ist Control Center > Internet & Network > Local Network Browsing.
[Bearbeiten] kdeartwork
Wallpapers, Themes, Styles, Sounds.
cd /usr/src/kde/kdeartwork-3.4.1 && ./configure --prefix=/opt/kde-3.4.1 --disable-debug \ --disable-dependency-tracking && make && make install && ldconfig
[Bearbeiten] kdepim
email client KMail, newsreader KNode etc.
cd /usr/src/kde/kdepim-3.4.1 && ./configure --prefix=/opt/kde-3.4.1 --disable-debug \ --disable-dependency-tracking && make && make install && ldconfig
[Bearbeiten] kdeaddons
to be continued...
[Bearbeiten] kdebindings
to be continued...
[Bearbeiten] kdegames
to be continued...
[Bearbeiten] kdegraphics
to be continued...
[Bearbeiten] kdemultimedia
to be continued...
[Bearbeiten] kdeedu
to be continued...
[Bearbeiten] kdeaccessibility
to be continued...
[Bearbeiten] kdetoys
to be continued...
[Bearbeiten] kdeutils
to be continued...
[Bearbeiten] Noch ein wenig aufräumen
to be continued...
[Bearbeiten] KVDR-0.6.3
.. to be continued