distcc 컴파일 서버에서 ccache를 사용할 수 있습니까?

distcc 컴파일 서버에서 ccache를 사용할 수 있습니까?

ccache컴파일러 래퍼 로 사용하는 것이 가능하다는 것을 알고 있지만 distcc그 반대도 가능합니까?

나에겐 무리가 있어라즈베리 파이더 빠른 CPU와 더 빠른 I/O를 갖춘 x64 시스템에서 distcc를 사용하여 ARM 바이너리를 크로스 컴파일하는 시스템입니다.

ccache나는 종종 모든 Raspberry Pi에서 동일한 소프트웨어를 컴파일하기 때문에 컴파일 서버가 컴파일된 개체 중 일부를 캐시하고 재사용하여 시간을 절약할 수 있다면 좋을 것이라고 생각했습니다.

아니면 라즈베리 자체에 주요 빌드 시간이 소요됩니까?

답변1

귀하의 질문에서 완전히 명확하지는 않지만, rapsberry pi A가 distcc로 구축된 경우 distcc가 서버에 캐시하여 raspberry pi B가 다시 컴파일하지 않도록 하려는 것인가요?

이제 ccache는 이미 memcached를 지원하므로 memcached를 추가하여 결과를 캐시할 수 있습니다( dev/memcachedccache 분기 참조). 또한 distcc와 동일한 서버에 저장할 필요도 없습니다. AWS에 저장할 수 있으며 라즈베리 파이는 실제로 원하는 캐시 미스를 distcc에 보냅니다.

메모리 캐시 설치:

sudo apt-get install memcached

export MEMCACHED_SERVERS=localhost

sudo service memcached restart

ccache용(내가 연결한 지점으로 업데이트한 후)

sudo apt-get install libmemcached-dev

./configure --enable-memcached

make -j4 && sudo make install

그런 다음 다음을 통해 ccache에 서버 위치를 알릴 수 있습니다.

export CCACHE_MEMCACHED_CONF="--SERVER=localhost"

추가 정보: https://gist.github.com/itensionanders/2bd0056027f8308d4cd8

관련 정보