(Это отличается от вопроса ccache и абсолютного пути, поскольку я хочу, чтобы только путь команды не быть развернутым на хост-машине ccache)
При совместном использовании ccache и distcc ccache расширяет компилятор до абсолютного пути, и тогда distcc не может использовать PATH на удаленном компьютере, чтобы выбрать, какой компилятор использовать.
например Я вызываю CCACHE_PREFIX=distcc ccache g++ foo.cc
и ccache расширяет это на локальный этап предварительной обработки и проверку кеша, а затем вызов distcc как distcc /usr/bin/g++
, что является неправильной версией (g ++ находится в пути на удаленном компьютере до / usr / bin , но это вообще не дает ему возможности искать путь).
У меня есть разные машины, которые используются в качестве хостов distcc, и у них одна и та же версия gcc / g ++ установлена в разных местах (да, эта проблема исчезнет, если я поместил их все где-то вроде / usr / local, но я не могу сделайте это сейчас).
Есть ли параметр, позволяющий ccache передавать только g++
в distcc, а не расширять путь до абсолютного пути локального компилятора? Я не совсем против исправления ccache, если настройки еще нет, но это последнее средство :)