On Sun, Oct 26, 2008 at 3:54 AM, nac <[EMAIL PROTECTED]> wrote:

> I have made distcc and cross compilation between AMD
> Geode(GentooLinux, i586-pc-linux-gnu) and
> Intel Mac(Leopard). And I've met invalid compiler path error.
>
> using software version:
> Linux(192.168.1.60):
> gcc 4.1.2
> distcc 2.18.3
>
> MacOS(192.168.1.80):
> gcc 4.1.2 (for cross compilation)
> distcc 2.18.5 (Apple made)
>
> I made sure that cross compilation works with small hello.c
> program. And the path of the compiler for cross compilation
> is /opt/cross-linux/bin.
>
> I started distccd with following option;
>
> $ echo $PATH
>
> /opt/cross-linux/bin:/opt/local/bin:/opt/local/sbin/:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin
> $ export DISTCCD_PATH=$PATH ; distccd --daemon --pid-file ~/distcc.pid
> --verbose
>
> so then, linux side(small CPU), I run distcc client and got error message:
>
> $ distcc i586-pc-linux-gnu-gcc -o hello -c hello.c
> distcc[18841] (dcc_r_token_int) ERROR: protocol derailment: expected token
> "DONE"
> distcc[18841] (dcc_explain_mismatch) ERROR: error context:
> "INDR00000002DONE00000001"
> distcc[18841] Warning: failed to distribute hello.c to 192.168.1.80,
> running locally instead


This looks like an incompatibility between the distcc "2.18.5 (Apple made)"
server and the the distcc 2.18.3 client.
The server is sending back an "INDR" token which the distcc 2.18.3 client
does not understand.
Presumably Apple made some incompatible extensions to the protocol which
makes "2.18.5 (Apple made)" servers incompatible with the protocol used by
the 2.18.3 client.

You'll need to use compatible versions of distcc on the client and the
server.
I recommend using distcc 3.0 on both client and server.

distccd[1525] (dcc_is_allowed_compiler) allowed compiler path:
> /opt/cross-linux/bin/i586-pc-linux-gnu-gcc
> distccd[1525] ERROR: Couldn't find matching compiler for
> '/opt/cross-linux/bin/i586-pc-linux-gnu-gcc'
> distccd[1525] (dcc_spawn_child) ERROR: attempt to use unknown compiler
> aborted: /opt/cross-linux/bin/i586-pc-linux-gnu-gcc

distccd[1525] (dcc_x_token_int) send INDR00000002
>

Those error message also seems relevant... but it's probably not worth
tracking down the details of how to use 2.18.5, just install 3.0 instead.

For 3.0, make sure that the cross-compiler that you want to use is listed in
the "commands.allow.sh" file (e.g. /etc/distcc/commands.allow.sh).
-- 
Fergus Henderson <[EMAIL PROTECTED]>
__ 
distcc mailing list            http://distcc.samba.org/
To unsubscribe or change options: 
https://lists.samba.org/mailman/listinfo/distcc

Reply via email to