363 lines
5.2 KiB
HTML
363 lines
5.2 KiB
HTML
<html>
|
|
<hr>
|
|
<font size="+2"></font><div align="CENTER">
|
|
<font size="+2"><br>
|
|
<br>
|
|
<br>
|
|
14:00 Uhr<br>
|
|
<br>
|
|
Sourcen kompilieren und Pakete selber bauen<br>
|
|
</font><font size="-1"><br>
|
|
Norbert Tretkowski<br>
|
|
Team(ix) GmbH<br>
|
|
<br>
|
|
Debian Entwickler<br>
|
|
tretkowski@inittab.de<br>
|
|
</font></div>
|
|
<br>
|
|
(page 1)<br>
|
|
<hr>
|
|
<br>
|
|
Warum selber kompilieren?<br>
|
|
<br>
|
|
<br>
|
|
<ul>
|
|
<li>Programm ist bei der Distribution nicht oder in einer alten Version dabei
|
|
</ul>
|
|
<br>
|
|
<ul>
|
|
<li>Die benoetigten Funktionen wurden beim Bauen der Pakete des Distributors nicht aktiviert
|
|
</ul>
|
|
<br>
|
|
(page 2)<br>
|
|
<hr>
|
|
<br>
|
|
Wo gibts die Software?<br>
|
|
<br>
|
|
<br>
|
|
<ul>
|
|
<li>Freshmeat (<a href="https://web.archive.org/web/20041108233147/http://www.freshmeat.net/)">http://www.freshmeat.net/)</a>
|
|
</ul>
|
|
<br>
|
|
<ul>
|
|
<li>Sourceforge (<a href="https://web.archive.org/web/20041108233147/http://www.sourceforge.net/)">http://www.sourceforge.net/)</a>
|
|
</ul>
|
|
<br>
|
|
<ul>
|
|
<li>Google (<a href="https://web.archive.org/web/20041108233147/http://www.google.com/)">http://www.google.com/)</a>
|
|
</ul>
|
|
<br>
|
|
(page 3)<br>
|
|
<hr>
|
|
<br>
|
|
Vorausetzungen<br>
|
|
<br>
|
|
<br>
|
|
<ul>
|
|
<li>Packprogramm(e) (gzip, bzip2)
|
|
</ul>
|
|
<br>
|
|
<ul>
|
|
<li>Compiler (gcc, g++)
|
|
</ul>
|
|
<br>
|
|
<ul>
|
|
<li>Sonstige Tools (tar, make)
|
|
</ul>
|
|
<br>
|
|
<ul>
|
|
<li>Headerfiles (libc6-dev, libgtk1.2-dev, ...)
|
|
</ul>
|
|
<br>
|
|
(page 4)<br>
|
|
<hr>
|
|
<br>
|
|
Vorbereitungen fuer diesen Workshop<br>
|
|
<br>
|
|
<br>
|
|
<ul>
|
|
<li>Separates Changeroot anlegen
|
|
</ul>
|
|
<br>
|
|
(page 5)<br>
|
|
<hr>
|
|
<br>
|
|
Nach dem Download<br>
|
|
<br>
|
|
<br>
|
|
<ul>
|
|
<li>Download der Datei als tar.gz, tar.bz2, o.ae.
|
|
</ul>
|
|
<br>
|
|
<ul>
|
|
<li>Entpacken der Datei mit gzip, bzip2 und/oder tar
|
|
</ul>
|
|
<br>
|
|
(page 6)<br>
|
|
<hr>
|
|
<br>
|
|
Beispiele zum Entpacken<br>
|
|
<br>
|
|
<br>
|
|
<ul>
|
|
<li>tar zxvf foobar.tar.gz
|
|
</ul>
|
|
<br>
|
|
<ul>
|
|
<li>tar jxvf foobar.tar.bz2
|
|
</ul>
|
|
<br>
|
|
(page 7)<br>
|
|
<hr>
|
|
<br>
|
|
Einfach mal drauf los<br>
|
|
<br>
|
|
<br>
|
|
<ul>
|
|
<li>Aufruf von ./configure --help
|
|
</ul>
|
|
<br>
|
|
<ul>
|
|
<li>Aufruf von ./configure --foo=bar --baz=qux
|
|
</ul>
|
|
<br>
|
|
<ul>
|
|
<li>Aufruf von make
|
|
</ul>
|
|
<br>
|
|
(page 8)<br>
|
|
<hr>
|
|
<br>
|
|
Wenn kein ./configure vorhanden ist<br>
|
|
<br>
|
|
<br>
|
|
<ul>
|
|
<li>Makefile sollte dann vorhanden sein
|
|
</ul>
|
|
<br>
|
|
<ul>
|
|
<li>Von Hand editieren um Einstellungen zu aendern
|
|
</ul>
|
|
<br>
|
|
(page 9)<br>
|
|
<hr>
|
|
<br>
|
|
Wenn ./configure abbricht<br>
|
|
<br>
|
|
<br>
|
|
<ul>
|
|
<li>Installieren der gewuenschten Libraries
|
|
</ul>
|
|
<br>
|
|
<ul>
|
|
<li>Erneut ./configure starten
|
|
</ul>
|
|
<br>
|
|
(page 10)<br>
|
|
<hr>
|
|
<br>
|
|
Trouble erschiessen (1)<br>
|
|
<br>
|
|
<br>
|
|
<ul>
|
|
<li>Abbruch weil foo.h fehlt
|
|
</ul>
|
|
<br>
|
|
<ul>
|
|
<li>Abbruch weil ...
|
|
</ul>
|
|
<br>
|
|
(page 11)<br>
|
|
<hr>
|
|
<br>
|
|
Trouble erschiessen (2)<br>
|
|
<br>
|
|
<br>
|
|
<ul>
|
|
<li>Aufruf von ldconfig, falls neu installierte Library nicht gefunden wird
|
|
</ul>
|
|
<br>
|
|
<ul>
|
|
<li>Unter Umstaenden noch /etc/ld.so.conf anpassen
|
|
</ul>
|
|
<br>
|
|
(page 12)<br>
|
|
<hr>
|
|
<br>
|
|
Konkretes Beispiel<br>
|
|
<br>
|
|
<br>
|
|
<ul>
|
|
<li>Ein FTP Client: lftp
|
|
</ul>
|
|
<br>
|
|
<ul>
|
|
<li>Entpacken
|
|
</ul>
|
|
<br>
|
|
<ul>
|
|
<li>Aufruf von ./configure
|
|
</ul>
|
|
<br>
|
|
<ul>
|
|
<li>make
|
|
</ul>
|
|
<br>
|
|
<ul>
|
|
<li>make install
|
|
</ul>
|
|
<br>
|
|
(page 13)<br>
|
|
<hr>
|
|
<br>
|
|
Ordnung ins Chaos bringen<br>
|
|
<br>
|
|
<br>
|
|
<ul>
|
|
<li>Stow
|
|
</ul>
|
|
<br>
|
|
<ul>
|
|
<li>Checkinstall
|
|
</ul>
|
|
<br>
|
|
(page 14)<br>
|
|
<hr>
|
|
<br>
|
|
Stow<br>
|
|
<br>
|
|
<br>
|
|
<ul>
|
|
<li>Installiert jede Software in ein separates Verzeichnis
|
|
</ul>
|
|
<br>
|
|
<ul>
|
|
<li>Legt Links unter /usr/local/bin, /usr/local/sbin, etc an
|
|
</ul>
|
|
<br>
|
|
<ul>
|
|
<li>Aufruf von ./configure --prefix=/usr/local/stow/foo
|
|
</ul>
|
|
<br>
|
|
<ul>
|
|
<li>Aufruf von make
|
|
</ul>
|
|
<br>
|
|
<ul>
|
|
<li>Aufruf von make install
|
|
</ul>
|
|
<br>
|
|
<ul>
|
|
<li>Aufruf von stow foo unterhalb von /usr/local/stow
|
|
</ul>
|
|
<br>
|
|
(page 15)<br>
|
|
<hr>
|
|
<br>
|
|
Checkinstall<br>
|
|
<br>
|
|
<br>
|
|
<ul>
|
|
<li>Baut auf einfache Weise RPM und DEB Pakete
|
|
</ul>
|
|
<br>
|
|
<ul>
|
|
<li>Aufruf von ./configure
|
|
</ul>
|
|
<br>
|
|
<ul>
|
|
<li>Aufruf von checkinstall, Fragen beantworten
|
|
</ul>
|
|
<br>
|
|
(page 16)<br>
|
|
<hr>
|
|
<br>
|
|
Spezialfall Kernel<br>
|
|
<br>
|
|
<br>
|
|
<ul>
|
|
<li>Entpacken wie gehabt
|
|
</ul>
|
|
<br>
|
|
<ul>
|
|
<li>Aufruf von make {menu|x}config
|
|
</ul>
|
|
<br>
|
|
<ul>
|
|
<li>Aufruf von make dep clean (b)zImage modules modules_install
|
|
</ul>
|
|
<br>
|
|
<ul>
|
|
<li>Kernel arch/$ARCH/boot/kernel/(b)zImage nach /boot kopieren
|
|
</ul>
|
|
<br>
|
|
<ul>
|
|
<li>Lilo konfiguration anpassen und aufrufen
|
|
</ul>
|
|
<br>
|
|
<ul>
|
|
<li>Rebooten
|
|
</ul>
|
|
<br>
|
|
(page 17)<br>
|
|
<hr>
|
|
<br>
|
|
Debian Pakete selber bauen<br>
|
|
<br>
|
|
<br>
|
|
<ul>
|
|
<li>Debian Tools (debhelper, dh-make, dpkg-dev, build-essential)
|
|
</ul>
|
|
<br>
|
|
<ul>
|
|
<li>Sonstige Tools (fakeroot, evtl. gnupg)
|
|
</ul>
|
|
<br>
|
|
<ul>
|
|
<li>Sourcecode entpacken
|
|
</ul>
|
|
<br>
|
|
<ul>
|
|
<li>Aufruf von dh_make
|
|
</ul>
|
|
<br>
|
|
<ul>
|
|
<li>Aufruf von dpkg-buildpackage -rfakeroot -us -uc
|
|
</ul>
|
|
<br>
|
|
(page 18)<br>
|
|
<hr>
|
|
<br>
|
|
Kompliziertere Debian Pakete<br>
|
|
<br>
|
|
<br>
|
|
<ul>
|
|
<li>Subversion
|
|
</ul>
|
|
<br>
|
|
<ul>
|
|
<li>VIM
|
|
</ul>
|
|
(page 19)<br>
|
|
</body>
|
|
</html>
|
|
<!--
|
|
FILE ARCHIVED ON 23:31:47 Nov 08, 2004 AND RETRIEVED FROM THE
|
|
INTERNET ARCHIVE ON 10:25:32 May 11, 2024.
|
|
JAVASCRIPT APPENDED BY WAYBACK MACHINE, COPYRIGHT INTERNET ARCHIVE.
|
|
|
|
ALL OTHER CONTENT MAY ALSO BE PROTECTED BY COPYRIGHT (17 U.S.C.
|
|
SECTION 108(a)(3)).
|
|
-->
|
|
<!--
|
|
playback timings (ms):
|
|
captures_list: 1.982
|
|
exclusion.robots: 0.257
|
|
exclusion.robots.policy: 0.242
|
|
esindex: 0.012
|
|
cdx.remote: 5.119
|
|
LoadShardBlock: 80.58 (3)
|
|
PetaboxLoader3.datanode: 81.477 (4)
|
|
PetaboxLoader3.resolve: 68.888 (2)
|
|
load_resource: 80.599
|
|
-->
|