Skip navigation.

Romhacker's Guide to the Galaxy

Życie, wszechświat i cała reszta ;)

Distcc i różne wersje GCC

, , , ,

Na innym komputerze nadal mam GCC 4.1.2 i coś czuję, że nieprędko to się zmieni. Nie stracić korzyści wynikających z distcc tylko dlatego, że na najmocniejszej maszynie zaktualizowałem GCC do 4.3. Musiałem więc coś wymyślić. I tak dzięki wujkowi Google i własnej inwencji powstał poniższe rozwiązanie. Jest nim wrapper dla klienta distcc, który zmusza do używania konkretnej wersji GCC. Rzecz jasna, żeby to zadziałało, na serwerze distcc musi być zainstalowana odpowiednia wersja GCC (w tym przykładzie 4.1.2). Wszystkie komputery muszą też rzecz jasna używać tej samej architektury. Jeśli interesuje was kompilacja skrośna, możecie posiłkować się pierwotnym HOWTO.

Jak to zrobić:
1) Tworzymy plik /usr/lib/distcc/bin/wrapper.sh o treści:
#!/bin/bash
exec distcc i686-pc-linux-gnu-g${0:$[-2]}-4.1.2 "$@"

2) Zastępujemy wszystkie symlinki z katalogu /usr/lib/distcc/bin symlinkami do wrapper.sh

Przed:
lrwxrwxrwx 1 root root 15 wrz 18  2006 c++ -> /usr/bin/distcc
lrwxrwxrwx 1 root root 15 wrz 18  2006 cc -> /usr/bin/distcc
lrwxrwxrwx 1 root root 15 wrz 18  2006 g++ -> /usr/bin/distcc
lrwxrwxrwx 1 root root 15 wrz 18  2006 gcc -> /usr/bin/distcc
lrwxrwxrwx 1 root root 15 wrz 18  2006 i686-pc-linux-gnu-c++ -> /usr/bin/distcc
lrwxrwxrwx 1 root root 15 wrz 18  2006 i686-pc-linux-gnu-g++ -> /usr/bin/distcc
lrwxrwxrwx 1 root root 15 wrz 18  2006 i686-pc-linux-gnu-gcc -> /usr/bin/distcc


Po:
lrwxrwxrwx 1 root root   10 lut 20 19:17 c++ -> wrapper.sh
lrwxrwxrwx 1 root root   10 lut 20 19:17 cc -> wrapper.sh
lrwxrwxrwx 1 root root   10 lut 20 19:17 g++ -> wrapper.sh
lrwxrwxrwx 1 root root   10 lut 20 19:17 gcc -> wrapper.sh
lrwxrwxrwx 1 root root   10 lut 20 19:17 i686-pc-linux-gnu-c++ -> wrapper.sh
lrwxrwxrwx 1 root root   10 lut 20 19:17 i686-pc-linux-gnu-g++ -> wrapper.sh
lrwxrwxrwx 1 root root   10 lut 20 19:17 i686-pc-linux-gnu-gcc -> wrapper.sh
-rwxr-xr-x 1 root root   65 lut 20 19:39 wrapper.sh


To wszystko, po wykonaniu tych kroków klient distcc powinien używać właściwej wersji GCC :smile:

GCC 4.3.3KDE 4.3 beta 2

How to use Quote function:

  1. Select some text
  2. Click on the Quote link

Write a comment

Comment
(BBcode and HTML is turned off for anonymous user comments.)

If you can't read the words, press the small reload icon.


Smilies

March 2010
M T W T F S S
February 2010April 2010
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31