从git获取当前的Blender master并运行./blender/build_files/build_environment/install_deps.sh
在我的Fedora 20系统上工作正常,直到Open Shading语言编译出现,失败并出现以下错误:
/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
- 这次导致安装程序因为无法将版本锁定的软件包升级到{而导致中止{1}} ......唉。
所以现在我或多或少地陷入困境,寻找一个开箱即用的解决方案,或者是那些了解3.4
内容以及如何解决这个问题的人?
答案 0 :(得分:1)
更新:同时修复了依赖安装程序脚本中此处描述的错误(https://developer.blender.org/rBf3f991c80fa92ccb7a831b8e8449ff5f21065a9d):)
好的,所以我尝试删除系统上全局安装的llvm
和clang
软件包并再次运行安装程序,导致由于任何 {不可用而导致失败{1}},引起了我的注意,就像在安装程序控制台乱码中所说的那样clang
,所以CLANG在哪里?我发现安装程序在编译之前下载的.tar.gz(LLVM (CLANG included!)
)为空 - 0字节 - 并且挖掘src/blender-deps/CLANG-3.3.tar.gz
显示install_deps.sh
,转换为{{3} }指的是不正确的下载URL。
CLANG 3.3源的正确URL是http://llvm.org/releases/3.3/clang-3.3.src.tar.gz,因此我手动下载它,将其重命名为并替换LLVM_CLANG_SOURCE="http://llvm.org/releases/$LLVM_VERSION/clang-$LLVM_VERSION.src.tar.gz"
,然后在安装程序的另一次失败运行后也进入了tarball并重命名从src/blender-deps/CLANG-3.3.tar.gz
到cfe-3.3.src
的文件夹......从那里开始:成功!
构建这样的源代码并且没有全局安装的兼容clang-3.3.src
的每个人都应该面对这个问题(因为下载URL也会被其他人破坏),我有点惊讶我没有&# 39;在此找到其他任何东西。好吧。案件结案。