со страницы разработчика Chromium:
Сбои компиляции
Некоторые распространенные вещи, о которых следует подумать, если у вас возникают странные сбои при компиляции:
- Убедитесь, что у вас есть SP1 для Visual Studio 2005. Это необходимо. На самом деле.
- Иногда Visual Studio делает неправильные вещи при сборке Chromium и зацикливается на фиктивной ошибке. Хорошим признаком этого является то, что это не работает только для одного человека, но другие (включая Buildbots) не жалуются. Чтобы решить эту проблему, попробуйте следующие шаги:
- Закрыть Visual Studio.
- Синхронизируйте с верхушкой дерева и убедитесь, что нет конфликтов («svn st» не должен отображать символы «C» перед файлами, которые вы изменили).
- Если были конфликты, выполните синхронизацию после их разрешения.
- Вручную стереть выходной каталог (chrome \ Debug и chrome \ Release. С помощью командной строки вы можете использовать для этого «erase / S / Q Debug Release» из каталога chrome или «rm -rf Debug Release» если у вас установлены Unix-подобные инструменты.
- Перезапустите Visual Studio и откройте решение Chromium.
- Перестройте решение.
Если это все еще не работает, повторение этого процесса, вероятно, не поможет.
chrome_kjs.sln проблемы с временным файлом
Если при создании JavaScriptCore вы видите такие ошибки, как:
3>Error in tempfile() using /tmp/dftables-XXXXXXXX.in: Parent directory (/tmp/) is not writable
3> at /cygdrive/c/b/slave/WEBKIT~1/build/webkit/third_party/JavaScriptCore/pcre/dftables line 236
3>make: *** [chartables.c] Error 255
... это потому, что установка Cygwin, включенная в исходный код Chromium, испытывает проблемы с сопоставлением разрешений NT ACL и POSIX. Похоже, это происходит, когда Chromium извлекается в каталог, для которого Cygwin в первую очередь не может определить разрешения, возможно, когда каталог создается из среды Cygwin до запуска mkpasswd. Затем Cygwin налагает свой собственный контроль доступа, который неправильно ограничивает. В качестве обходного пути выполните одно из следующих действий:
Отредактируйте разрешения NT для третьего_партии \ cygwin \ tmp, чтобы разрешить действия по изменению и записи для каждого и компьютера \ пользователей. Cygwin может понять это. Или,
Выясните, что пошло не так с вашей проверкой, и попробуйте снова - попробуйте выполнить проверку из cmd вместо оболочки Cygwin, а затем убедитесь, что разрешения не полностью пустые в вашей установке Cygwin. Или,
Обойти контроль доступа Cygwin (NT все еще будут действовать), отредактировав webkit \ build \ JavaScriptCore \ prebuild.bat и webkit \ build \ WebCore \ prebuild.bat, чтобы включить следующую строку перед вызовом чего-либо, использующего Cygwin :
set CYGWIN=nontsec
Нужно только одно из этих решений.