Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
Verschiedene Compiler versionen glecihzeitig benutzen
View unanswered posts
View posts from last 24 hours
View posts from last 7 days

 
Reply to topic    Gentoo Forums Forum Index Deutsches Forum (German)
View previous topic :: View next topic  
Author Message
Exagon
n00b
n00b


Joined: 03 Apr 2017
Posts: 8

PostPosted: Wed Oct 11, 2017 7:30 pm    Post subject: Verschiedene Compiler versionen glecihzeitig benutzen Reply with quote

Hallo miteinander,
Ich entwickle C++ applikationen auf meinem gentoo desktop und würde sehr gerne meine programme mit unterschiedlichsten compilern compilen und testen,
sprich clang-4 und clang-5 und etlich versionen von gcc.
Derzeit hab ich clang-4 installiert mittelst mask.
das führt jedoch öfters zu fehlermeldungen beim updaten des systems.
Jetzt hab ich mich gefragt ob es irgendwie möglich ist das stable clang aus den gentoo ebuilds zu installieren und aber auch nebenher alle anderen compiler versionen
so das ich einfach zwischen den compilern switchen kann um meine anwendungen zu bauen.
Wie machen andere C++ entwickler das?
Ist vllt keine spezifische gentoo frage aber vllt gibt es ja eine möglichkeit das unter gentoo einfach zu machen.
MfG Exagon
Back to top
View user's profile Send private message
Marlo
Veteran
Veteran


Joined: 26 Jul 2003
Posts: 1214

PostPosted: Wed Oct 11, 2017 11:16 pm    Post subject: Reply with quote

Hallo Exagon,

über die Environment Variablen ist das möglich. Für LLVM, Clang und Gold gibt es dieses nette Wiki.
Ich habs global über die make.conf. Funktioniert wunderbar. Clang ist jetzt mein Standardcompiler und in der package.env sind weniger als 10 Einträge.

Ma
_________________
Thks 4 ur attention, interest & support.
Back to top
View user's profile Send private message
firefly
Advocate
Advocate


Joined: 31 Oct 2002
Posts: 4328

PostPosted: Thu Oct 12, 2017 6:16 am    Post subject: Reply with quote

Zu mindestens bei GCC kann ich es definitiv sagen (müsste aber ähnlich auch für clang gelten)
Die einzelnen compiler versionen werden geslottet installiert.
Für GCC z.b. gibt es für jede version ein binary mit folgenden namens-schema:
gcc-<version> bzw.g++-<version>
z.b. für GCC 6.0 wäre das dann
gcc-6.0 bzw g++-6.0

Wenn du jetzt statt gcc/g++ die mit versionsnummer versehenden binaries in dem build system für deine projekte verwendest, kannst du die verwendete version einfach austauschen.

Dadurch kann der system compiler (mit dem ebuilds gebaut werden) auf der version bleiben welche für das system funktioniert.
_________________
Ein Ring, sie zu knechten, sie alle zu finden,
Ins Dunkel zu treiben und ewig zu binden
Im Lande Mordor, wo die Schatten drohn.
Back to top
View user's profile Send private message
Exagon
n00b
n00b


Joined: 03 Apr 2017
Posts: 8

PostPosted: Fri Oct 13, 2017 11:31 pm    Post subject: Reply with quote

Vielen dank schonmal für die Antworten :D.
@firefly das klingt genau nach was ich suche.
Finde leider nichts so wirklich wie das jetzt mit dem slotting funktioniert.
wie muss ich das den konfigurieren, dass das alles funktioniert.
Ich denke mal "einfach installieren" ist da nicht. gibt es irgendwo guides wie man gcc mit slotting verwendet?
Danke schonmal für die Antworten
Back to top
View user's profile Send private message
firefly
Advocate
Advocate


Joined: 31 Oct 2002
Posts: 4328

PostPosted: Sat Oct 14, 2017 5:39 am    Post subject: Reply with quote

Exagon wrote:
Vielen dank schonmal für die Antworten :D.
@firefly das klingt genau nach was ich suche.
Finde leider nichts so wirklich wie das jetzt mit dem slotting funktioniert.
wie muss ich das den konfigurieren, dass das alles funktioniert.
Ich denke mal "einfach installieren" ist da nicht. gibt es irgendwo guides wie man gcc mit slotting verwendet?
Danke schonmal für die Antworten

Slotting ist default in gentoo für gcc und seit kurzen auch für clang/llvm;)
-> Einfach installieren reicht.
Mit gcc-config wird der system compiler version festgelegt, welche dann direkt via gcc/g++ angesprochen werden kann
Je nachdem wie alt dein system ist müsstest du jetzt schon mindestens 2 gcc versionen installiert haben
gcc-4.9.4 und gcc-5.4.0 (Beide versionen sind stable in portage)

Ich z.b. haben neben den oben genannten auch noch gcc-6.3.0 installiert (für ein privates projekt)
Um diese Version zu verwenden gebe ich im build system (bei mir ist es cmake) bei der configuration an, dass als c++ compiler /usr/bin/g++-6.3.0 verwendet werden soll.
_________________
Ein Ring, sie zu knechten, sie alle zu finden,
Ins Dunkel zu treiben und ewig zu binden
Im Lande Mordor, wo die Schatten drohn.
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Deutsches Forum (German) All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum