Linux 15.045 Themen, 107.178 Beiträge

Einmal nur....

Lightning1 / 14 Antworten / Flachansicht Nickles

.........wirklich einmal nur möchte ich noch erleben, dass die gottverdammten, abgefuckten  .tar-Pakete OHNE seitenlange, sinnlose Fehlermeldungen installiert werden können (denn die bemeckerten Pakete und was noch alles S I N D installiert )


Warum zur Hölle installiert sich denn der verdammte Dreck nicht seinen Scheiss selber, was es zur Installation braucht  ???? Na egal, nun bin ich sowieso kreuzsauer  und arbeite dann eben wieder mit XP :-(((

bei Antwort benachrichtigen
polytaen Frednerk „hi repi, könntest du das mit dem compilieren etwas erklären oder weisst du...“
Optionen

Hi Fn,

1.) ./configure
schaut nach den Systemvariablen, um gegebenenfalls eine Compilierung für das entsprechende System vorzubereiten und schneller zu machen (i386).
Desweiteren schaut ./configure nach den im System installierten compileren (gcc, gcc+ usw,). Wenn diese fehlen, kann logischerweise nicht installiert werden.
Du hast bestimmt schon von Abhängigkeiten gehört, oder? D.h. ein Packet kann ohne ein anderes nicht installiert werden. Diese werden in der Regel von YAST oder rpm aufgelöst. Beim compilieren macht das ./configure. D.h., es schaut nach, ob alle Programme (oder libraries; siehe unteren thread) installiert sind. Um es logisch zu formulieren: Wenn ich ein Netzwerkmonitor installiere, muss auch ein Netzwerklayer (Protokoll) vorhanden sein. Fehlt das, meckert ./configure halt. Das gleiche würde YAST oder rpm tun, aber diese Dinger können halt die entsprechenden Packete vorher installieren. ./configure kann das nicht, denn es können ja nicht alle Abhängigen Packete mitgeliefert werden (mann will für einen Texteditor einfach nich den gesamten Linux Quellcode mit runterladen).
Weiter: ./configure schaut auch nach den den enstprechenden Pfaden der libraries, um sie dann entsprechend dem (prä)compiler oder linker zu übergeben.

Also: ./configure sucht im ganzen System, ob alles für eine Compilierung bereit ist, sucht die entsprechenden Parameter (Pfade) und daraus resultiert ein Makefile, in dem alles drin steht. Wenn was fehlt. hagelt es halt die entsprechnde Fehlermeldung. Das Packet (oder die lib) die fehlt, kann man dann nachinstallieren (händisch, oder mit YAST/rpm) und ./configure nochmal laufen lassen.

Wenn man meint man hat aber doch die library installiert, die ./configure anmeckert, sollte man nachsehen, ob die entwickler (development) libraries installiert sind. Diese sind nötig, um ein Programm zu kompilieren, die Laufzeitbibliotheken enthalten nur abgespeckte infos.

Also: Wir haben nun ein Makefile, in dem alles drinnesteht.

2.) make
make wirft den Compilierungsprozess an, bei dem eigentlich keine Fehler auftauchen sollten, wenn mit ./configure alles in Ordung war. make nimmt das von ./configure erstellte Makefile und liest die Parameter für den Compilierungsprozess aus.
Allerdings werden die fertigen Teile nicht ins System integriert, sondern nur "lokal" im Verzeichnis fertiggestellt. (Dann kann man auch nochmalüberprüfen, als root, ob alles geht, macht aber niemand ;)
Vorteil: Bevor man den Krempel in das System integriert, kann man nachschauen, ob das Proggi entsprechend den Vorstellungen funzt. WEnn nicht, kann man einfach das Verzeichnis löschen und ist alles wieder los.

Also: Wir haben nun ein Programm.

3.) make install
make install integriert das Programm in das System. In der Regel werden die binaries (das Programm) nach /usr/local/bin oder /usr/bin kopiert, wo sie für jedermann ausführbar und damit nutzbar sind.
Das Programm ist installiert.


zu ./configure:
Man sollte immer ein ./configure --help vorher machen, das README und das INSTALL lesen. Dann treten auch keine Fehler auf. Man kann ./configure nämlich Parameter übergeben (graphisch ja/nein, wele lib, wo usw).

HTH
poly

-      .---.        .----------     /     \  __  /     ------    / /     \(  )/    -----   //////   ' \/ `   ---  //// / // :    : --- // /   /  /`    '--//          //..\\       ====MM====MM====           '//||\\`
bei Antwort benachrichtigen
Alles schön und gut... polytaen
WoW... Frednerk
WoW... polytaen
Mach ich ja.... Lightning1
OT XPectIT
loooool Lightning1
loooool Plazebo