su -c "killall test"

이런식으로 스크립트에서 실행이 되는데

어떠한 이유로 이런 에러가 발생하는지는 미지수.


root     2204    1  0 14:10 ?        00:00:03 /opt/bin/test

root     2212 2204  0 14:10 ?        00:00:00 [sh] <defunct>

root     2220 2204  0 14:10 ?        00:00:00 [sh] <defunct>

root     2228 2204  0 14:10 ?        00:00:00 [sh] <defunct>




...

알고보니 ps 버전이 busybox와 일반 버전의 출력포맷이 달라서 생긴 문제.. 헐.. -_-

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

busybox su가 안될 경우  (0) 2014.12.05
busybox tftp  (0) 2013.06.18
busybox - setconsole  (0) 2011.10.21
busybox ash "cannot open /dev/ttyAS1: no such device"  (0) 2010.04.20
busybox ps는 BSD 스타일?  (0) 2010.01.12
Posted by 구차니
프로그램 사용/lighttpd2014. 12. 30. 21:50

먼진 모르겠고 그냥 검색하다 나와서 일단 기록..


[링크 : http://lighttpd-websocket-fd-transfer.blogspot.kr/2012/04/lighttpd-websocket-plugin-modfdtransfer.html]

[링크 : https://github.com/aalap-shah/lighttpd-mod_fd_transfer]

[링크 : http://oriolrius.cat/blog/2013/09/25/server-send-push-notifications-to-client-browser-without-polling/]

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

lighttpd cgi.assign  (0) 2017.07.28
lighttpd epoll  (0) 2015.07.28
Posted by 구차니

externals에서 내 프로젝트에서 원하는 경로에

외부 저장소를 불러오거나

특정 리비전을 불러와야 할 경우에 대해서 사용하는 추가적인 기능이다


개인 리파지터리 만들어서 해봐야지..


---

2014.12.30 added


Step 1. 원하는 폴더에서 우클릭으로 TortoiseSVN - Properties

Step 2. Properties 창에서 New - Externals


Step 3. svn:externals - New


Step 4. Local path는 절대 경로가 아닌 우클릭한 경로 기준의 상대경로로

           프로젝트를 저장할 폴더명 만 적어 주면된다 -_ㅠ

           URL은 외부 프로젝트의 경로를 적어준다.

           아래의 Revision은 일단.. 항상 최신 버전을 받아와야 한다면 HEAD를 특정 리비전을 위해서는 Revision으로


Step 5. 별다른거 없이.. Added가 나오는데 프로젝트로 전부 추가되는거 봐서는...

           큰 프로젝트를 svn:externals로 추가할경우 상당한 시간이 걸릴 것으로 예상된다.


Step 6. svn:externals에 추가후에 commit을 하던 update 후에 commit을 하던

           뜨는건 modified(property change only) 라고 뜬다. 즉, 내 저장소의 용량에는 영향이 없다는 것?


Step 7. repo. browser로 보면 이렇게 바로가기로 출력된다.


---


[링크 : http://baboc.tistory.com/97]

[링크 : http://itbaby.egloos.com/4295117]

[링크 : http://svnbook.red-bean.com/en/1.7/svn.advanced.externals.html]

Posted by 구차니
프로그램 사용/audacity2014. 12. 19. 08:52

원하는 부분에 일정 시간의 소리가 없는 구간을 추가 하고 싶을대는

생성 - 묵음으로 추가하면 된다.


지속시간에 아래 콤보박스 클릭하면

여러가지 방법으로 지속 시간을 넣을 수 있다(프레임이라던가 시간이라던가)



[링크 : http://www.youtube.com/watch?v=tnts9Rzw1GM]

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

audacity spectrogram 설정  (0) 2023.07.13
audacity로 샘플링 레이트 변경하기  (0) 2014.12.18
audacity - spectrum analyze + Frequency Width  (4) 2011.05.23
audacity 구간반복하기  (2) 2010.08.12
audacity 사용방법  (6) 2010.07.12
Posted by 구차니
프로그램 사용/audacity2014. 12. 18. 23:06

메뉴얼 위키상에는 꽤나 복잡한데



하단의 투사 빈도(어?) 를 눌러서 설정하면 바로 변경된다.

mp3 -> wav 시에 출력 샘플링 레이트를 변경하려면 여기서 설정하고 export 하면 끝!



추가로.. 샘플링 비트를 바꾸러면 트랙에서 바꿀수 있다.




[링크 : http://manual.audacityteam.org/o/man/quality_preferences.html]

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

audacity spectrogram 설정  (0) 2023.07.13
audacity로 묵음 삽입하기  (0) 2014.12.19
audacity - spectrum analyze + Frequency Width  (4) 2011.05.23
audacity 구간반복하기  (2) 2010.08.12
audacity 사용방법  (6) 2010.07.12
Posted by 구차니
프로그램 사용/Putty2014. 12. 18. 17:22

크롬에서는 별다른 옵션을 주고 해야 한다는데 한번 실험을 해봐야겠다.




---

C:\>C:\Program Files (x86)\Google\Chrome\Application\chrome.exe --pr

oxy-server="socks5://localhost:5050" --host-resolver-rules="MAP * 0.0.0.0 , EXCL

UDE localhost"


흐음.. 안되네 -_-


[링크 : http://www.chromium.org/developers/design-documents/network-stack/socks-proxy]

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

ssh X11 forwarding 속도 향상.. 2?  (0) 2016.02.03
putty - CR+LF 전송하기 불가?  (0) 2015.07.14
putty로 proxy 설정하기 (socks5 + firefox)  (0) 2014.12.17
linux용 putty  (2) 2011.09.21
putty를 이용한 vnc 터널링  (1) 2011.06.21
Posted by 구차니
프로그램 사용/Putty2014. 12. 17. 22:07

ie11 이나 크롬이나 둘다 윈도우 쪽의 설정을 끌어 가는데..

firefox는 자체 설정을 사용이 가능하고

SOCKS v5와 원격 DNS를 지원하는 차이가 있다.


아무튼.. firefox를 통해 회사 내부로 우회해서 접속은 가능한데.. 문제는

회사 인트라넷이 죄다.. ie8 이전 버전에 최적화라 크롬이던 Firefox던 안뜨는건 매한가지 -_ㅠ



자세한 설정은 아래의 것을 따르면 된다.

2010/11/20 - [프로그램 사용/Putty] - Putty를 이용한 Dynamic SOCKS


[링크 : http://www.virtualroadside.com/blog/index.php/2007/04/12/dynamic-socks-proxy-using-putty/]


net stop dnscache를 해주어도

ie11 / win7의 프로토콜이 우분투 10.04와 맞지 않는지 에러를 뱉어내며 서버측에서 접속을 끊어 버린다.




[링크 : http://superuser.com/questions/47351/configuring-ie-to-resolve-dns-at-the-proxy-rather-than-locally]

[링크 : http://support.microsoft.com/kb/318803]


putty 관련해서 찾아보니.. 2010년에 수정한것 같지만..

바이너리에서는 안되었는지.. 직접 빌드를 해봐야하나....

[링크 : https://askldjd.wordpress.com/2010/07/07/a-fix-for-puttys-portfwd-corrupt-bug/]


---

ietab을 사용해서 해봤는데.. 안된다!! -_-

역시.. ie11 이라고 해도 MS에 너무 많은걸 바라면 안돼...

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

putty - CR+LF 전송하기 불가?  (0) 2015.07.14
putty chrome socks5 / dns remote  (0) 2014.12.18
linux용 putty  (2) 2011.09.21
putty를 이용한 vnc 터널링  (1) 2011.06.21
Putty를 이용한 Dynamic SOCKS  (2) 2010.11.20
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 작동모드  (0) 2014.12.09
ccache & distcc  (0) 2014.12.08
distcc on ubuntu  (0) 2014.12.08
Posted by 구차니
프로그램 사용/VNC2014. 12. 11. 09:32
HTML5 / websocket을 이용한다는데
쓸만한지 클라이언트측 부하는 얼마나 걸릴지 체크할 필요는 있어보인다.


[링크 : http://stackoverflow.com/questions/3240633/web-based-vnc-client]
    [링크 : http://kanaka.github.io/noVNC/]
    [링크 : http://guac-dev.org/]
[링크 : https://chrome.google.com/webstore/detail/vnc%C2%AE-viewer-for-google-ch/...a] 크롬 확장

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

rfb(remote framebuffer) protocol  (0) 2022.01.26
gconf-editor / ubuntu 14.04 LTS vino + VNC 접속불가  (0) 2015.03.22
VNC 5.0.5  (0) 2013.09.04
tsclient에 VNC 추가하기  (0) 2011.12.31
UVNC - Ultra VNC  (2) 2010.11.26
Posted by 구차니
gss-api (Generic Security Services Application Program Interface)
안전하게 소스코드를 공유해서 분산빌드 하는데 필요한 API

distcc 의 모드
plain - distcc를 구동하는 쪽(client)에서 pre-processor를 처리후 원격지에서 컴파일 / 어셈블리
           결과물만 돌려받고 로컬에서 링킹
pump - 원격지(distcc 서버)에서 pre-processor / 컴파일 / 어셈블리까지 처리

ccache 와 pump동시 사용불가

구성방법은
distcc
ccache + distcc
pump + distcc 이나
include path 등의 문제로 인해 distcc 단독으로 사용하거나 ccache + distcc 정도가 무난할 것으로 생각된다.


HOW PLAIN (NON-PUMP) DISTCC WORKS
distcc only ever runs the compiler and assembler remotely. With plain distcc, the preprocessor must always run locally because it needs to access various header files on the local machine which may not be present, or may not be the same, on the volunteer. The linker similarly needs to examine libraries and object files, and so must run locally.
The compiler and assembler take only a single input file (the preprocessed source) and produce a single output (the object file). distcc ships these two files across the network and can therefore run the compiler/assembler remotely.
Fortunately, for most programs running the preprocessor is relatively cheap, and the linker is called relatively infrequent, so most of the work can be distributed.
distcc examines its command line to determine which of these phases are being invoked, and whether the job can be distributed.
 
HOW DISTCC-PUMP MODE WORKS
In pump mode, distcc runs the preprocessor remotely too. To do so, the preprocessor must have access to all the files that it would have accessed if had been running locally. In pump mode, therefore, distcc gathers all of the recursively included headers, except the ones that are default system headers, and sends them along with the source file to the compilation server.
In distcc-pump mode, the server unpacks the set of all source files in a temporary directory, which contains a directory tree that mirrors the part of the file system that is relevant to preprocessing, including symbolic links.
The compiler is then run from the path in the temporary directory that corresponds to the current working directory on the client. To find and transmit the many hundreds of files that are often part of a single compilation, pump mode uses an incremental include analysis algorithm. The include server is a Python program that implements this algorithm. The pump command starts the include server so that throughout the build it can answer include queries by distcc commands.
The include server uses static analysis of the macro language to deal with conditional compilation and computed includes. It uses the property that when a given header file has already been analyzed for includes, it is not necessary to do so again if all the include options (-I's) are unchanged (along with other conditions).
For large builds, header files are included, on average, hundreds of times each. With distcc-pump mode each such file is analyzed only a few times, perhaps just once, instead of being preprocessed hundreds of times. Also, each source or header file is now compressed only once, because the include server memoizes the compressed files. As a result, the time used for preparing compilations may drop by up to an order of magnitude over the preprocessing of plain distcc.
Because distcc in pump mode is able to push out files up to about ten times faster, build speed may increase 3X or more for large builds compared to plain distcc mode.

RESTRICTIONS FOR PUMP MODE
Using pump mode requires both client and servers to use release 3.0 or later of distcc and distccd (respectively).
The incremental include analysis of distc-pump mode rests on the fundamental assumption that source and header files do not change during the build process. A few complex build systems, such as that for Linux kernel 2.6, do not quite satisfy this requirement. To overcome such issues, and other corner cases such as absolute filepaths in includes, see the include_server(1) man page.
Another important assumption is that the include configuration of all machines must be identical. Thus the headers under the default system path must be the same on all servers and all clients. If a standard GNU compiler installation is used, then this requirement applies to all libraries whose header files are installed under /usr/include or /usr/local/include/. Note that installing software packages often lead to additional headers files being placed in subdirectories of either.
If this assumption does not hold, then it is possible to break builds with distcc-pump mode, or worse, to get wrong results without warning. Presently this condition is not verified, and it is on our TODO list to address this issue.
An easy way to guarantee that the include configurations are identical is to use a cross-compiler that defines a default system search path restricted to directories of the compiler installation.
See the include_server(1) manual for more information on symptoms and causes of violations of distcc-pump mode assumptions. 

USING DISTCC WITH CCACHE
ccache is a program that speeds software builds by caching the results of compilations. ccache is normally called before distcc, so that results are retrieved from a normal cache. Some experimentation may be required for idiosyncratic makefiles to make everything work together.
The most reliable method is to set

CCACHE_PREFIX="distcc"
This tells ccache to run distcc as a wrapper around the real compiler. ccache still uses the real compiler to detect compiler upgrades.
ccache can then be run using either a masquerade directory or by setting

CC="ccache gcc"
As of version 2.2, ccache does not cache compilation from preprocessed source and so will never get a cache hit if it is run from distccd or distcc. It must be run only on the client side and before distcc to be any use.
distcc's pump mode is not compatible with ccache.

[링크 : http://distcc.googlecode.com/svn/trunk/doc/web/man/distcc_1.html


[링크 : http://www.rasplay.org/?p=8567]
[링크 : http://en.m.wikipedia.org/wiki/Generic_Security_Services_Application_Program_Interface]

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

distcc 크로스 컴파일/커널 빌드 관련  (0) 2016.09.13
distcc 로 valgrind-3.6.1 컴파일 실패?  (0) 2014.12.12
ccache & distcc  (0) 2014.12.08
distcc on ubuntu  (0) 2014.12.08
distcc - 네트워크 분산 컴파일  (2) 2010.03.04
Posted by 구차니