Programm aus Source kompilieren

Software besorgen und anwenden
Post Reply
Message
Author
SoylentGrün

Programm aus Source kompilieren

#1 Post by SoylentGrün »

Mal so eine allgemeine Frage,

ich arbeite jetzt schon länger mit Debian Linux
Und installiere wenn möglich alles über "apt-get" oder irgendwelchen Backports.

Ich bin nicht so der Fan vom selbst kompilieren, da ich dann immer nicht weis wo die
Dateien beim "make install" hinkommen.
Ich hätte eben gerne die Kontrolle über alle Dateien die dabei erstellt werden, um es auch
wieder sauber entfernen zu können.

Also wie macht ihr das mit dem Kompilieren???

Vielen Dank für jede Anregung
MfG SoylentGrün

petameta
prolinux-forum-admin
Posts: 1294
Joined: 14. Feb 2003 13:19

#2 Post by petameta »

Das geht mit checkinstall: Natürlich erst installieren, dann statt dem finalen "make install" "checkinstall" aufrufen. Dieses baut Dir dann automatisch nen deb-Paket, das du installieren kannst (und auch deinstallieren).

Edit: checkinstall kann nicht nur Debian-Pakete bauen, sondern auch Redhat und Slackware Pakete.
Last edited by petameta on 14. Jun 2006 19:56, edited 1 time in total.

User avatar
Lateralus
prolinux-forum-admin
Posts: 1238
Joined: 05. May 2004 7:35

#3 Post by Lateralus »

edit: War zu spät und unwissend, aber dennoch: ;-)
@petameta: Vielen Dank, wieder was dazu gelernt.

Ich weiß leider nicht, wie / ob es bei Debian möglich ist, die Quellcodepakete (apt-get source) zu verwenden. Generell kannst du nicht garantieren, dass nicht irgendwelche Dateien überschrieben werden, wenn du puren Quellcode verwendest. Du kannst aber in der Regel überprüfen, wohin installiert wird. Es steht im Makefile unter "install". Eine automatisierte Methode, herauszubekommen, wohin der Code kommt, ist, einen prefix anzugeben und dann in ein temporäres Verzeichnis zu installieren. Nachteil ist: 1. Du musst alles zweimal installieren. 2. Manche Software unterstützt die --prefix-Option vielleicht nicht. (Das ist wohl selten):

Code: Select all

#!/bin/sh
TMPDIR=/tmp/test
SRCDIR=~/bla
mkdir -p ${TMPDIR}

# entpacken, konfigurieren, kompilieren und installieren (erster Lauf)
tar -zxf software-3.4.5.tar.gz
cd software-3.4.5
./configure --prefix ${TMPDIR}
make && make install

# Dateiliste erstellen
cd ${TMPDIR}
find . -type f >> ~/selfcompiled/software-3.4.5.list

# Echter Build
cd ${SRCDIR}/software-3.4.5
make clean
./configure && make && make install

Post Reply