it-swarm.com.de

Installieren Sie gcc unter Linux ohne Root-Berechtigung

Ich habe Zugriff auf Computer in einer öffentlichen Bibliothek und möchte C++ - und vielleicht anderen Code ausprobieren. Das Problem ist, dass kein g ++ installiert ist und ich es nicht mit Paketen installieren kann, da ich keinen Root-Zugriff habe. Gibt es eine "intelligente" Möglichkeit, eine vollständige Umgebung für die Programmierung in einem Home-Ordner zu erstellen?

Ich habe gcc installiert (ich kann C-Code kompilieren). Ich habe auch einen Stammordner, der konsistent ist. Ich weiß nicht, wo ich vorkompiliertes g ++ finden kann, ich habe nur Quelle gefunden, aber ich weiß nicht, was ich damit anfangen soll. Ich habe versucht, sie zu bitten, dies zu installieren, aber es hat nicht funktioniert :)

22
Matthew Murdock

Sie können das Konfigurationsskript mit dem Parameter --prefix ausführen: ../gcc-4.5.0/configure --prefix=/home/foo/bar. Da sich die C++ - Standardbibliothek höchstwahrscheinlich von der auf Ihrem System unterscheidet, müssen Sie export LD_LIBRARY_PATH=/home/foo/bar/lib einstellen, bevor Sie ein von diesem Compiler kompiliertes Programm starten können.

9
Rudi

Wenn Sie es als lokaler Benutzer installieren möchten

GNU GSRC bietet eine einfache Möglichkeit, dies zu tun

Link: http://www.gnu.org/software/gsrc/

Geben Sie nach der Konfiguration einfach die folgenden Befehle an:

cd gsrc
make -C pkg/gnu/gcc 
make -C pkg/gnu/gcc install

Der zweite Schritt könnte auch geändert werden, um ein N-Core-System zu beschleunigen:

make -C pkg/gnu/gcc MAKE_ARGS_PARALLEL="-jN"
7
DanielY

Vor langer Zeit (1992 oder so) habe ich etwas Ähnliches durchgemacht, als ich ein SCO System ohne Entwicklungsumgebung kaufte. Das Bootstrapping bis hin zu einer vollständigen Entwicklungsumgebung war ein gigantischer Schmerz und überhaupt nicht einfach. Die Verwendung von Library-Header-Dateien oder gcc auf einem System würde Ihre Arbeit erheblich erleichtern.

Es hängt viel davon ab, wie unangenehm die Bibliothek darüber ist, welche Arten von Dingen installiert sind. Wenn dort keine gcc vorhanden ist, wird Ihre Arbeit etwas schwieriger. Wenn es keine Header-Dateien für glibc gibt, ist Ihre Aufgabe um einiges schwieriger.

Bekommen Sie auch ein Konto auf dem System, so dass Sie einen Basisordner haben, der vom Anmelden bis zum Anmelden konsistent ist?

Wenn Sie dort keine gcc haben, müssen Sie eine vorkompilierte Binärdatei von gcc/g ++ finden und irgendwo installieren. Wenn Sie dort keine Header-Dateien haben, müssen Sie Kopien davon finden und sie im System ablegen.

Es gibt jedoch keine Standardmethode, um gcc in Ihrem Home-Ordner zu installieren. Bei allen Lösungen ist eine Art Handrollen erforderlich.

Haben Sie die Bibliothekare gefragt, ob sie ändern können, was installiert ist, weil Sie etwas Programmieren lernen möchten und nur Zugriff auf ihre Computer haben, um dies zu tun? Das könnte die einfachste Lösung sein.

Aus Ihrem Kommentar scheint es, dass Sie gcc haben, und wenn Sie C-Code kompilieren können, haben Sie die Bibliothekskopfdateien. Nun geht es also darum, Ihre eigene Version von g++ zu kompilieren. Möglicherweise finden Sie eine Möglichkeit, den Paketmanager auf dem System dazu zu bewegen, ein Binärpaket an einem anderen Ort als in einem Systemordner zu installieren. Ich denke, dass diese Lösung weniger Spaß macht als das Kompilieren Ihrer eigenen, und ich denke, es kann auch subtile Probleme geben, da das installierte Paket erwarten kann, dass bestimmte Dinge an bestimmten Orten gefunden werden und dort nicht gefunden werden.

Zuerst müssen Sie sicherstellen, dass Sie die richtige Quelle für das gcc-Paket heruntergeladen haben. Die Stelle, an der das gefunden wird, ist die GNU Spiegelseite der Vereinigten Staaten . Sie möchten die gcc-4.5.0.tar.bz2- oder gcc-4.5.0.tar.gz-Datei auf der von Ihnen ausgewählten Mirror-Site finden. Es wird sich wahrscheinlich in einem gcc-Verzeichnis und einem gcc-4.5.0-Unterordner befinden.

Nachdem Sie das heruntergeladen haben, sollten Sie es entpacken. Im Allgemeinen sollten Sie gcc nicht in dem Ordner erstellen, in den Sie es entpacken. Erstellen Sie also einen anderen gleichgeordneten Ordner, den Sie tatsächlich mit der Bezeichnung gcc-build erstellen möchten. Dann ist der gewünschte Befehl ../gcc-4.5.0/configure --prefix=$HOME/.local --enable-languages='c c++'.

gcc erfordert, dass einige andere Pakete installiert werden, um sich selbst kompilieren zu können. Sie können dieselbe --prefix-Zeile für diese Pakete verwenden, um sie an derselben Stelle zu installieren. Die gcc-Website enthält eine Liste der erforderlichen Pakete .

$HOME/.local ist eine Art akzeptierter Standardort für die Installation von Dingen durch den Benutzer.

2
Omnifarious

Wenn Sie über Fakeroot verfügen, können Sie ~/some-path als root für die Installation der Pakete festlegen. Alternativ können Sie eine Chroot-Umgebung einrichten, um dasselbe zu tun.

Dann können Sie dpkg -i package.deb verwenden, um die gcc-Pakete auf Ihrem System zu installieren. Sie müssen jedes Paket einzeln herunterladen und installieren (z. B. von der debian-Website) - mindestens binutils, glibc, linux-headers und gcc.

Wenn Sie sich auf einem anderen System befinden, müssen Sie die richtigen Pakete für dieses System erwerben und sie mit dem entsprechenden Paketmanager installieren.

0
reece