Строительство лязг навсегда

Я сбит с толку. У меня есть виртуальная машина под управлением Ubuntu 14.04. Я следовал процедурам здесь:http://clang.llvm.org/docs/LibASTMatchersTutorial.html и я на шаге, чтобы запустить ниндзя. Это строит llvm и лязг. Теперь моя виртуальная машина не работает, я выделил ей 6 ГБ ОЗУ и 4 ЦП и 20-ГБ файл подкачки. Самая большая проблема возникает во время соединения - кажется, что запускается большое количество процессов ld, каждый из которых использует как минимум 3-4 ГБ или виртуальную память, и в какой-то момент много ЦП каждый. Но размер файла подкачки вырос до 12 ГБ, и все процессы связаны с вводом-выводом, но я не знаю, делают ли они что-то полезное или разрушающее. Все, что я знаю, это то, что диск забивается, а задания выполняются вечно. На самом деле, я просто уменьшил количество процессоров для виртуальной машины до 1, чтобы увидеть, может ли он быть более эффективным при меньшем параллелизме, поскольку я предположил, что проблема может быть колоссальной.

Я полагаю, мой диск может быть медленным ... Есть идеи? Должен ли я использовать make вместо ниндзя? Мой опыт не в Linux (хотя я получаю там :-)) Так что я следую учебному пособию, но, возможно, не рекомендуется «лучший» способ создания программ clang / llvm.

Ответы на вопрос(1)

Решение Вопроса

это происходит с последним выпуском SVN (но не если вы получаете Clang 3.8 или более старых выпусков). Происходит следующее: поскольку во время разработки для каждой единицы компиляции также генерируется много отладочной информации, размеры файлов становятся большими.

Решение состоит в том, чтобы отключить всю отладочную информацию, которая была прикреплена по умолчанию. Вы, вероятно, не собираетесь отлаживать Clang, так что вам это не понадобится. ТАК вместо того, чтобы просто делать это

cmake -G Ninja ../llvm -DLLVM_BUILD_TESTS=ON

Что вы должны сделать, это

cmake -G Ninja ../llvm -DLLVM_BUILD_TESTS=ON -DCMAKE_BUILD_TYPE=Release

Все остальные шаги остаются прежними. Сейчас я не проверял это с ниндзя, но проверил это с помощью make на Ubuntu (эторуководствоЯ изменил то же самое в шаге 7). Это должно быть как weel.

 Nishant Sharma09 июл. 2016 г., 21:10
Да, вы можете сделать это полностью. Для меня мне пришлось получить последнюю версию и собрать последнюю версию из svn truck из-за исправления ошибки, которая была сделана после выпуска clang 3.8. и это было важно для моей работы с Clang.
 Brian B09 июл. 2016 г., 19:28
Я еще не пробовал, но это имеет большой смысл. Я отмечу как ответ. Тем временем я обнаружил, что вы можете скачать готовые образы всего кода для Ubuntu 14.04 (и многих других платформ) здесь:llvm.org/releases/download.html, Эта ссылка (askubuntu.com/questions/306929/... подробности о том, как получить и установить его, хотя я помещаю его в свою домашнюю папку вместо / usr / local. Так что я могу просто удалить или получить другую версию легко.

Ваш ответ на вопрос