Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
[DISTCC] client und server mit unterschiedlichem aktiven gcc
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) Deutsche Dokumentation
View previous topic :: View next topic  
Author Message
franzf
Advocate
Advocate


Joined: 29 Mar 2005
Posts: 4565

PostPosted: Thu Dec 18, 2014 11:10 am    Post subject: [DISTCC] client und server mit unterschiedlichem aktiven gcc Reply with quote

Ich stand gestern vor einer kleinen Herausforderung:
Da mein Laptop mit gcc-4.8.3 ziemliche Probleme beim Kompilieren bereitet (enormer Verbrauch an Speicher, so dass trotz 4GB RAM, MAKEOPTS=-j4 und kleiner (Paketabhängig), trotzdem häufiges Swappen vor allem in Kombination mit boost) und der gcc-4.9 das fixen soll, habe ich mich ans Update gesetzt. Da ich auf dem Server aber nicht den gcc-4.9 als Systemcompiler verwenden wollte stand ich vor der Frage, wie ich das hinbekomme.

Die Lösung ist eigentlich recht simpel:
Auf dem client Zwei Dateien anlegen:
Code:
# cat /usr/local/bin/distcc-4.9.2
#!/bin/sh
/usr/bin/distcc gcc-4.9.2 "$@"

# cat /usr/local/bin/distcc-4.9.2++
#!/bin/sh
/usr/bin/distcc g++-4.9.2 "$@"


Dann noch entsprechend die Symlinks setzen:
Code:
# for comp in /usr/lib64/distcc/bin/*c; do ln -snf /usr/local/bin/distcc-4.9.2 $comp; done

# for comp in /usr/lib64/distcc/bin/*++; do ln -snf /usr/local/bin/distcc-4.9.2++ $comp; done

# ls -l
insgesamt 0
lrwxrwxrwx 1 root root 29 18. Dez 12:02 c++ -> /usr/local/bin/distcc-4.9.2++
lrwxrwxrwx 1 root root 27 18. Dez 12:02 cc -> /usr/local/bin/distcc-4.9.2
lrwxrwxrwx 1 root root 29 18. Dez 12:02 g++ -> /usr/local/bin/distcc-4.9.2++
lrwxrwxrwx 1 root root 27 18. Dez 12:02 gcc -> /usr/local/bin/distcc-4.9.2
lrwxrwxrwx 1 root root 29 18. Dez 12:02 x86_64-pc-linux-gnu-c++ -> /usr/local/bin/distcc-4.9.2++
lrwxrwxrwx 1 root root 29 18. Dez 12:02 x86_64-pc-linux-gnu-g++ -> /usr/local/bin/distcc-4.9.2++
lrwxrwxrwx 1 root root 27 18. Dez 12:02 x86_64-pc-linux-gnu-gcc -> /usr/local/bin/distcc-4.9.2


Dann noch mit gcc-config auf den richtigen gcc schalten (auf dem client) und das wars :)

Die beiden distcc-Versionen für gcc ung g++ waren nötig, da scheinbar manche Flags unterschiedlich gesetzt werden. binutils scheiterte z.B. geich beim Linken des gold-linkers (viele undefined references in der STL, z.B. in std::basic_string und dem allocator).

Vielleicht gibt es eine bessere Lösung aber die war am schnellsten umgesetzt, und über Optionen in den config files war es nicht möglich, jedenfalls sah ich nichts :)
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Deutsches Forum (German) Deutsche Dokumentation 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