ubuntuusers.de

GCC-4.9 auf lubuntu 14.04

Status: Ungelöst | Ubuntu-Version: Lubuntu 14.04 (Trusty Tahr)
Antworten |

Grundkurs

Anmeldungsdatum:
13. August 2012

Beiträge: 7

Hallo, ich würde auf meinem alten Netbook gerne den neusten GCC-Compiler installieren. Wenn ich im Terminal

1
g++ -v

eingebe kommt nur

1
2
The program 'gcc' is currently not installed. You can install it by typing:
sudo apt-get install gcc

ich habe dann auf dieser Seite ein gcc-4.9.deb Paket gefunden: http://pkgs.org/debian-sid/debian-main-i386/gcc-4.9-base_4.9.0-4_i386.deb.html ich habe daher wie auf der Seite angegeben

1
sudo apt-get install gcc-4.9-base

eingegeben. Daraufhin gibt das Terminal nur folgendes aus:

1
2
3
4
5
Reading package lists... Done
Building dependency tree       
Reading state information... Done
gcc-4.9-base is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

Ich komme mittlerweile überhaupt nicht mehr weiter. Die Hilfestellung auf http://askubuntu.com/questions/428198/getting-installing-gcc-g-4-9-on-ubuntu hilft mir leider auch nicht weiter da die dort hinterlegten Links nicht funktionieren oder auf einen Container namens Docker verweisen den ich nicht habe und auch nicht eingerichtet kriege. Hat jemand einen Tipp für mich?

edit: Ich habe versucht GCC 4.9 mit dem Befehl

1
sudo apt-get install gccgo-4.9

zu installieren. Mit dem Ergebnis dass ich bei Eingabe von

1
gcc -v

nun

1
gcc version 4.8.2 (Ubuntu 4.8.2-19ubuntu1) 

ausgegeben kriege. :-/

track

Avatar von track

Anmeldungsdatum:
26. Juni 2008

Beiträge: 7174

Wohnort: Wolfen (S-A)

Wie Du hier siehst, ist für *buntu 14.04 und Neuere derzeit die Version 4.8.2 (mit Ubuntu-Patch) die aktuelle. - von daher bist Du eigentlich auf dem aktuellen Stand.

Gibt es einen besonderen Grund, dass Du unbedingt die allerneueste Version haben willst ? (die evt. noch nicht ganz stabil ist und Du ggf. selber patchen musst)
Das Paket von der Debian-Seite passt für Dich nicht unbedingt, denn das ist ja auf "Debian Sid" ("unstable") zugeschnitten.

track

Grundkurs

(Themenstarter)

Anmeldungsdatum:
13. August 2012

Beiträge: 7

danke für die Hinweise. GCC 4.9 ist letzten Monat offiziell released worden und ich dachte warum v4.8 installieren wenn schon 4.9 verfügbar ist. Mit v4.8.2 kann ich sicher auch gut leben. Ich werde dann wohl abwarten bis v4.9 offiziell für Ubuntu 14.04 zur Verfügung gestellt wird.

track

Avatar von track

Anmeldungsdatum:
26. Juni 2008

Beiträge: 7174

Wohnort: Wolfen (S-A)

Dass das für 14.04 nochmal geändert wird, glaube ich nicht.
Ohnehin ist dieses "immer das Neueste haben müssen" ein bisschen eine typische Win...-Krankheit. (darum auch dort der Run auf die hohen Versions-Nummern !)

Guck Dir einfach mal die Liste der Änderungen an, und überleg, ob Du jemals etwas davon nutzen wirst ... 😉

LG,

track

Grundkurs

(Themenstarter)

Anmeldungsdatum:
13. August 2012

Beiträge: 7

Also std::make_unique hätte ich schon gern benutzt 😉 Der aktuelle VC++ Compiler unterstützt den Befehl, wenn ich demnach bestehenden Code mit GCC 4.8 kompilieren möchte muss ich jedes

1
std::unique_ptr<T> obj = std::make_unique<T>(); 

in

1
std::unique_ptr<T> obj = std::unique_ptr<T>(new T);

umschreiben. Ist zwar kein Beinbruch aber wäre schön gewesen wenn man es einheitlich hätte. Glaubst du GCC 4.9 wird erst mit der nächsten Ubuntu-Version Default-Compiler? Grüße

track

Avatar von track

Anmeldungsdatum:
26. Juni 2008

Beiträge: 7174

Wohnort: Wolfen (S-A)

Soweit ich das überblicke, wird die gcc-Version in einem U-Release nicht mehr nachträglich geändert. In sofern wird gcc-4.9 wohl erst in 1-2 Jahren regulär kommen.

Wenn das so wichtig für Dich ist, solltest Du ihn tatsächlich selber patchen und compilieren ! - Die Quellen hast Du ja, und worauf sich die Patches beziehen, kannst Du ja auch auf der Paketseite, rechts im Quellpaket nachsehen. (das ist dort normalerweise alles sauber kommentiert)

Es kann natürlich sein, dass die V. 4.9.0 noch nicht ganz bug-frei ist ... schließlich benutzen Ubuntu und Debian Stable nicht ohne Grund den "alten" gcc.

LG,

track

Inkane

Anmeldungsdatum:
17. Oktober 2010

Beiträge: 306

Wenn du tatsächlich GCC 4.9 verwenden möchtest, solltest du außerdem den letzten Snapshot (gcc-4.9-20140521.tar.bz2) verwenden, da dieser den Patch für https://gcc.gnu.org/bugzilla/show_bug.cgi?id=60902 erhält.

Grundkurs

(Themenstarter)

Anmeldungsdatum:
13. August 2012

Beiträge: 7

danke dir für die Antwort! Ich habe nachdem ich deine Nachricht gelesen hab angefangen nachzugooglen wie man einen gcc snapshot installiert und bin dann irgendwann dabei gelandet wieder folgendes einzugeben und diesmal hat es funktioniert ☺

1
sudo add-apt -repository ppa:ubuntu-toolchain-r/test
1
sudo apt-get update
1
sudo apt-get install gcc-4.9
1
gcc -v //ergibt an dieser Stelle immer noch v4.8.2
1
sudo apt-get install g++-4.9

ich habe irgendwo gelesen dass in dem ubuntu toolchain-r/test repository g++ nicht mit geupdated wird wenn man gcc updated...das war wohl die ganze Zeit der Haken!

1
gcc -v //ergibt hier immer noch 4.8.2
1
sudo apt-get upgrade
1
gcc -v gibt nun v4.9.0 20140405

snafu1

Avatar von snafu1

Anmeldungsdatum:
5. September 2007

Beiträge: 2133

Wohnort: Gelsenkirchen

track schrieb:

Es kann natürlich sein, dass die V. 4.9.0 noch nicht ganz bug-frei ist ...

Das trifft wohl auf so ziemlich jedes Programm zu, das über "Hello World" hinausgeht. Aber schon klar, was du wahrscheinlich eigentlich meintest: Ein frisches Release mit neuen Features hat desöfteren auch neue Bugs bzw noch nicht ganz ausgereifte Implementationen der neuen Features. Da ist es immer ganz gut, das erste Bugfix-Release abzuwarten, wenn die neue Version mal ein paar Wochen im "Live-Betrieb" gelaufen ist, um zumindest nicht über die am häufigsten auftretenden Fehler zu stolpern. Eigentlich wollte ich hier nur mal etwas klugscheissen. 😎

microft

Avatar von microft

Anmeldungsdatum:
6. August 2009

Beiträge: 454

Wohnort: Norddeutschland

Hinweiß!

die math lib, die z.B. die Funktin ceil() enthält, wird nicht mehr automatisch angehängt sondern muß per -lm explizit eingebunden werden.

cu

Antworten |