Warum ein RPM aus dem Quellcode kompilieren?

Warum ein RPM aus dem Quellcode kompilieren?

Was ich weiß: src.rpm enthält normalerweise eine Art Tar oder komprimierten Quellcode für die App/Bibliothek/das Paket. Manchmal wird empfohlen, aus dem Quellcode zu kompilieren, wenn das Paket nicht funktioniert.

Was ich nicht weiß: Warum sollten Sie aus dem Quellcode neu kompilieren? Was brauche ich, um aus dem Quellcode zu kompilieren? gcc? xlc?

Was ich gerne wissen würde: Wenn Sie hypothetisch ein Quell-RPM haben, könnten Sie dieses RPM so kompilieren, dass es unter Fedora läuft, und dann dasselbe Quell-RPM nach AIX übertragen und es so kompilieren, dass es unter AIX läuft?

Antwort1

Nun, die .src.rpm enthält den QuellcodeUndInformationen darüber, wohin die verschiedenen Dateien und ausführbaren Dateien kopiert (installiert) werden sollen.

Also, ja, Sie sollten in der Lage sein, die Quelle sowohl unter Fedora als auch unter AIX zu kompilieren. Das bedeutet jedoch nicht, dass Sie auch „das RPM installieren“ könnten. Die Installation besteht aus dem Kopieren von Dateien in verschiedene Systemordner wie usw. /usrVerschiedene /etcBetriebssysteme erwarten, dass sich bestimmte Dateien an unterschiedlichen Orten befinden, daher gibt es keine Garantie, dass sich ein RPM für Fedora unter AIX installieren lässt. Tatsächlich ist es äußerst unwahrscheinlich.

Was das Kompilieren betrifft, möchten Sie vielleicht aus dem Quellcode kompilieren, um eine Binärdatei zu erhalten, die für Ihre spezielle Hardware optimiert ist, oder um bestimmte Kompilierflags zu aktivieren, wie z. B. den Speicherort bestimmter Bibliotheken. Wenn Sie nicht wissen, warum Sie aus dem Quellcode kompilieren sollten, sollten Sie es im Allgemeinen nicht tun.

Wenn Sie sich für die Kompilierung entscheiden, benötigen Sie den entsprechenden Compiler. Dies kann (unter anderem) für in C oder C++ geschriebene Software, gccfür Java usw. sein. Welchen Sie verwenden sollten, hängt von der zu installierenden Software und Ihren persönlichen Vorlieben ab. Manchmal wurde Software für bestimmte Compiler geschrieben (unter Verwendung bestimmter Optionen zur Kompilierungszeit) und diese beschweren sich, wenn Sie versuchen, sie mit einem anderen zu kompilieren.xlcjavac

Schließlich enthalten die meisten *nix-Quell-Tarballs ein Makefile und ein Konfigurationsskript. Sie benötigen die erforderlichen Tools, um diese zu verwenden. Das Konfigurationsskript ist normalerweise ein einfaches BLASH-Skript. Solange Sie BASH installiert haben, sollte es also kein Problem sein. Für die Verwendung des Makefiles ist der makeBefehl erforderlich. Es gibt auch einige andere grundlegende Tools (wie Autoconf und Automake und andere), die Sie benötigen. Ich habe seit vielen Jahren nicht mehr an einer RH-basierten Distribution gearbeitet, aber wenn ich mich recht erinnere, sollte dieser Befehl alles installieren, was Sie brauchen:

yum groupinstall "Development Tools" 

verwandte Informationen