# distcc bricht ab

## AntonWert

ich versuche gerade nach der anleitung für distcc pakete auf nem schnellen rechner für einen kleinen zu "schrauben"

leider brechen alle versuche mit diesem fehler ab (auzug logfile):

configure:1974: checking for suffix of object files

configure:1996: i586-pc-linux-gnu-gcc -c -O2 -mcpu=i586 -fomit-frame-pointer -pipe  conftest.c >&5

distcc[12483] ERROR: compile conftest.c on 192.168.1.9/2 failed with exit code 110

configure:1999: $? = 110

configure: failed program was:

| #line 1979 "configure"

| /* confdefs.h.  */

| 

| #define PACKAGE_NAME ""

| #define PACKAGE_TARNAME ""

| #define PACKAGE_VERSION ""

| #define PACKAGE_STRING ""

| #define PACKAGE_BUGREPORT ""

| /* end confdefs.h.  */

| 

| int

| main ()

| {

| 

|   ;

|   return 0;

| }

configure:2013: error: cannot compute suffix of object files: cannot compile

See `config.log' for more details.

wo ist da mein fehler?

----------

## AntonWert

hab nun folgendes herausgefunden:

mein "kleiner" recher auf dem das paket gemerged wird ist ein pentium

der "große" recher der die rechenleistung stellen soll ist ein p4

leider passen nun die gcc versionen nicht zusammen, wobei ich mich nun frage warum das nicht geht, nach dem was ich gelesen habe sollte das doch gehen...  :Question: 

----------

## NightDragon

Also mit der Arch hat es nix zu tun.

ob P4 oder AThlon ist egal.

Aber in den manpages zu distcc steht sogar das man möglichst die selben gcc-Versionen verwenden soll, da es sonst vorkommen kann, das es nicht funktioniert.

Ich verwendet hier die aktuellen Compiler und bin selbst gerade dabei zu compilieren:

Mein "kleiner" ein Pentium 200 Mhz

Mein "größerer" ein Athlon 800Mhz

mein Schleppdepp ein Pentium 4 - 2,4 Ghz.

Alle kompilieren für den 200er im Moment. Problemlos.

Alle haben andere make.conf. Bei distcc wird sowieso die vom Client verwendetm der distccd "anruft".

Die anderen compilieren dann für den "kleinen". Wichtig ist dabei eigentlich nur, das es die selben compiler sind.

Da ältere und neuere Versionen den Code anderst verarbeiten. und auch anderen generieren.

----------

## AntonWert

also alle haben bei mir die selben gcc ebuilds drauf...

was ich jedoch festgestellt habe, dass in ich auf dem p4 ein :/usr/i686-pc-linux-gnu/gcc-bin/3.3 drauf hab, auf dem pentium ist "nur" ein :/usr/i586-pc-linux-gnu/gcc-bin/3.3 drauf zu finden

----------

## NightDragon

Das dürfte kein Problem machen. Anderst hab ichs hier auch nicht.

Also ich mach zwar schon jetzt beim bootstrap distcc aber trotzdem müsste es egal sein.

----------

## AntonWert

hab nun mal den verbous mode aktiviert, die fehlermeldung ist in der tat dass er den gcc auf der "großen" maschine nicht findet da er dort nach i586 sucht und i685 vorfindet

 *Quote:*   

> Das dürfte kein Problem machen. Anderst hab ichs hier auch nicht

 

gibt es dort bei dir symlinks?

----------

## NightDragon

Nein bei mir gibt es keinen Symlink der auf i586 zeigt. Aber evtl. ist da ein unterschied zwischen dem bootstrapen und dem normalen distcc... obwohl es doch genau gleich abläuft, dachte ich.

Also Ich verstehs auch nicht.

----------

## AntonWert

in der anleitung zum distcc steht ja auch nicht dass es nur beim bootsrap gehen soll, das ist ja eher ein "sonderfall"

kannst du mal deine config vom distcc posten?

----------

## Donnergurgler

Ich stand letzte Woche vor dem gleichen Problem. In der "Gentoo Distcc

Documentation" gibt es einen Link zum "Cross Compile HOWTO"

http://dev.gentoo.org/~vapier/CROSS-COMPILE-HOWTO

Dort wird auf die Voraussetzungen hingewiesen, die für das architektur-

übergreifende (i686 und i586 sind unterschiedliche Prozessorarchitekturen)

Kompilieren notwendig sind. Eine der Warnungen lautet  *Quote:*   

>  Any version less than gcc-3.3.5 for example will NOT work.  Again, I don't need 3.3.4 or older, so 

 

Du wirst also deinen GCC auf 3.5 updaten müssen.

Chao,

Donnergurgler

----------

## NightDragon

Jope, das würde auch erklären wieso es bei mir funktioniert.

Ich verwende auf beiden die Aktuelle Version: gcc 3.3.5-r1

----------

## /dev/blackhawk

Eine andere Möglichkeit - falls Du weiterhin Probleme mit distcc hast - wäre, dass Du deine '/etc/make.conf' deines "großen" Rechners anpasst und mittels 

```
emerge -B <Paketname>
```

 binary-packages erstellst. Diese Variante benutze ich schon eine Weile um meinen Server (Celeron mit 333 Mhz) mit Updates zu versorgen.

MFG

/dev/blackhawk

----------

## AntonWert

 *Donnergurgler wrote:*   

> 
> 
> Du wirst also deinen GCC auf 3.5 updaten müssen.
> 
> 

 

Leider leider, hab ich den 3.3.5-r1 drauf (auf beiden) --- auch sonst sind beide Systeme absolut top aktuell

Das mit dem Binary Packages bauen is zwar von der Idee nicht übel, aber ist nicht das was ich momentan will - der distcc trifft den Nagel vel besser auf den Kopf!

----------

## Donnergurgler

Hast du dir mal das CROSS-COMPILE-HOWTO angesehen?

----------

## AntonWert

Na klar, erfülle eigentlich alle bedingungen, nur die LinuxHeaders sind bei mir in der derzeit aktuellen Version 2.4 irgendwas drauf, und nicht in der gefordeten 2.6 --- die sind ja bei gentoo noch gemaskt

----------

