2

I want to compile gnuradio on Raspberry Pi with a fresh copy of Raspbian wheezy. I have a setup of distcc with an i7 to offload the work from RPi. It works well with a simple test file when I use

$gcc -c hello.c

I can see that the task is done in the log of the other computer. BUT, when I want to build gnuradio and invoke the 'make' command, distcc doesn't even produce any output in the verbose mode.

Trying

$distcc make

produces this:

distcc[5464] (dcc_scan_args) compiler apparently called not for compile

and continues building on the localhost.

Is there a way around this ?

2 Answers2

4

Do you have $DISTCC_HOSTS set in the shell you're calling make from? Have you specified -j for multiple jobs? What is the result of which gcc and echo $CC?

If you follow the directions here you can see that gcc, cc, etc. are symlinked into /usr/local/bin as references to /usr/bin/distcc, which he then added to the beginning of his path so that make would find it first.

It can also be helpful to export DISTCC_VERBOSE=1 to provide more output. There's more thorough documentation on this rPi stackexchange answer.

r4v5
  • 51
  • 4
1

Distcc can't redistribute all of the work done my make onto other machines. Some of it, such as linking, has to be made locally. Hence the "called not for compile" messages.

  • Also, note that linking is the RAM-hungry part, which means it's the part you want to do the least on an embedded computer. Really, a raspberry Pi is *not* a development workstation. You should cross-compile GNU Radio on a PC, and then copy the result to your Pi. – Marcus Müller Aug 10 '15 at 21:44