DISTCC_HOSTS는 왼쪽 부터 오른쪽 순서로 우선순위가 결정된다.

왼쪽이 가장 선호되는 호스트 이고, 가장 마지막이 선호도가 낮아진다.

그런 이유로 가장 마지막에 localhost를 넣어 주는게 좋다고 한다.


Host Specifications


A "host list" tells distcc which machines to use for compilation. In order, distcc looks in the $DISTCC_HOSTS environment variable, the user's $DISTCC_DIR/hosts file, and the system-wide host file. If no host list can be found, distcc emits a warning and compiles locally.

The host list is a simple whitespace separated list of host specifications. The simplest and most common form is a host names, such as


localhost red green blue

distcc prefers hosts towards the start of the list, so machines should be listed in descending order of speed. In particular, when only a single compilation can be run (such as from a configure script), the first machine listed is used (but see --randomize below). 


--randomize

Randomize the order of the host list before execution.


[링크 : https://linux.die.net/man/1/distcc]

'프로그램 사용 > distcc & ccache' 카테고리의 다른 글

distcc hosts 파일과 순서  (0) 2016.10.19
distcc-pump 시도..  (0) 2016.10.18
distcc 를 DHCP 에서.. 2?  (0) 2016.10.18
distcc /etc/distcc/hosts와 DISTCC_HOSTS  (0) 2016.10.17
distcc zeroconf 와 avahi  (0) 2016.10.17
distcc 를 DHCP 에서..  (0) 2016.09.28
Posted by 구차니

댓글을 달아 주세요

돌아는 가는데.. 

왜 라즈베리만 돌고, odroid_1은 놀고 있지? 흐음...


$ cat /etc/distcc/hosts

# As described in the distcc manpage, this file can be used for a global

# list of available distcc hosts.

#

# The list from this file will only be used, if neither the

# environment variable DISTCC_HOSTS, nor the file $HOME/.distcc/hosts

# contains a valid list of hosts.

#

# Add a list of hostnames in one line, seperated by spaces, here.

#+zeroconf

odroid_1,cpp,lzo

odroid_2,cpp,lzo

raspberrypi,cpp,lzo 


위와 같이 cpp,lzo를 주고 make 하니 이런 경고가 발생하는데

$ make -j12 CC=distcc

distcc[7640] Warning: INCLUDE_SERVER_PORT not set - did you forget to run under 'distcc-pump'?

distcc[7640] (dcc_build_somewhere) Warning: failed to get includes from include server, preprocessing locally 


distcc-pump 를 실행해주면 자동으로 데몬처럼 작동하는데 죽이질 못하네?

$ distcc-pump --startup

export INCLUDE_SERVER_PID='7700'

export INCLUDE_SERVER_DIR='/tmp/distcc-pump.fyGaPI'

export INCLUDE_SERVER_PORT='/tmp/distcc-pump.fyGaPI/socket'

export PATH='/usr/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games'



$ distcc-pump make -j12 CC="distcc gcc -std=gnu99"

__________Using distcc-pump from /usr/bin

__________Using 3 distcc servers in pump mode

  CHK     include/linux/version.h

  CHK     include/generated/kernelversion.h

  HOSTCC  scripts/basic/fixdep


...


  LD      arch/arm/vfp/vfp.o

  LD      arch/arm/vfp/built-in.o

__________Warning: 1 pump-mode compilation(s) failed on server, but succeeded locally.

__________Distcc-pump was demoted to plain mode.  See the Distcc Discrepancy Symptoms section in the include_server(1) man page.

__________Shutting down distcc-pump include server

 


셧다운 해줘도 안 죽어!!! 머지?

$ distcc-pump --help

Usage:

    pump COMMAND [ARG...]

or

    pump --startup

    pump --shutdown 


[링크 : https://lists.samba.org/archive/distcc/2012q4/004315.html]

[링크 : https://wiki.archlinux.org/index.php/Distcc]

'프로그램 사용 > distcc & ccache' 카테고리의 다른 글

distcc hosts 파일과 순서  (0) 2016.10.19
distcc-pump 시도..  (0) 2016.10.18
distcc 를 DHCP 에서.. 2?  (0) 2016.10.18
distcc /etc/distcc/hosts와 DISTCC_HOSTS  (0) 2016.10.17
distcc zeroconf 와 avahi  (0) 2016.10.17
distcc 를 DHCP 에서..  (0) 2016.09.28
Posted by 구차니

댓글을 달아 주세요

생각을 해보니..

distcc를 구동할때

/etc/default/distcc에서 설정된 값을 통해 listen할 ip를 설정하게 되는데


/etc/hosts에 의해 자기 자신의 이름을 resolve하게 되니

항상 127.0.0.1 밖에 설정이 안될거고


그런 이유로 samba를 통해서 resolve하게 하려고 했더니

/etc/hosts에서 삭제하고


/etc/rc?.d 에서 distcc가 rc.local 보다 일찍 수행되는 바람에

삼바가 구동되기 이전에 distcc 실행되서 자기 자신의 아이피를 resolve 할 수 없는 상황..


그러니까..

'hostname -I'를 이용해서 자기 아이피를 받아 올 수 있으면...

가능하려나?


이것저것 넣어 보는데 안됨 ㅠㅠ

$ vi /etc/init.d/distcc

 55 # construct access list

 56 ALLOW=""

 57 for net in $ALLOWEDNETS

 58 do

 59         ALLOW="$ALLOW --allow $net"

 60 done 


 66 if test -n "$LISTENER"; then

 67         DAEMON_ARGS="$DAEMON_ARGS --listen $LISTENER"

 68 fi

그냥.. distcc init 스크립트를 손봐야 하나?



일단은.. 이 정도로 만족 중.. 집에 가서 여러 대 놓고 해봐야지

$ cat /etc/default/distcc

ALLOWEDNETS=$(printf "%s/24" $(hostname -I))

LISTENER="$(hostname -I)" 


[링크 : http://stackoverflow.com/.../how-can-i-concatenate-string-variables-in-bash]


그래도 서비스로 자동 구동되는건 실패... ㅠㅠ

'프로그램 사용 > distcc & ccache' 카테고리의 다른 글

distcc hosts 파일과 순서  (0) 2016.10.19
distcc-pump 시도..  (0) 2016.10.18
distcc 를 DHCP 에서.. 2?  (0) 2016.10.18
distcc /etc/distcc/hosts와 DISTCC_HOSTS  (0) 2016.10.17
distcc zeroconf 와 avahi  (0) 2016.10.17
distcc 를 DHCP 에서..  (0) 2016.09.28
Posted by 구차니

댓글을 달아 주세요

export DISTCC_HOSTS도 좋지만

이렇게 파일로 박아 둘수도 있는데.. 얘가 wins resolve가 가능하려나?

$ cat /etc/distcc/hosts

# As described in the distcc manpage, this file can be used for a global

# list of available distcc hosts.

#

# The list from this file will only be used, if neither the

# environment variable DISTCC_HOSTS, nor the file $HOME/.distcc/hosts

# contains a valid list of hosts.

#

# Add a list of hostnames in one line, seperated by spaces, here.

#+zeroconf

odroid_1,cpp,lzo

odroid_2,cpp,lzo

raspberrypi,cpp,lzo 


$ distcc --show-hosts

odroid_1,cpp,lzo

odroid_2,cpp,lzo

raspberrypi,cpp,lzo 


pump mode 쓰려고 cpp만 넣었더니 lzo도 같이 넣어야 한다고 배짼다 -_-

$ distcc --show-hosts

distcc[6919] (dcc_get_protover_from_features) ERROR: pump mode (',cpp') requires compression (',lzo')

distcc[6919] (dcc_parse_options) ERROR: invalid host options: ,cpp

odroid_2,cpp

raspberrypi,cpp 



커널 빌드 해보니.. 영 되질 않네.. ㅠㅠ

distcc[3645] Warning: INCLUDE_SERVER_PORT not set - did you forget to run under 'distcc-pump'?

distcc[3645] (dcc_build_somewhere) Warning: failed to get includes from include server, preprocessing locally 


[링크 : https://linux.die.net/man/1/include_server]


음.. cpp,lzo 뺴고 하는데 시도는 하는데 받는 쪽에서 배째는 중 ㅠㅠ

distcc[4515] ERROR: nonblocking connect to 192.168.219.139:3632 failed: Connection refused 


'프로그램 사용 > distcc & ccache' 카테고리의 다른 글

distcc-pump 시도..  (0) 2016.10.18
distcc 를 DHCP 에서.. 2?  (0) 2016.10.18
distcc /etc/distcc/hosts와 DISTCC_HOSTS  (0) 2016.10.17
distcc zeroconf 와 avahi  (0) 2016.10.17
distcc 를 DHCP 에서..  (0) 2016.09.28
distcc kernel compile 재시도..  (0) 2016.09.28
Posted by 구차니

댓글을 달아 주세요


+zeroconf

This option is only available if distcc was compiled with Avahi support enabled at configure time. When this special entry is present in the hosts list, distcc will use Avahi Zeroconf DNS Service Discovery (DNS-SD) to locate any available distccd servers on the local network. This avoids the need to explicitly list the host names or IP addresses of the distcc server machines. The distccd servers must have been started with the "--zeroconf" option to distccd. An important caveat is that in the current implementation, pump mode (",cpp") and compression (",lzo") will never be used for hosts located via zeroconf. 

[링크 : https://linux.die.net/man/1/distcc]


avahi 데몬이 있어야 zeroconf가 가능하대서 확인해보니 없.. 다?!

ubuntu 14.04 LTS for odroid

$ distcc -v

Using built-in specs.

COLLECT_GCC=/usr/bin/gcc-4.8.real

COLLECT_LTO_WRAPPER=/usr/lib/gcc/arm-linux-gnueabihf/4.8/lto-wrapper

Target: arm-linux-gnueabihf

Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro 4.8.4-2ubuntu1~14.04.3' --with-bugurl=file:///usr/share/doc/gcc-4.8/README.Bugs --enable-languages=c,c++,java,go,d,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.8 --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.8 --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-gnu-unique-object --disable-libmudflap --disable-libitm --disable-libquadmath --enable-plugin --with-system-zlib --disable-browser-plugin --enable-java-awt=gtk --enable-gtk-cairo --with-java-home=/usr/lib/jvm/java-1.5.0-gcj-4.8-armhf/jre --enable-java-home --with-jvm-root-dir=/usr/lib/jvm/java-1.5.0-gcj-4.8-armhf --with-jvm-jar-dir=/usr/lib/jvm-exports/java-1.5.0-gcj-4.8-armhf --with-arch-directory=arm --with-ecj-jar=/usr/share/java/eclipse-ecj.jar --enable-objc-gc --enable-multiarch --enable-multilib --disable-sjlj-exceptions --with-arch=armv7-a --with-fpu=vfpv3-d16 --with-float=hard --with-mode=thumb --disable-werror --enable-checking=release --build=arm-linux-gnueabihf --host=arm-linux-gnueabihf --target=arm-linux-gnueabihf

Thread model: posix

gcc version 4.8.4 (Ubuntu/Linaro 4.8.4-2ubuntu1~14.04.3) 


요건 라즈베리 jessie

음따!

$ distcc -v

Using built-in specs.

COLLECT_GCC=cc

COLLECT_LTO_WRAPPER=/usr/lib/gcc/arm-linux-gnueabihf/4.9/lto-wrapper

Target: arm-linux-gnueabihf

Configured with: ../src/configure -v --with-pkgversion='Raspbian 4.9.2-10' --with-bugurl=file:///usr/share/doc/gcc-4.9/README.Bugs --enable-languages=c,c++,java,go,d,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.9 --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.9 --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-gnu-unique-object --disable-libitm --disable-libquadmath --enable-plugin --with-system-zlib --disable-browser-plugin --enable-java-awt=gtk --enable-gtk-cairo --with-java-home=/usr/lib/jvm/java-1.5.0-gcj-4.9-armhf/jre --enable-java-home --with-jvm-root-dir=/usr/lib/jvm/java-1.5.0-gcj-4.9-armhf --with-jvm-jar-dir=/usr/lib/jvm-exports/java-1.5.0-gcj-4.9-armhf --with-arch-directory=arm --with-ecj-jar=/usr/share/java/eclipse-ecj.jar --enable-objc-gc --enable-multiarch --disable-sjlj-exceptions --with-arch=armv6 --with-fpu=vfp --with-float=hard --enable-checking=release --build=arm-linux-gnueabihf --host=arm-linux-gnueabihf --target=arm-linux-gnueabihf

Thread model: posix

gcc version 4.9.2 (Raspbian 4.9.2-10) 


고로.. zeroconf는 사용불가!


export DISTCC_HOSTS="+zeroconf"

[링크 : https://wiki.debian.org/Distcc]

'프로그램 사용 > distcc & ccache' 카테고리의 다른 글

distcc 를 DHCP 에서.. 2?  (0) 2016.10.18
distcc /etc/distcc/hosts와 DISTCC_HOSTS  (0) 2016.10.17
distcc zeroconf 와 avahi  (0) 2016.10.17
distcc 를 DHCP 에서..  (0) 2016.09.28
distcc kernel compile 재시도..  (0) 2016.09.28
distcc-pump error  (0) 2016.09.25
Posted by 구차니

댓글을 달아 주세요

안되는건가? ㅠㅠ

기본적으로 hostname에서 조회하는거라

저번에 wins 통해서 resolve한게 정상이 아니었던거 같기도 하고.

테스트 해볼게 많네.. ㅠㅠ


[링크 : http://wiki.maemo.org/Distcc?pagewanted=all]

[링크 : https://forums.gentoo.org/viewtopic-t-130450-start-0.html]

[링크 : http://distcc.samba.narkive.com/NKokMWjn/discovering-the-distccd-hosts-on-a-dhcp-lan]

[링크 : https://debian-administration.org/article/112/Speed_up_compiling_software_with_distcc]


+

dhcp통해 hostname 업데이트 하기

이게 편리해보이네

[링크 : http://askubuntu.com/questions/104918/how-to-get-the-hostname-from-a-dhcp-server]

'프로그램 사용 > distcc & ccache' 카테고리의 다른 글

distcc /etc/distcc/hosts와 DISTCC_HOSTS  (0) 2016.10.17
distcc zeroconf 와 avahi  (0) 2016.10.17
distcc 를 DHCP 에서..  (0) 2016.09.28
distcc kernel compile 재시도..  (0) 2016.09.28
distcc-pump error  (0) 2016.09.25
distcc 크로스 컴파일/커널 빌드 관련  (0) 2016.09.13
Posted by 구차니

댓글을 달아 주세요

영 안되네..

odroid 커널 빌드 해보려고 하는데

CC=distcc make -j8 해도

make -j8 CC=distcc 해도 안되서

이래저래 찾아 보는중


$ time make -j8 CC=distcc

kernel compilation using single machine :

real 50m55.498s

user 71m4.967s

sys 6m55.030s


kernel compilation using three machines:

real 28m21.146s

user 17m32.862s

sys 4m35.537s 


[링크 : http://linuxdeveloper.blogspot.com/2012/03/distributed-kernel-compilation-in.html]

[링크 : http://askubuntu.com/.../how-to-speed-up-compilation-of-ubuntu-apps-make-cmake-gcc]

[링크 : http://pointclouds.org/documentation/advanced/distcc.php]


역시.. 진리(?)의 makefile 수정 뿐인가?

Edit the Makefile 

Fire up your favourite editor and load /usr/src/linux/Makefile. Find this section:

Code:

# Include the make variables (CC, etc...) 


And change "gcc" in the CC line to 

Code:


CC              = $(CROSS_COMPILE)distcc 


Append this line to the section: 

Code:


DISTCC_HOSTS=slave1 slave2 slave3 ... slaveN  


[링크 : https://forums.gentoo.org/viewtopic-p-7189488.html]

'프로그램 사용 > distcc & ccache' 카테고리의 다른 글

distcc zeroconf 와 avahi  (0) 2016.10.17
distcc 를 DHCP 에서..  (0) 2016.09.28
distcc kernel compile 재시도..  (0) 2016.09.28
distcc-pump error  (0) 2016.09.25
distcc 크로스 컴파일/커널 빌드 관련  (0) 2016.09.13
distcc 로 valgrind-3.6.1 컴파일 실패?  (0) 2014.12.12
Posted by 구차니

댓글을 달아 주세요

한번 오랫만에 시간이 나서 마음먹고 해보려는데

에러! ㅠㅠ

다음번에 재시도를 해봐야지..


$ distcc-pump --startup

/usr/bin/distcc-pump: error: pump mode requested, but distcc hosts list does not contain any hosts with ',cpp' option


$ distcc-pump make -j8 CC=ditscc

__________Using distcc-pump from /usr/bin

/usr/bin/distcc-pump: error: pump mode requested, but distcc hosts list does not contain any hosts with ',cpp' option 


어디서 저 옵션이 들어가나 뒤져보니 목록에 옵션으로 넣는거였네..

conf 파일에는 불가능하려나? zeroconf로 받아온다거나?


DISTCC_HOSTS=",cpp" 

[링크: https://wiki.archlinux.org/index.php/Distcc]


+ 2016-09-26

[링크 : https://forums.gentoo.org/...?sid=0b18b85927db5c54fa1bff47ee829527]

'프로그램 사용 > distcc & ccache' 카테고리의 다른 글

distcc 를 DHCP 에서..  (0) 2016.09.28
distcc kernel compile 재시도..  (0) 2016.09.28
distcc-pump error  (0) 2016.09.25
distcc 크로스 컴파일/커널 빌드 관련  (0) 2016.09.13
distcc 로 valgrind-3.6.1 컴파일 실패?  (0) 2014.12.12
distcc 작동모드  (0) 2014.12.09
Posted by 구차니

댓글을 달아 주세요

distcc --show-hosts 실패했는데 zeroconf를 켜니 되네..



$ sudo vi /etc/default/distcc

STARTDISTCC="true"

ALLOWEDNETS="127.0.0.1 192.168.1.0/24"

LISTENER=""

ZEROCONF="true"


$ distcc --show-hosts


$ make mrproper

 

$ make -j16 ARCH=arm CC="distcc /opt/arm-2009q1/bin/arm-none-linux-gnueabi-gcc" CROSS_COMPILE="/opt/arm-2009q1/bin/arm-none-linux-gnueabi-" ti_dm365_defconfig

 

$ distcc-pump make -j16 ARCH=arm CC="distcc /opt/arm-2009q1/bin/arm-none-linux-gnueabi-gcc" CROSS_COMPILE="/opt/arm-2009q1/bin/arm-none-linux-gnueabi-" uImage 


[링크 : http://samarthparikh.blogspot.com/2012/10/install-distcc-and-make-linux-kernel.html]


$ make -j8 CC=distcc

[링크 : http://linuxdeveloper.blogspot.com/2012/03/distributed-kernel-compilation-in.html]




$ sudo apt-cache search distcc-pump

distcc-pump - pump mode for distcc a distributed compiler client and server



+
For example:
              eval `distcc-pump --startup`
              make -j80
              distcc-pump --shutdown


EXAMPLE
       distcc-pump make -j20



QUICKSTART FOR DISTCC-PUMP MODE

       Proceed  as  above, but in Step 3, specify that the remote hosts are to

       carry the burden of preprocessing and that  the  files  sent  over  the

       network should be compressed:


              $   export   DISTCC_HOSTS='--randomize   localhost   red,cpp,lzo

              green,cpp,lzo blue,cpp,lzo'


       The --randomize option enforces a uniform  usage  of  compile  servers.

       While you will get some benefit from distcc's pump mode with only a few

       servers, you get increasing benefit with more server CPUs  (up  to  the

       hundreds!).   Wrap your build inside the pump command, here assuming 10

       servers:


              $ pump make -j20 CC=distcc

[링크 : http://manpages.ubuntu.com/manpages/precise/man1/distcc.1.html]

'프로그램 사용 > distcc & ccache' 카테고리의 다른 글

distcc kernel compile 재시도..  (0) 2016.09.28
distcc-pump error  (0) 2016.09.25
distcc 크로스 컴파일/커널 빌드 관련  (0) 2016.09.13
distcc 로 valgrind-3.6.1 컴파일 실패?  (0) 2014.12.12
distcc 작동모드  (0) 2014.12.09
ccache & distcc  (0) 2014.12.08
Posted by 구차니

댓글을 달아 주세요

configure 상으로는 차이가 없으나
$ CC="distcc gcc" ./configure
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking whether to enable maintainer-specific portions of Makefiles... no
checking whether ln -s works... yes
checking for gcc... distcc gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether distcc gcc accepts -g... yes
checking for distcc gcc option to accept ISO C89... none needed
checking for style of include used by make... GNU
checking dependency style of distcc gcc... gcc3
checking whether distcc gcc and cc understand -c and -o together... yes
checking how to run the C preprocessor... distcc gcc -E
checking for g++... g++
checking whether we are using the GNU C++ compiler... yes
checking whether g++ accepts -g... yes
checking dependency style of g++... gcc3
checking for ranlib... ranlib
checking for a sed that does not truncate output... /bin/sed
checking for ar... /usr/bin/ar
checking for perl... /usr/bin/perl
checking for gdb... /usr/bin/gdb
checking dependency style of distcc gcc... gcc3
$ ./configure
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking whether to enable maintainer-specific portions of Makefiles... no
checking whether ln -s works... yes
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking for style of include used by make... GNU
checking dependency style of gcc... gcc3
checking whether gcc and cc understand -c and -o together... yes
checking how to run the C preprocessor... gcc -E
checking for g++... g++
checking whether we are using the GNU C++ compiler... yes
checking whether g++ accepts -g... yes
checking dependency style of g++... gcc3
checking for ranlib... ranlib
checking for a sed that does not truncate output... /bin/sed
checking for ar... /usr/bin/ar
checking for perl... /usr/bin/perl
checking for gdb... /usr/bin/gdb
checking dependency style of gcc... gcc3

distcc 안되는 경우
make[3]: Entering directory `/mnt/disk1/home/minimonk/work/valgrind/valgrind-3.6.1/memcheck'
../coregrind/link_tool_exe_linux 0x38000000 distcc gcc  -Wno-long-long  -Wno-pointer-sign -fno-stack-protector   -o memcheck-x86-linux -m32 -mpreferred-stack-boundary=2 -O2 -g -Wall -Wmissing-prototypes -Wshadow -Wpointer-arith -Wstrict-prototypes -Wmissing-declarations -Wno-format-zero-length -fno-strict-aliasing -O2 -static -nodefaultlibs -nostartfiles -u _start -Wl,--build-id=none -m32 memcheck_x86_linux-mc_leakcheck.o memcheck_x86_linux-mc_malloc_wrappers.o memcheck_x86_linux-mc_main.o memcheck_x86_linux-mc_translate.o memcheck_x86_linux-mc_machine.o memcheck_x86_linux-mc_errors.o ../coregrind/libcoregrind-x86-linux.a ../VEX/libvex-x86-linux.a -lgcc
cc: gcc: 그런 파일이나 디렉터리가 없습니다
distcc[14875] ERROR: compile (null) on localhost failed

로컬 컴파일 되는 경우
make[3]: Entering directory `/mnt/disk1/home/minimonk/work/valgrind/valgrind-3.6.1/memcheck'
gcc -DHAVE_CONFIG_H -I. -I..  -I.. -I../include -I../VEX/pub -DVGA_x86=1 -DVGO_linux=1 -DVGP_x86_linux=1  -m32 -mpreferred-stack-boundary=2 -O2 -g -Wall -Wmissing-prototypes -Wshadow -Wpointer-arith -Wstrict-prototypes -Wmissing-declarations -Wno-format-zero-length -fno-strict-aliasing -O2 -Wno-long-long  -Wno-pointer-sign -fno-stack-protector -MT memcheck_x86_linux-mc_leakcheck.o -MD -MP -MF .deps/memcheck_x86_linux-mc_leakcheck.Tpo -c -o memcheck_x86_linux-mc_leakcheck.o `test -f 'mc_leakcheck.c' || echo './'`mc_leakcheck.c
mv -f .deps/memcheck_x86_linux-mc_leakcheck.Tpo .deps/memcheck_x86_linux-mc_leakcheck.Po
gcc -DHAVE_CONFIG_H -I. -I..  -I.. -I../include -I../VEX/pub -DVGA_x86=1 -DVGO_linux=1 -DVGP_x86_linux=1  -m32 -mpreferred-stack-boundary=2 -O2 -g -Wall -Wmissing-prototypes -Wshadow -Wpointer-arith -Wstrict-prototypes -Wmissing-declarations -Wno-format-zero-length -fno-strict-aliasing -O2 -Wno-long-long  -Wno-pointer-sign -fno-stack-protector -MT memcheck_x86_linux-mc_malloc_wrappers.o -MD -MP -MF .deps/memcheck_x86_linux-mc_malloc_wrappers.Tpo -c -o memcheck_x86_linux-mc_malloc_wrappers.o `test -f 'mc_malloc_wrappers.c' || echo './'`mc_malloc_wrappers.c
mv -f .deps/memcheck_x86_linux-mc_malloc_wrappers.Tpo .deps/memcheck_x86_linux-mc_malloc_wrappers.Po
gcc -DHAVE_CONFIG_H -I. -I..  -I.. -I../include -I../VEX/pub -DVGA_x86=1 -DVGO_linux=1 -DVGP_x86_linux=1  -m32 -mpreferred-stack-boundary=2 -O2 -g -Wall -Wmissing-prototypes -Wshadow -Wpointer-arith -Wstrict-prototypes -Wmissing-declarations -Wno-format-zero-length -fno-strict-aliasing -O2 -Wno-long-long  -Wno-pointer-sign -fno-stack-protector -MT memcheck_x86_linux-mc_main.o -MD -MP -MF .deps/memcheck_x86_linux-mc_main.Tpo -c -o memcheck_x86_linux-mc_main.o `test -f 'mc_main.c' || echo './'`mc_main.c
mv -f .deps/memcheck_x86_linux-mc_main.Tpo .deps/memcheck_x86_linux-mc_main.Po
gcc -DHAVE_CONFIG_H -I. -I..  -I.. -I../include -I../VEX/pub -DVGA_x86=1 -DVGO_linux=1 -DVGP_x86_linux=1  -m32 -mpreferred-stack-boundary=2 -O2 -g -Wall -Wmissing-prototypes -Wshadow -Wpointer-arith -Wstrict-prototypes -Wmissing-declarations -Wno-format-zero-length -fno-strict-aliasing -O2 -Wno-long-long  -Wno-pointer-sign -fno-stack-protector -MT memcheck_x86_linux-mc_translate.o -MD -MP -MF .deps/memcheck_x86_linux-mc_translate.Tpo -c -o memcheck_x86_linux-mc_translate.o `test -f 'mc_translate.c' || echo './'`mc_translate.c
mv -f .deps/memcheck_x86_linux-mc_translate.Tpo .deps/memcheck_x86_linux-mc_translate.Po
gcc -DHAVE_CONFIG_H -I. -I..  -I.. -I../include -I../VEX/pub -DVGA_x86=1 -DVGO_linux=1 -DVGP_x86_linux=1  -m32 -mpreferred-stack-boundary=2 -O2 -g -Wall -Wmissing-prototypes -Wshadow -Wpointer-arith -Wstrict-prototypes -Wmissing-declarations -Wno-format-zero-length -fno-strict-aliasing -O2 -Wno-long-long  -Wno-pointer-sign -fno-stack-protector -MT memcheck_x86_linux-mc_machine.o -MD -MP -MF .deps/memcheck_x86_linux-mc_machine.Tpo -c -o memcheck_x86_linux-mc_machine.o `test -f 'mc_machine.c' || echo './'`mc_machine.c
mv -f .deps/memcheck_x86_linux-mc_machine.Tpo .deps/memcheck_x86_linux-mc_machine.Po
gcc -DHAVE_CONFIG_H -I. -I..  -I.. -I../include -I../VEX/pub -DVGA_x86=1 -DVGO_linux=1 -DVGP_x86_linux=1  -m32 -mpreferred-stack-boundary=2 -O2 -g -Wall -Wmissing-prototypes -Wshadow -Wpointer-arith -Wstrict-prototypes -Wmissing-declarations -Wno-format-zero-length -fno-strict-aliasing -O2 -Wno-long-long  -Wno-pointer-sign -fno-stack-protector -MT memcheck_x86_linux-mc_errors.o -MD -MP -MF .deps/memcheck_x86_linux-mc_errors.Tpo -c -o memcheck_x86_linux-mc_errors.o `test -f 'mc_errors.c' || echo './'`mc_errors.c
mv -f .deps/memcheck_x86_linux-mc_errors.Tpo .deps/memcheck_x86_linux-mc_errors.Po
../coregrind/link_tool_exe_linux 0x38000000 gcc  -Wno-long-long  -Wno-pointer-sign -fno-stack-protector   -o memcheck-x86-linux -m32 -mpreferred-stack-boundary=2 -O2 -g -Wall -Wmissing-prototypes -Wshadow -Wpointer-arith -Wstrict-prototypes -Wmissing-declarations -Wno-format-zero-length -fno-strict-aliasing -O2 -static -nodefaultlibs -nostartfiles -u _start -Wl,--build-id=none -m32 memcheck_x86_linux-mc_leakcheck.o memcheck_x86_linux-mc_malloc_wrappers.o memcheck_x86_linux-mc_main.o memcheck_x86_linux-mc_translate.o memcheck_x86_linux-mc_machine.o memcheck_x86_linux-mc_errors.o ../coregrind/libcoregrind-x86-linux.a ../VEX/libvex-x86-linux.a -lgcc 

머가 문제인지 모르겠으나..
아마도..(?) -lgcc로 gcc.a라던가 이런게 전송이 안되서 그런게 아닐까 추측이 된다. 

ubuntu 12.04 기준
/usr/lib/gcc/i686-linux-gnu/4.6.3/libgcc.a 가 존재한다.
[링크 : http://askubuntu.com/questions/346377/cannot-find-lgcc-s]

아마도.. 두개의 시스템 gcc 버전이 상이하거나 아키텍쳐 상의 차이로
디렉토리가 달라 libgcc.a 의 경로를 찾지 못해 에러가 난 것으로 보인다.
즉.. distcc를 구성할때는 동일한 배포판, 동일한 버전으로 설치해야 사용이 용이할 것으로 보인다.

--

임시 파일은 /tmp에 생성된다.
/tmp$ ll
합계 804
drwxrwxrwt  8 root     root     245760 12월 12 13:36 ./
drwxr-xr-x 23 root     root       4096  6월 11  2014 ../
drwxrwxrwt  2 root     root       4096 12월 12 10:38 .ICE-unix/
-r--r--r--  1 root     root         11 12월 12 10:37 .X0-lock
drwxrwxrwt  2 root     root       4096 12월 12 10:37 .X11-unix/
-rw-------  1 distccd  nogroup  315392 12월 12 13:36 ccIxjVed.s
-rw-------  1 distccd  nogroup       0 12월 12 13:35 distcc_d37970ab.stderr
-rw-r--r--  1 distccd  nogroup       0 12월 12 13:35 distcc_d41570ab.stdout
-rw-------  1 distccd  nogroup  225936 12월 12 13:35 distccd_c84770ab.i
-rw-------  1 distccd  nogroup       0 12월 12 13:35 distccd_d70770ab.o
drwx------  2 minimonk minimonk   4096 12월 12 10:38 keyring-ZMR3zZ/
drwx------  2 minimonk minimonk   4096 12월 12 10:38 pulse-Gj2NwjL3C0so/
drwx------  2 root     root       4096 12월 12 10:37 pulse-PKdhtXMmr18n/
drwx------  2 minimonk minimonk   4096 12월 12 10:38 ssh-vFvOqnIn1567/
-rw-rw-r--  1 minimonk minimonk      0 12월 12 10:37 unity_support_test.0 

[링크 : http://manpages.ubuntu.com/manpages/maverick/man1/distccd.1.html]

'프로그램 사용 > distcc & ccache' 카테고리의 다른 글

distcc-pump error  (0) 2016.09.25
distcc 크로스 컴파일/커널 빌드 관련  (0) 2016.09.13
distcc 로 valgrind-3.6.1 컴파일 실패?  (0) 2014.12.12
distcc 작동모드  (0) 2014.12.09
ccache & distcc  (0) 2014.12.08
distcc on ubuntu  (0) 2014.12.08
Posted by 구차니

댓글을 달아 주세요