编译 Blender BPY:使用 -fPIC 重新编译?
Compiling Blender BPY : recompile with -fPIC?
我尝试在 Ubuntu 14.04.4 中使用 :
编译 Blender BPY
mkdir ~/blender-git
cd ~/blender-git
git clone http://git.blender.org/blender.git
cd blender
git submodule update --init --recursive
git submodule foreach git checkout master
git submodule foreach git pull --rebase origin master
sudo apt-get update; sudo apt-get install git build-essential
cd ~/blender-git
./blender/build_files/build_environment/install_deps.sh
sudo apt-get install cmake cmake-curses-gui
mkdir ~/blender-git/build
cd ~/blender-git/build
cmake ../blender \
-DWITH_PYTHON_INSTALL=OFF \
-DWITH_PLAYER=OFF \
-DWITH_PYTHON_MODULE=ON
cd ~/blender-git/build
make
编译成功,但以错误结束:
[100%] Building C object source/creator/CMakeFiles/blender.dir/buildinfo.c.o
Linking CXX shared module ../../bin/bpy.so
/usr/bin/ld.gold: error: /opt/lib/python-3.5/lib/libpython3.5m.a(abstract.o): requires dynamic R_X86_64_PC32 reloc against 'PyType_IsSubtype' which may overflow at runtime; recompile with -fPIC
我在翻页时遇到同样的错误...
有什么想法吗?
是否可以在某处下载 blender BPY 的编译库?
谢谢!
好吧,它试图将静态库 link 转换为动态库,而静态库 (/opt/lib/python-3.5/lib/libpython3.5m.a) 不是不适合那个(编译 w/o -fPIC 导致无法在共享库中使用它)。使用 flag 重新编译该库(或简单地提供一个正确编译的库)并使用 Blender BPY 重试。
我刚查过,Ubuntu-14.04 在官方回购中没有 python-3.5,但是有一堆专用的 PPA。但是因为现在是 16 年 4 月底,如果你觉得勇敢,最好将你的 apt sources.list 切换到 Xenial 并将系统更新到下一个 LTS,或者如果你不勇敢,就 python t :)
我尝试在 Ubuntu 14.04.4 中使用 :
编译 Blender BPYmkdir ~/blender-git
cd ~/blender-git
git clone http://git.blender.org/blender.git
cd blender
git submodule update --init --recursive
git submodule foreach git checkout master
git submodule foreach git pull --rebase origin master
sudo apt-get update; sudo apt-get install git build-essential
cd ~/blender-git
./blender/build_files/build_environment/install_deps.sh
sudo apt-get install cmake cmake-curses-gui
mkdir ~/blender-git/build
cd ~/blender-git/build
cmake ../blender \
-DWITH_PYTHON_INSTALL=OFF \
-DWITH_PLAYER=OFF \
-DWITH_PYTHON_MODULE=ON
cd ~/blender-git/build
make
编译成功,但以错误结束:
[100%] Building C object source/creator/CMakeFiles/blender.dir/buildinfo.c.o
Linking CXX shared module ../../bin/bpy.so
/usr/bin/ld.gold: error: /opt/lib/python-3.5/lib/libpython3.5m.a(abstract.o): requires dynamic R_X86_64_PC32 reloc against 'PyType_IsSubtype' which may overflow at runtime; recompile with -fPIC
我在翻页时遇到同样的错误...
有什么想法吗?
是否可以在某处下载 blender BPY 的编译库?
谢谢!
好吧,它试图将静态库 link 转换为动态库,而静态库 (/opt/lib/python-3.5/lib/libpython3.5m.a) 不是不适合那个(编译 w/o -fPIC 导致无法在共享库中使用它)。使用 flag 重新编译该库(或简单地提供一个正确编译的库)并使用 Blender BPY 重试。
我刚查过,Ubuntu-14.04 在官方回购中没有 python-3.5,但是有一堆专用的 PPA。但是因为现在是 16 年 4 月底,如果你觉得勇敢,最好将你的 apt sources.list 切换到 Xenial 并将系统更新到下一个 LTS,或者如果你不勇敢,就 python t :)