it-swarm.com.de

Wie installiere ich gcc-5.3 unter Ubuntu 16.04?

Ich verwende derzeit Ubuntu 16.04 Und möchte gcc-5.3 Von der Quelle installieren, ohne die gcc-5.4 Und gcc-4.9 Zu stören, die ich bereits mit Synaptic Package Manager installiert habe.

Der Grund, warum ich gcc-5.3 Möchte, ist, dass ich CUDA 8.0 RC Verwende, das nach 5.3 Keine gcc-Versionen unterstützt. Anstatt auf 4.9 Herabzustufen, möchte ich 5.3 Installieren (oder zumindest wissen, wie man es installiert). Ich habe bereits den Code für gcc-5.3 Und muss nur das Ritual configure/make/make install Durchlaufen.

Jetzt muss ich die verschiedenen Konfigurationsoptionen verstehen, bevor ich make and make install ausführen kann. Ich möchte besonders sicher sein, dass ich gcc-5.3 An der richtigen Stelle installiere und meine vorhandenen gcc-5.4 Und gcc-4.9 Nicht störe.

Ich habe einen Account für die Konfiguration von 5.3 Gefunden, der wie folgt lautete:

 ./gcc-5.3.0/configure --disable-checking --program-suffix=-5.3 --enable-languages=c,c++,go,objc --disable-multilib --with-system-zlib prefix=/usr/local/gcc-5.3

Einige dieser Optionen sind sinnvoll, andere nicht. Insbesondere die Optionen, von denen ich glaube, dass ich sie gut genug verstehe, um mich nicht durcheinander zu bringen, sind:

--disable-checking: Will make the installation quicker, but at the risk 
                    of missing errors. Since I'm paranoid, I'll probably 
                    omit this option.

--disable-multilib: I don't understand this. I gather it has something 
                    to do with variations on the compiler's target machine,
                    but that's all I can gather. 
                    At worst, if I omit this option, I think I'll just
                    end up with some extra libraries, which doesn't seem 
                    so bad. Why do/don't I want to use this?

--with-system-zlib: Use the zlib that I already have with my system, 
                    rather than gcc's version. This seems reasonable to 
                    me.

--enable-languages=c,c++,go,objc: AFAIK, I'm really just interested in c & c++, 
                   so this option seems pretty harmless, although I might 
                   just use --enable-lnguages=all, since it can't hurt.

Die Optionen, die mich beunruhigen, sind:

--program-suffix=-5.3: This seems just to add a -5.3 suffix 
                       at the end of the installation path, 
                       which is probably a good idea if I get the 
                       path right

prefix=/usr/local/gcc-5.3: This just seems to specify the 
                           installation directory and to make the 
                           --program-suffix=-5.3 specification 
                           redundant. However, it is the option that 
                           makes me the most uneasy. 

Wenn ich einen find . -name gcc Mache, sind die einzigen relevanten Pfade, die ich sehe, /usr/lib/gcc Und /usr/bin/gcc

In /usr/lib/gcc Gibt es zwei Unterverzeichnisse - i686-linux-gnu Und x86_64-linux-gnu, Da ich einen 64-Bit-Computer habe, habe ich im x64-Verzeichnis gesucht.

Dort sah ich einen Softlink - 4.9.3, Der mit einem Verzeichnis namens 4.9 Verknüpft war und Dateien für gcc-4.9 Enthielt. Ebenso sah ich einen Softlink namens 5.4.0, Der mit einem Verzeichnis namens 5 Verknüpft war, das Dateien für gcc-5.4 Enthielt. Ich gehe also davon aus, dass ich prefix=/usr/lib/gcc/5.3 Verwenden möchte und nicht die Option --program-suffix. Ist das richtig?

An dieser Stelle gehe ich nur davon aus, dass beim Ausführen von make & make install die Dateien .a & .so In /usr/lib/gcc/5.3 Abgelegt werden und die ausführbare Datei endet als /usr/bin/gcc-5.3 und dass ich Ubuntus Update-Alternativen verwenden kann, um zwischen gcc-5.4, gcc-5.3 und gcc-4.9 zu wechseln.

(Hinweis: Der Grund, warum ich Synaptic nicht verwende, ist, dass es nur gcc-5.4 bereitstellt, das es gcc-5 nennt. Ebenso bezieht sich ppa ppa:ubuntu-toolchain-r/test Auf alle Versionen von gcc-5.X als gcc- Ich vermute, dass die Entscheidung, alle Nebenversionen von gcc-5.x als gcc-5 zu bezeichnen, die Wurzel meiner Probleme ist.

8
user1245262

Der Ansatz, den ich letztendlich benutzte, war Ubuntus update-alternatives. Siehe diesen Link:

Installation mehrerer Multiple-Gcc-Versionen

0
user1245262

In diesem Fall müssen Sie gcc = 5.3 nicht von der Quelle installieren. Sie können eine Conda-Umgebung verwenden (install Miniconda oder Anaconda ) und gcc_linux-64 = 5.3 installieren.

0
cosmoscalibur