|
View:
New views
7 Messages
—
Rating Filter:
Alert me
|
|
|
Error when cross compilingHi,
I recently setup a three-node distcc setup. Each node has distccd running, and a cross-compile toolchain installed in /opt/toolchain. I am able to, on each host, launch my cross-compiler like this: arch-linux-gcc test.c -o test.o And it works. However, when I try to run distcc from one of the hosts like this: distcc arch-linux-gcc -c test.c It gives me the following output on that box: distccd[31971] (dcc_execvp) ERROR: failed to exec arch-linux-gcc: No such file or directory distcc[30567] ERROR: compile test.c on laplab1:Segmentation fault distcc[30567] Warning: failed to distribute test.c to laplab1, running locally instead The file compiles locally, but doesn't seem to use the remote host to compile. In the remote host log (/var/log/distccd.log) the following was output: distccd[31795] (dcc_check_client) connection from 192.168.1.220:53576 distccd[31795] compile from test.c to test.o distccd[31795] (dcc_r_file_timed) 78 bytes received in 0.000119s, rate 640kB/s distccd[31795] (dcc_collect_child) cc times: user 0.000000s, system 0.000999s, 79 minflt, 0 majflt distccd[31795] arch-linux-gcc test.c on localhost:Segmentation fault distccd[31795] job complete Anyone have any ideas what might be going wrong? I assume this has to be some kind of misconfiguration... but so far looking at the distcc docs and web searching hasn't turned up any obvious mistakes. Both hosts are using distcc version 2.18.3. Thanks kindly, Daniel -- Daniel Jabbour Software Engineer Laptouch, Inc. __ distcc mailing list http://distcc.samba.org/ To unsubscribe or change options: https://lists.samba.org/mailman/listinfo/distcc |
|
|
Re: Error when cross compilingOn Tue, Mar 31, 2009 at 9:38 PM, Daniel Jabbour <daniel@...> wrote: Hi, Knee-jerk reaction is that arch-linux-gcc isn't in DISTCC_PATH (or the PATH variable of the environment where the daemon is running). When you start the daemon on the slaves, are you seeing anything in the log about the *PATH variables? That's just a guess, though. Not based on any significant amount of thought / consideration. :-) -J.
-- Joe MacDonald :wq __ distcc mailing list http://distcc.samba.org/ To unsubscribe or change options: https://lists.samba.org/mailman/listinfo/distcc |
|
|
Re: Error when cross compilingJoe-
In the end you were right, it wasn't in the PATH. I was confused because: (a) It said something about a seg fault (b) I had added the toolchain to the PATH variable via /etc/profile.d/ toolchainpath I guess the daemon doesn't source the /etc/profile.d scripts, whoops! Daniel -- Daniel Jabbour Software Engineer Laptouch, Inc. On Apr 1, 2009, at 11:22 AM, Joe MacDonald wrote: > Knee-jerk reaction is that arch-linux-gcc isn't in DISTCC_PATH (or > the PATH variable of the environment where the daemon is running). > When you start the daemon on the slaves, are you seeing anything in > the log about the *PATH variables? > > That's just a guess, though. Not based on any significant amount of > thought / consideration. :-) __ distcc mailing list http://distcc.samba.org/ To unsubscribe or change options: https://lists.samba.org/mailman/listinfo/distcc |
|
|
Re: Error when cross compiling2009/4/1 Daniel Jabbour <daniel@...>:
> Joe- > > In the end you were right, it wasn't in the PATH. I was confused because: > (a) It said something about a seg fault > (b) I had added the toolchain to the PATH variable via > /etc/profile.d/toolchainpath > > I guess the daemon doesn't source the /etc/profile.d scripts, whoops! > > Daniel > Maybe related: Sometimes when using cross-compilers the users must set the dir where the cross tools stay in the PATH. But this, if done globally, may break the compilation for the local machine. Example: /opt/cross-ppc/bin/gcc .. export PATH="/opt/cross-ppc/bin:$PATH" "start distccd with some rc script" Now, if I start a compilation ( example, the kernel ) the Makefile reads the PATH, and try to use gcc from the first place ( /opt/cross-ppc/bin ). But this it wrong ! So, there is an alternative method to handle these situations ? IMHO the simpliest way is adding an environment variable or a command line argument that specifies the path where distccd needs to look. Thanks __ distcc mailing list http://distcc.samba.org/ To unsubscribe or change options: https://lists.samba.org/mailman/listinfo/distcc |
|
|
Re: Error when cross compiling> > So, there is an alternative method to handle these situations ? > IMHO the simpliest way is adding an environment variable or a command > line argument that specifies the path where distccd needs to look. > Or specify the absolute path to whichever compiler you want to use on the client, this is then passed verbatim to the server and the compiler is run from that directory (from the man page): distcc /usr/local/bin/gcc-3.1415 -c hello.c Ian __ distcc mailing list http://distcc.samba.org/ To unsubscribe or change options: https://lists.samba.org/mailman/listinfo/distcc |
|
|
Re: Error when cross compiling2009/4/2 <ibaker@...>:
> [cut] > > Or specify the absolute path to whichever compiler you want to use on the > client, this is then passed verbatim to the server and the compiler is run > from that directory (from the man page): > > distcc /usr/local/bin/gcc-3.1415 -c hello.c > > Ian Sure, but with this method I can't add localhost to DISTCC_HOSTS if I have gcc in other location ( like /usr/bin ), and can cause some problems with system that use symlink to setup a build environment. Am I right? __ distcc mailing list http://distcc.samba.org/ To unsubscribe or change options: https://lists.samba.org/mailman/listinfo/distcc |
|
|
Re: Error when cross compilingActually,
I had tried the absolute path and got the same earlier error. But after editing the init.d script so PATH was being populated properly everything worked fine. Daniel -- Daniel Jabbour Software Engineer Laptouch, Inc. On Apr 2, 2009, at 2:58 AM, <ibaker@...> <ibaker@...> wrote: > >> >> So, there is an alternative method to handle these situations ? >> IMHO the simpliest way is adding an environment variable or a command >> line argument that specifies the path where distccd needs to look. >> > > Or specify the absolute path to whichever compiler you want to use > on the client, this is then passed verbatim to the server and the > compiler is run from that directory (from the man page): > > distcc /usr/local/bin/gcc-3.1415 -c hello.c > > Ian __ distcc mailing list http://distcc.samba.org/ To unsubscribe or change options: https://lists.samba.org/mailman/listinfo/distcc |
| Free embeddable forum powered by Nabble | Forum Help |