Das Kompilieren und Installieren von Software ist ein Problem, das ich nicht überwinden kann. Ich möchte nur mein Verständnis dieses Prozesses mit jemandem durchgehen, der besser informiert ist, um meinen Geist zu klären und zum nächsten Level zu gelangen.
Viele wissenschaftliche Software, die ich benötige, werden nicht als Pakete verteilt. Ich verstehe, dass "./configure" die Kompilierungsvariablen einrichtet und nach Abhängigkeiten sucht. "Make" führt die Kompilierung aus. "Sudo make install" setzt alle Bibliotheken und Bins an ihre Plätze. Es funktioniert jedoch nie. Ich komme selten aus der a) "./configure" -Stufe heraus, ohne die Abhängigkeitshölle zu betreten, und wenn ich das tue, wird "sudo make install" wahrscheinlich meine Box beschädigen.
a) Die Abhängigkeitshölle ist sehr frustrierend. Manchmal habe ich die Bibliothek, aber sie gefällt mir nicht. Oder die Bibliothek möchte nicht installiert werden. Oder "configure" kann es nicht finden. Oder meine Distribution hat es irgendwo platziert, wo es nicht sein sollte. Oder es gibt zwei Versionen in meinem System. Das Problem ist, ich kann nicht verstehen, wie man diese Probleme diagnostiziert und daher behebt. Was sind einige gute Referenzen für jemanden, der kein Programmierer werden muss?
b) Nach meinem Verständnis wird "make install" einige Bibliotheken ersetzen und Einstellungen ändern, ohne dass sich mein Paketmanager dessen bewusst ist. Daher können einige Programme nicht ausgeführt werden, andere können nicht aktualisiert werden. Wenn ich also "make install" nicht verwende und die kompilierte Binärdatei in meinem Benutzerverzeichnis mit einem symbolischen Link zum PFAD behalte, bin ich dann im Klaren?
Meine Box ist Single User, hat jede Menge kostenloses HD, daher ist es mir egal, ob ich mehrere (Dutzende) Kopien von Bibliotheken habe, um meine Probleme zu lösen. Platz ist billig.
apt-get build-dep <package>
die erforderlichen Abhängigkeiten automatisch installieren.