Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
distcc failed to get includes from include server
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Portage & Programming
View previous topic :: View next topic  
Author Message
diablo465
Apprentice
Apprentice


Joined: 10 Sep 2013
Posts: 194

PostPosted: Wed Nov 05, 2014 5:01 am    Post subject: distcc failed to get includes from include server Reply with quote

I am trying to use distcc to distribute the compilling work of an gentoo laptop to an server that also have Gentoo installed.

Here is the info of the laptop which runs distcc:

emerge --info
Code:

emerge --info
Portage 2.2.8-r2 (default/linux/amd64/13.0/desktop/gnome/systemd, gcc-4.7.3, glibc-2.19-r1, 3.10.25-gentoo x86_64)
=================================================================
System uname: Linux-3.10.25-gentoo-x86_64-AMD_E-450_APU_with_Radeon-tm-_HD_Graphics-with-gentoo-2.2
KiB Mem:     7766008 total,   4784816 free
KiB Swap:    2047996 total,   2047996 free
Timestamp of tree: Thu, 06 Nov 2014 05:45:01 +0000
ld GNU ld (Gentoo 2.24 p1.4) 2.24
distcc 3.1 x86_64-pc-linux-gnu [enabled]
app-shells/bash:          4.2_p53
dev-java/java-config:     2.2.0
dev-lang/perl:            5.18.2-r2
dev-lang/python:          2.7.6, 3.2.5-r3, 3.3.3, 3.4.1
dev-util/cmake:           2.8.12.2-r1
dev-util/pkgconfig:       0.28-r1
sys-apps/baselayout:      2.2
sys-apps/openrc:          0.12.4
sys-apps/sandbox:         2.6-r1
sys-devel/autoconf:       2.13, 2.69
sys-devel/automake:       1.11.6, 1.12.6, 1.13.4
sys-devel/binutils:       2.24-r3
sys-devel/gcc:            4.6.3, 4.7.3-r1
sys-devel/gcc-config:     1.7.3
sys-devel/libtool:        2.4.2-r1
sys-devel/make:           4.0-r1
sys-kernel/linux-headers: 3.13 (virtual/os-headers)
sys-libs/glibc:           2.19-r1
Repositories: gentoo
ACCEPT_KEYWORDS="amd64"
ACCEPT_LICENSE="* -@EULA"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-O2 -pipe  "
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/config /usr/share/gnupg/qualified.txt"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/dconf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/texmf/web2c"
CXXFLAGS="-O2 -pipe  "
DISTDIR="/usr/portage/distfiles"
FCFLAGS="-O2 -pipe"
FEATURES="assume-digests binpkg-logs config-protect-if-modified distcc distlocks ebuild-locks fixlafiles merge-sync news parallel-fetch preserve-libs protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync"
FFLAGS="-O2 -pipe"
GENTOO_MIRRORS="http://distfiles.gentoo.org"
LANG=""
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
MAKEOPTS="-j20 -l2"
PKGDIR="/usr/portage/packages"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --omit-dir-times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY=""
SYNC="rsync://rsync.au.gentoo.org/gentoo-portage"
USE="X a52 aac acl acpi alsa amd64 bash-completion berkdb bluetooth branding bzip2 cairo cdda cdr cli colord cracklib crypt cups cxx dbus dri dts dvd dvdr dvi eds emboss encode evo exif fam firefox flac fortran fortran2003 gdbm gif glamor gnome gnome-keyring gnome-online-accounts gpm gstreamer gtk gtk3 hal iconv icu introspection ipv6 jpeg lapack lcms ldap libnotify libsecret mad mikmod mmx mng modules mp3 mp4 mpeg mpi multilib nautilus ncurses networkmanager nls nptl ogg opengl openmp pam pango pcre pdf png policykit ppds pulseaudio python qt3support qt4 readline sdl session socialweb spell sqlite sse sse2 ssl startup-notification svg systemd tcpd tiff tk truetype udev udisks unicode upower usb vorbis wxwidgets x264 xcb xml xv xvid zlib" ABI_X86="64" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" APACHE2_MODULES="authn_core authz_core socache_shmcb unixd actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" CALLIGRA_FEATURES="kexi words flow plan sheets stage tables krita karbon braindump author" CAMERAS="ptp2" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf superstar2 timing tsip tripmate tnt ublox ubx" INPUT_DEVICES="keyboard mouse evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php5-5" PYTHON_SINGLE_TARGET="python2_7" PYTHON_TARGETS="python2_7 python3_3" RUBY_TARGETS="ruby19 ruby20" USERLAND="GNU" VIDEO_CARDS="radeon" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account"
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LC_ALL, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, USE_PYTHON



This is the part of the output from emerge:
emerge glibc
Code:
distcc[8725] (dcc_set_trace_from_env) ERROR: failed to open logfile /home/chenming/distcclog: Permission denied
distcc[8725] ERROR: failed to connect to UNIX-DOMAIN /tmp/distcc-pump.fPQj5w/socket: Permission denied
distcc[8725] (dcc_build_somewhere) Warning: failed to get includes from include server, preprocessing locally
x86_64-pc-linux-gnu-gcc -m32 wcscoll_l.c -c -std=gnu99 -fgnu89-inline  -O2 -Wall -Winline -Wwrite-strings -fmerge-all-constants -fno-strict-aliasing -frounding-math -pipe -Wstrict-prototypes   -fPIC -Wa,-mtune=i686    -U_FORTIFY_SOURCE   -I../include -I/var/tmp/portage/sys-libs/glibc-2.19-r1/work/build-x86-x86_64-pc-linux-gnu-nptl/wcsmbs  -I/var/tmp/portage/sys-libs/glibc-2.19-r1/work/build-x86-x86_64-pc-linux-gnu-nptl  -I../nptl/sysdeps/unix/sysv/linux/i386/i686  -I../sysdeps/unix/sysv/linux/i386/i686  -I../nptl/sysdeps/unix/sysv/linux/i386  -I../nptl/sysdeps/unix/sysv/linux/x86  -I../sysdeps/unix/sysv/linux/x86  -I../sysdeps/unix/sysv/linux/i386/nptl  -I../sysdeps/unix/sysv/linux/i386  -I../nptl/sysdeps/unix/sysv/linux  -I../nptl/sysdeps/pthread  -I../sysdeps/pthread  -I../ports/sysdeps/unix/sysv/linux  -I../sysdeps/unix/sysv/linux  -I../sysdeps/gnu  -I../sysdeps/unix/inet  -I../nptl/sysdeps/unix/sysv  -I../ports/sysdeps/unix/sysv  -I../sysdeps/unix/sysv  -I../sysdeps/unix/i386  -I../nptl/sysdeps/unix  -I../ports/sysdeps/unix  -I../sysdeps/unix  -I../sysdeps/posix  -I../sysdeps/i386/i686/fpu/multiarch  -I../sysdeps/i386/i686/fpu  -I../sysdeps/i386/i686/multiarch  -I../nptl/sysdeps/i386/i686  -I../sysdeps/i386/i686  -I../sysdeps/i386/i486  -I../nptl/sysdeps/i386/i486  -I../sysdeps/i386/fpu  -I../sysdeps/x86/fpu  -I../nptl/sysdeps/i386  -I../sysdeps/i386  -I../sysdeps/x86  -I../sysdeps/wordsize-32  -I../sysdeps/ieee754/ldbl-96  -I../sysdeps/ieee754/dbl-64  -I../sysdeps/ieee754/flt-32  -I../sysdeps/ieee754  -I../sysdeps/generic  -I../nptl  -I../ports  -I.. -I../libio -I. -nostdinc -isystem /usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include -isystem /usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include-fixed -isystem /usr/include  -D_LIBC_REENTRANT -include ../include/libc-symbols.h  -DPIC -DSHARED     -D_IO_MTSAFE_IO -o /var/tmp/portage/sys-libs/glibc-2.19-r1/work/build-x86-x86_64-pc-linux-gnu-nptl/wcsmbs/wcscoll_l.os -MD -MP -MF /var/tmp/portage/sys-libs/glibc-2.19-r1/work/build-x86-x86_64-pc-linux-gnu-nptl/wcsmbs/wcscoll_l.os.dt -MT /var/tmp/portage/sys-libs/glibc-2.19-r1/work/build-x86-x86_64-pc-linux-gnu-nptl/wcsmbs/wcscoll_l.os
distcc[8728] (dcc_set_trace_from_env) ERROR: failed to open logfile /home/chenming/distcclog: Permission denied
distcc[8728] ERROR: failed to connect to UNIX-DOMAIN /tmp/distcc-pump.fPQj5w/socket: Permission denied
distcc[8728] (dcc_build_somewhere) Warning: failed to get includes from include server, preprocessing locally
^C


Note that the last couple of lines is repeated all the time throughout the compilling.
i.e.,
distcc[8728] ERROR: failed to connect to UNIX-DOMAIN /tmp/distcc-pump.fPQj5w/socket: Permission denied
distcc[8728] (dcc_build_somewhere) Warning: failed to get includes from include server, preprocessing locally




ae429-3176 tmp # distcc-config --get-env
Code:

# This file is managed by distcc-config; use it to change these settings.
DISTCC_LOG=""
DCCC_PATH="/usr/lib64/distcc/bin"
DISTCC_VERBOSE="0"


pump --startup
Code:

export INCLUDE_SERVER_PID='22363'
export INCLUDE_SERVER_DIR='/tmp/distcc-pump.GywjkG'
export INCLUDE_SERVER_PORT='/tmp/distcc-pump.GywjkG/socket'
export PATH='/usr/lib64/distcc/bin:/usr/lib/ccache/bin:/usr/lib/distcc/bin:/usr/lib64/distcc/bin:/sbin:/bin:/usr/sbin:/usr/bin'



The above info are all from guest (the laptop). It is found that the server has received the compilling job via distccd. here is the output on the server:

systemctl status distccd

Code:

Nov 06 20:36:08 ae429-1105.eait.uq.edu.au distccd[3200]: x86_64-pc-linux-gnu-g++ gcc-ranlib.c on localhost completed ok
Nov 06 20:36:08 ae429-1105.eait.uq.edu.au distccd[3200]: job complete
Nov 06 20:36:08 ae429-1105.eait.uq.edu.au distccd[3200]: (dcc_job_summary) client: 10.33.21.70:55161 COMPILE_OK exit:0 sig:0 core:0 ret:0 time:55ms x86_64-pc-linux-gnu-g++ gcc-ranlib.c
Nov 06 20:36:09 ae429-1105.eait.uq.edu.au distccd[3197]: (dcc_check_client) connection from 10.33.21.70:55162
Nov 06 20:36:09 ae429-1105.eait.uq.edu.au distccd[3197]: compile from gcc-nm.c to gcc-nm.o
Nov 06 20:36:09 ae429-1105.eait.uq.edu.au distccd[3197]: (dcc_r_file_timed) 53981 bytes received in 0.005000s, rate 10543kB/s
Nov 06 20:36:09 ae429-1105.eait.uq.edu.au distccd[3197]: (dcc_collect_child) cc times: user 0.000000s, system 0.000000s, 0 minflt, 0 majflt
Nov 06 20:36:09 ae429-1105.eait.uq.edu.au distccd[3197]: x86_64-pc-linux-gnu-g++ gcc-nm.c on localhost completed ok
Nov 06 20:36:09 ae429-1105.eait.uq.edu.au distccd[3197]: job complete
Nov 06 20:36:09 ae429-1105.eait.uq.edu.au distccd[3197]: (dcc_job_summary) client: 10.33.21.70:55162 COMPILE_OK exit:0 sig:0 core:0 ret:0 time:55ms x86_64-pc-linux-gnu-g++ gcc-nm.c


The suspicious thing is that (dcc_collect_child) cc times: user 0.000000s, system 0.000000s, 0 minflt, 0 majflt

Can anyone please shed some light on this issue? thanks very much.
Back to top
View user's profile Send private message
diablo465
Apprentice
Apprentice


Joined: 10 Sep 2013
Posts: 194

PostPosted: Thu Nov 06, 2014 11:13 am    Post subject: Reply with quote

-------------------------update -------------------------------
interestingly, when I make the setup reversed (i.e., PC becomes client that runs distcc, laptop becomes server that runs distccd, the job is able to be distributed from the client to the server), the compilling work can be successfully distributed from client to server. but during the compile, there are still some warnings:

pump emerge g++
Code:

distcc[14852] (dcc_perhaps_adjust_cpp_where_and_protover) Warning: cannot use distcc_pump with any of environment variables CPATH, C_INCLUDE_PATH or CPLUS_INCLUDE_PATH set, preprocessing locally
x86_64-pc-linux-gnu-g++ -o jsalloc.o -c  -I./dist/system_wrappers_js -include ./config/gcc_hidden.h -DNO_NSPR_10_SUPPORT -DIMPL_MFBT -DEXPORT_JS_API -DUSE_ZLIB -I./../../mfbt/double-conversion  -I. -I. -I./dist/include  -I/usr/include/nspr      -I. -I./assembler -I./yarr  -fPIC  -Wall -Wpointer-arith -Woverloaded-virtual -Werror=return-type -Wtype-limits -Wempty-body -Werror=conversion-null -Wsign-compare -Wno-invalid-offsetof -Wcast-align -O2 -pipe -fno-rtti -ffunction-sections -fdata-sections -fno-exceptions -pthread -pipe  -DNDEBUG -DTRIMMED  -fno-omit-frame-pointer  -DUSE_SYSTEM_MALLOC=1 -DENABLE_ASSEMBLER=1   -DMOZILLA_CLIENT -include ./js-confdefs.h -MD -MP -MF .deps/jsalloc.o.pp  /var/tmp/portage/dev-lang/spidermonkey-24.2.0-r2/work/mozjs-24.2.0/js/src/jsalloc.cpp
jsanalyze.cpp
distcc[14855] (dcc_perhaps_adjust_cpp_where_and_protover) Warning: cannot use distcc_pump with any of environment variables CPATH, C_INCLUDE_PATH or CPLUS_INCLUDE_PATH set, preprocessing locally
x86_64-pc-linux-gnu-g++ -o jsanalyze.o -c  -I./dist/system_wrappers_js -include ./config/gcc_hidden.h -DNO_NSPR_10_SUPPORT -DIMPL_MFBT -DEXPORT_JS_API -DUSE_ZLIB -I./../../mfbt/double-conversion  -I. -I. -I./dist/include  -I/usr/include/nspr      -I. -I./assembler -I./yarr  -fPIC  -Wall -Wpointer-arith -Woverloaded-virtual -Werror=return-type -Wtype-limits -Wempty-body -Werror=conversion-null -Wsign-compare -Wno-invalid-offsetof -Wcast-align -O2 -pipe -fno-rtti -ffunction-sections -fdata-sections -fno-exceptions -pthread -pipe  -DNDEBUG -DTRIMMED  -fno-omit-frame-pointer  -DUSE_SYSTEM_MALLOC=1 -DENABLE_ASSEMBLER=1   -DMOZILLA_CLIENT -include ./js-confdefs.h -MD -MP -MF .deps/jsanalyze.o.pp  /var/tmp/portage/dev-lang/spidermonkey-24.2.0-r2/work/mozjs-24.2.0/js/src/jsanalyze.cpp
jsapi.cpp


notice the warning: distcc[14855] (dcc_perhaps_adjust_cpp_where_and_protover) Warning: cannot use distcc_pump with any of environment variables CPATH, C_INCLUDE_PATH or CPLUS_INCLUDE_PATH set, preprocessing locally

the following part is the info from the laptop (works as server with distccd)

Code:

systemctl status distccd -l
● distccd.service - Distccd: A Distributed Compilation Server
   Loaded: loaded (/etc/systemd/system/distccd.service; enabled)
  Drop-In: /etc/systemd/system/distccd.service.d
           └─00gentoo.conf
   Active: active (running) since Fri 2014-11-07 06:24:01 AEST; 29min ago
 Main PID: 2283 (distccd)
   CGroup: /system.slice/distccd.service
           ├─ 2283 /usr/bin/distccd --user distcc --daemon --no-detach --port 3632 --log-level info --allow 10.33.21.70 --listen 10.33.21.70 --allow 10.33.20.120 -N 15
           ├─ 2284 /usr/bin/distccd --user distcc --daemon --no-detach --port 3632 --log-level info --allow 10.33.21.70 --listen 10.33.21.70 --allow 10.33.20.120 -N 15
           ├─ 2285 /usr/bin/distccd --user distcc --daemon --no-detach --port 3632 --log-level info
/tmp/distccd_ca2ddfd7.o -c -fPIC -Wall -Wpointer-arith -Woverloaded-virtual -Werror=return-type -Wtype-limits -Wempty-body -Werror=conversion-null -Wsign-compare -Wno-invalid-offsetof -Wcast-align -O2 -pipe -fno-rtti -ffunction-sections -fdata-sections -fno-exceptions -pthread -pipe -fno-omit-frame-pointer /tmp/distccd_ca47dfd7.ii
           ├─32654 /usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/../../../../x86_64-pc-linux-gnu/bin/as --64 -o /tmp/distccd_ca2ddfd7.o
Back to top
View user's profile Send private message
tlhonmey
n00b
n00b


Joined: 06 Nov 2014
Posts: 8

PostPosted: Thu Nov 06, 2014 5:28 pm    Post subject: Reply with quote

For me, compiling gcc, g++, etc hasn't ever made use of distcc. They don't get along well apparently. The difference is that, on my system, it doesn't even try to use it. Perhaps the ebuild for the new version of gcc doesn't disable distcc like it should? Might be worth looking.
Back to top
View user's profile Send private message
yuyuyak
n00b
n00b


Joined: 23 Nov 2012
Posts: 55
Location: United States

PostPosted: Thu Nov 06, 2014 6:53 pm    Post subject: Reply with quote

I use distcc extensively here. It's true that most of gcc doesn't use distcc, but some parts do, such as compiling mpc, etc. I think it's locked to MAKEOPTS="-j1" too, at least much of it. At least here in Funtooland. I concede that our gcc ebuilds are different.
I have this env variable:
Code:
DISTCC_DIR=/var/tmp/portage/.distcc
I don't have DCCC_PATH at all.
Regarding this error:
Code:
distcc[8725] (dcc_set_trace_from_env) ERROR: failed to open logfile /home/chenming/distcclog: Permission denied
you need to change the ownership on that log file, this one works here:
Code:
-rw-r--r-- 1 distcc  root    1432649335 Nov  6 08:58 distccd.log
Yes, it's for distccd, but same thing. Woo, that puppy's getting pretty large, better clean it up. So you see, I do use distcc alot...
This error:
Code:
distcc[8728] ERROR: failed to connect to UNIX-DOMAIN /tmp/distcc-pump.fPQj5w/socket: Permission denied
seems to be that pump is being run by a different user than the emerge process. Have you tried simply running pump emerge from the command line, rather than 1st starting pump --startup? Else I guess it's google time, obviously it's not going to work while you have that error. I've had it before too, don't recall how I fixed it, except to get everything right :wink: And of course, the man files, distcc, distccd, pump and include server.
I run pump on a couple of ARM devices, best I've got for you.
Back to top
View user's profile Send private message
Goverp
Veteran
Veteran


Joined: 07 Mar 2007
Posts: 1995

PostPosted: Fri Nov 07, 2014 8:54 am    Post subject: Reply with quote

This is of no use to anyone, but I happily use distcc on gcc and gclib with -j3. I did once have a problem compiling gclib with distcc, but it turned out I'd upgraded distcc, and lost the symlinks to the wrapper function described in the Distcc/Crossdev guide.
_________________
Greybeard
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Portage & Programming All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum