2016-08-02 10 views
0

В настоящее время я создаю (или waf) сборки и запускаю все. Затем я проверяю все (включая .sconsign.dblite и т. Д.) В git и нажимаем на пульт. Если я удалю каталог локально, клонируйте его из git (на том же компьютере) и введите scons, он обрабатывает все как уже построенное и ничего не запускается повторно.реализация scons/waf, которая не восстанавливается при клонировании

Однако, если я делаю это на другой машине, scons/waf думает, что все должно быть повторно запущено. Я думал, что преимущество этих инструментов сборки заключалось в том, что они используют хэш вместо временных штампов, поэтому мне не нужно было повторно запускать на разных машинах.

Два вопроса:

(1) Что вынуждает перепробег при переключении машины?

(2) Есть ли способ предотвратить повторный запуск?

(В WAF файла блокировки, я мог видеть детали машиннозависимых, но я не заметил ничего, когда я смотрел на .sconsign.dblite файл, хотя я только что рассмотрел его в редакторе текстового.)

+0

С помощью SCons попробуйте запустить: scons --debug = объяснить, что он должен сказать вам, почему он перестраивает. Затем опубликуйте вывод. – bdbaddog

+1

Первое дикое предположение: другая машина может означать, что это другой компилятор (хеш-значение изменений 'gcc'), который привыкает ... – dirkbaechle

ответ

0

Этот вопрос answer. Проблема заключалась в том, что scons автоматически отслеживал хэш/метку времени используемых исполняемых файлов (например, «Rscript»), которые изменяются на разных машинах. Повернув эту неявную зависимость, исправьте проблему.

 Смежные вопросы

  • Нет связанных вопросов^_^