Я пытаюсь установить меза-пакет из репозитория: git://anongit.freedesktop.org/mesa/mesa. Я успешно выполнил следующую команду из меза-папки:
$ ./autogen.sh \
--prefix=$NVD \
--enable-texture-float \
--enable-gles1 \
--enable-gles2 \
--enable-glx \
--enable-egl \
--enable-gallium-egl \
--enable-gallium-llvm \
--enable-shared-glapi \
--enable-gbm \
--enable-glx-tls \
--enable-dri \
--enable-osmesa \
--with-egl-platforms=x11,drm \
--with-gallium-drivers=nouveau \
--with-dri-drivers=nouveau \
--enable-vdpau
$./configure
Однако, когда я выполняю сделать команду с полномочиями суперпользователя, я получаю следующую ошибку:
../../../../src/gallium/auxiliary/.libs/libgallium.a(lp_bld_misc.o): In function `llvm::RTDyldMemoryManager::getSymbolAddress(std::string const&)':
/usr/lib/llvm-3.8/include/llvm/ExecutionEngine/RTDyldMemoryManager.h:77: undefined reference to `llvm::RTDyldMemoryManager::getSymbolAddressInProcess(std::string const&)'
/usr/lib/llvm-3.8/include/llvm/ExecutionEngine/RTDyldMemoryManager.h:77: undefined reference to `llvm::RTDyldMemoryManager::getSymbolAddressInProcess(std::string const&)'
collect2: error: ld returned 1 exit status
Makefile:991: recipe for target 'gallium_dri.la' failed
make[4]: *** [gallium_dri.la] Error 1
make[4]: Leaving directory '/home/nouveau/mesa/src/gallium/targets/dri'
Makefile:620: recipe for target 'all-recursive' failed
make[3]: *** [all-recursive] Error 1
make[3]: Leaving directory '/home/nouveau/mesa/src/gallium'
Makefile:869: recipe for target 'all-recursive' failed
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory '/home/nouveau/mesa/src'
Makefile:660: recipe for target 'all' failed
make[1]: *** [all] Error 2
make[1]: Leaving directory '/home/nouveau/mesa/src'
Makefile:677: recipe for target 'all-recursive' failed
make: *** [all-recursive] Error 1
Во-первых, это - unnessecary для создания mesa
из источника в Ubuntu. Это будет уже установлено как часть Xorg. Эти три установленные пакета libglu1-mesa
, libgl1-mesa-glx
и libgl1-mesa-dri
.
Если действительно необходимо создать mesa
, затем Вашей проблемой является с новым (выход) C++ 11 ABI. Как ссылки в этом отчете об ошибках от Red Hat показывает, проблема состоит в том, что Ваш llvm не был скомпилирован с C++ 11. Вы хотели бы обновлять Ваш llvm-3.8
установка с sudo apt-get install --only-upgrade llvm-3.8
. Иначе Вы хотели бы устанавливать более новую версию llvm
- llvm-3.9
, llvm-4.0
или llvm-5.0
(рекомендуемый).