LLVM, CLang версия 3.6
От: Airog Украина  
Дата: 21.04.15 10:16
Оценка:
Пытаюсь у себя собрать llvm и clang под винду. Скачал с их сайта нужные исходники версии 3.6, поместил в нужные папки (clang -> llvm\tools\clang, compiler-rt -> llvm\projects\compiler-rt).
Установил MingGW gcc 4.8.2, cmake 3.2.2, python 2.7.9 и начал как по инструкции в оболочке msys создал папку build в ней дал команду ../llvm/configure --disable-docs --enable-optimized --enable-targets=x86 --prefix=/newclang
все сформировалось, и на радостях запускаю make -j8 и тут облом воводит ошибку:
Makefile:151: /Makefile.rules: No such file or directory
я иду на тут срочку, там:
include $(LLVM_SRC_ROOT)/Makefile.rules
ну думаю что-то не так с переменной LLVM_SRC_ROOT, нахожу в ее инициализацию в файле Makefile.config, там ей присваивается:
LLVM_SRC_ROOT := $(call realpath, /d/llvm-build/../llvm)
все вроде верно, но не пашет, решил присвоить ей прямой путь d:/llvm, после make пошло дальше, но не долго сразу опять ошибка и т. д.
Что я не так делаю?

Пробовал через cmake, также создал папку build и в ней запустил:
cmake -G "MinGW Makefiles" -DCMAKE_BUILD_TYPE=Release ..\llvm
в 1-й раз написало какие-то ошибки и создало один файл, я еще раз запустил и дальше дело пошло, все сформировалось (почему с 1-го раза не сформировалось как по инструкции для меня загадка)
дальше запускаю make -j8 и чудо пошла компиляция, но радось была не долгой, где-то на 13% начали падать сформированные ехе, одно из них llvm-tblgen.exe и следовательно дальше вся компиляция остановилась с ошибкой.
Что тут не так?
Вроде все верно делаю, а результата нет. Пробовал версию 3.5.2 но результат тот же.
Кто-нить скомпилил у себя этот llvm 3.6? Поделитесь опытом )
Я ставил себе уже скомпилированную версию llvm под винду, но в ней нет стандартных либ, когда указываю путь на них, то вылазят ошибки компиляции, причем ставил ссылки на либы gcc и VS2012. Но если проект делать в самой студии,
то все компилится, но проблема в том, что мне нужно все через командную строку. Посоветуйте, что в таком случае делать.
Re: LLVM, CLang версия 3.6
От: BulatZiganshin  
Дата: 21.04.15 11:06
Оценка:
Здравствуйте, Airog, Вы писали:

A>Я ставил себе уже скомпилированную версию llvm под винду, но в ней нет стандартных либ, когда указываю путь на них, то вылазят ошибки компиляции, причем ставил ссылки на либы gcc и VS2012. Но если проект делать в самой студии,

A>то все компилится, но проблема в том, что мне нужно все через командную строку. Посоветуйте, что в таком случае делать.

мои батники:

@"C:\Base\Compiler\LLVM\bin\clang++.exe" -IC:\Base\Compiler\MinGW-4.9.2\mingw32\i686-w64-mingw32\include -IC:\Base\Compiler\MinGW-4.9.2\mingw32\i686-w64-mingw32\include\c++ -IC:\Base\Compiler\MinGW-4.9.2\mingw32\i686-w64-mingw32\include\c++\i686-w64-mingw32\64 -Wno-ignored-attributes %*

и

@call "C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\vcvarsall.bat" x86
@C:\Base\Compiler\LLVM\msbuild-bin\cl.exe %*
Люди, я люблю вас! Будьте бдительны!!!
Re: LLVM, CLang версия 3.6
От: Kernan Ниоткуда https://rsdn.ru/forum/flame.politics/
Дата: 21.04.15 11:57
Оценка:
Здравствуйте, Airog, Вы писали:

A>Что тут не так?

Ответь сперва на вопрос зачем ты это делаешь? Есть основания полагать что тебе это не нужно.
A>Я ставил себе уже скомпилированную версию llvm под винду, но в ней нет стандартных либ, когда указываю путь на них, то вылазят ошибки компиляции, причем ставил ссылки на либы gcc и VS2012. Но если проект делать в самой студии,
Гугли фак. Там есть какая-то засада с захардкожеными путями к хедарам стандартной библиотеки.
A>то все компилится, но проблема в том, что мне нужно все через командную строку. Посоветуйте, что в таком случае делать.
У меня всё собиралось с помощью ms vs 2013 без проблем. Собрать с mingw получилось, но кланг неюзабельный был на мой взгляд. Дело было прошлой зимой.
Sic luceat lux!
Re: LLVM, CLang версия 3.6
От: Vain Россия google.ru
Дата: 26.04.15 11:10
Оценка:
Здравствуйте, Airog, Вы писали:

A>LLVM_SRC_ROOT := $(call realpath, /d/llvm-build/../llvm)

A>все вроде верно, но не пашет, решил присвоить ей прямой путь d:/llvm, после make пошло дальше, но не долго сразу опять ошибка и т. д.
A>Что я не так делаю?
Безотносительно силанга. Если просит виндовые пути не понимая посиксных, как помню, надо запускать из родной консоли мсис, где настроены пути монтирования по-умолчанию: /c, /d, /bin и т.д.
Проверить нужно ли ему mingw, к примеру. Если нужно — прописать путь монтирования /mingw отдельно в /etc/fstab. Проверить что в переменной PATH нет путей с пробелами (да и во всех которые могут парситься), проверить что в путях к исходникам тоже нет пробелов и непотребных символов. Как то так.
[In theory there is no difference between theory and practice. In
practice there is.]
[Даю очевидные ответы на риторические вопросы]
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.