
Nope. It was possible in old versions and gave quite a few people some headaches.crappuccino wrote: so first of all, is there a way to force distcc to accept march=native? the two machines have almost identical cpus (e8400 and e8500 wolfdales, both e0 stepping) and i'd really like to avoid the argument mess.
Use pump mode. You can either enable it in configs (add distcc to emerge's FEATURES) or invoke pump emerge <something>secondly, i have noticed compile errors whenever the secondary machine was missing a library. since it's a barebone distcc server, it happens rather frequently. would i need to install everything on the secondary macine also? because that would defeat the purpose of distributing the compilation when i have to do it twice.
and lastly, when i compile something that's present on both machines (systemd or some such), the secondary machine only uses about 10% cpu on average, apparently because the overhead from passing hundreds of individually small files is vastly higher than actual cpu time.
so did i do something retarded or is it just not worth it?

i have to admit that i have no idea what "pump mode" is/does, but i have these in my make.conf:szatox wrote:Use pump mode.
Code: Select all
MAKEOPTS="-j9 -l2"
FEATURES="distcc distcc-pump"
Code: Select all
MAKEOPTS="-j9 -l2" 
szatox wrote:What does `distcc-config --get-hosts` say?
Code: Select all
192.168.1.4,cpp,lzoCode: Select all
man make:
-l [load], --load-average[=load]
Specifies that no new jobs (commands) should be started if there
are others jobs running and the load average is at least load (a
floating-point number). With no argument, removes a previous load
limit.

Code: Select all
In file included from thunarx-renamer.c:27:0:
../thunarx/thunarx-renamer.h:28:21: fatal error: gtk/gtk.h: No such file or directory
#include <gtk/gtk.h>
^
compilation terminated.
Code: Select all
echo $(
gcc -v -march=native -x c /dev/null 2>&1 \
| fgrep -- '-march' \
| egrep -o ' (-m|--param )\S+' \
| fgrep -v -- '-mno-'
)
I did not say anything about you being wrong, I just fleshed things out, or so I thought. You seems to have way better know-how than I will, like, ever have (smiley here).Hu wrote:That is a problem with a system header, not a library. As cautioned in the man page I mentioned above, you need system headers to match if you want to use pump mode. Install the headers on the volunteer or disable pump mode. Non-pump mode does not require matching system headers on the volunteers, because it runs all preprocessing locally.
As I read the section HOST SPECIFICATIONS, you need to tell distcc to use localhost, but you do not need to run a distccd locally. It will run the local workload directly when it picks localhost as the worker.

yeah i did that and got 15 arguments or so, had hoped i could use native since they are the same for both cpus.Ant P. wrote:Instead of -march=native, use what this gives you:Code: Select all
echo $( gcc -v -march=native -x c /dev/null 2>&1 \ | fgrep -- '-march' \ | egrep -o ' (-m|--param )\S+' \ | fgrep -v -- '-mno-' )

Code: Select all
DISTCC_DIR="/var/tmp/portage/.distcc/" distccmon-text 5I was responding to the post above you. I don't remember if your post was present when I began composing, but I remember I was responding specifically to the code block because it showed a compiler error with headers, but OP kept referring to problems caused by missing libraries.patrix_neo wrote:I did not say anything about you being wrong, I just fleshed things out, or so I thought. You seems to have way better know-how than I will, like, ever have (smiley here).Hu wrote:...

Code: Select all
EMERGE_DEFAULT_OPTS="--jobs=n --load-average=n"