distcc
Table of Contents
ccache + distcc + crosscompile
distccd 설정
외부 머신에서의 분산빌드 요청을 수락하기 위해 /etc/default/distcc 설정
STARTDISTCC="true" ALLOWEDNETS="127.0.0.1 192.168.10.0/24" LISTENER="192.168.10.1" NICE="10"
크로스 컴파일시 크로스 컴파일러의 경로를 추가해 주어야 함 /etc/init.d/distcc 수정
... PATH=...:/ExtApps/toolchain/arm-2009q1/bin ...
분산빌드를 시작하는 peer는 distccd 데몬을 시작할 필요 없음
분산 빌드를 시작 하는 주 머신
/home/suapapa/.distcc/hosts 파일에 다음과 같이 접속할 host 나열
localhost 192.168.10.2
또는 DISTCC_HOSTS로 익스포트
DISTCC_HOSTS="192.168.10.2/3 localhost/2 another_serv/n"
distcc서버들이 살아있나 검사
#!/usr/bin/python from socket import * def isDistccSrvOK(addr, port = 3632): try: sok = socket(AF_INET, SOCK_STREAM) sok.connect((addr, port)) except: return False sok.close() return True if __name__ == '__main__': import sys print isDistccSrvOK(sys.argv[1])
빌드
다음과 같이 alias 설정
alias arm_make='nice -n 20 make ARCH=arm CROSS_COMPILE="ccache arm-none-eabi-" -j 3 ' alias arm_dist6_make='nice -n 20 make ARCH=arm CROSS_COMPILE="ccache distcc arm-none-eabi-" -j 6 '
references
- distcc in google code
- discc old official homepage
- distcc로 컴파일 시간 줄이기 in IBM DW
distcc.txt · Last modified: 2013/08/03 05:04 by 127.0.0.1