从git获取当前Blender主体并运行./blender/build_files/build_environment/install_deps.sh
在我的Fedora 20系统上正常工作,直到打开底纹语言编译出现为止,错误:在Fedora 20上构建混合器,由于LLVM/Clang(不匹配)问题而导致OSL编译失败
/opt/lib/llvm-3.3/bin/llvm-as: /home/simonrepp/src/blender-deps/OpenShadingLanguage-1.4.0/build/src/liboslexec/llvm_ops.s:112:59: error: invalid use of function-only attribute
define void @osl_sin_dfdf(i8* nocapture %r, i8* nocapture readonly %a) #2 {
经过调查,我this,提示有当地llvm (3.3)
之间的版本不匹配生成安装设置和全球的装机量clang (3.4)
。所以,我想明确告诉安装程序去与llvm 3.4
- /blender/build_files/build_environment/install_deps.sh --ver-llvm=3.4
- 领先我这一次,以不同的错误:
CMake Error: The following variables are used in this project, but they are set to NOTFOUND.
Please set them or make sure they are set and tested correctly in the CMake files:
LLVM_MCJIT_LIBRARY
linked by target "oslexec" in directory /home/simonrepp/src/blender-deps/OpenShadingLanguage-1.4.0/src/liboslexec
我不能为这得到的解释保持,既不图谋一个可行的解决方案我自己,所以我又采取了另一种方法,将全局的llvm
和clang
包降级和版本锁定为3.3
,并且这次告诉安装程序明确地使用llvm (3.3)
-/blender/build_files/build_environment/install_deps.sh --ver-llvm=3.3
--这次导致安装程序由于无法安装而中止将版本锁定的软件包升级到3.4
... Argh。
所以现在我或多或少地陷入困境,寻找一个开箱即用的解决方案,或者是一个了解LLVM_MCJIT_LIBRARY
内容以及如何处理这个问题的人?
clang必须与llvm相同或更新。就我个人而言,我还没有运用llvm3.4构建OSL。在osl build dir中运行ccmake(或cmake-gui),并检查LLVM_CONFIG是否设置为llvm3.3安装的llvm-config。尝试手动将LLVM_MCJIT_LIBRARY设置为libLLVMMCJIT.a的完整路径 - 它应该与其他llvm库一起使用。 – sambler