Вот как я решил установить Mesa3D из исходного кода на Debian.Спасибо всем ответам и комментариям людей.
Сначала мне нужно было установить пакет libdrm-dev
.
# apt-get install libdrm-dev
Затем проверьте, где были установлены файлы header и lib
# dpkg-query -L libdrm-dev
...
/usr/include/libdrm/drm.h
...
/usr/lib/x86_64-linux-gnu/libdrm.a
...
После этого экспортируйте две переменные env, необходимые configure
для ссылки на libdrm
(https://stackoverflow.com/questions/24644211/mesa3d-install-cant-find-libdrm)
# export LIBDRM_CFLAGS="-I/usr/include/libdrm/"
# export LIBDRM_LIBS="-L/usr/lib/x86_64-linux-gnu/"
Finaly,configure
, make
и make install
# ./configure <parameters here>
# make -j24 # running on a 24 cores machine
# make -j24 install
В противном случае вторая ошибка, которую я получал,
configure: error: shared GLAPI required when building two or more of
the following APIs - opengl, gles1 gles2
не была связана с libdrm
. Это произошло из-за libgalpi
, который не должен быть отключен при запуске configure
!
Библиотеки, просматриваемые ldconfig
, используются для связывания во время выполнения; для компиляции требуется дополнительная символическая ссылка (и в большинстве случаев файлы заголовков). В этом случае вам необходимо установить libdrm-dev
и, возможно, другие пакеты -dev
.
Вы можете найти Как построить мезу полезным; в нем подробно объясняется, как собрать Mesa из исходного кода в Debian.
Библиотеки времени выполнения установлены, но, согласно вашему ответу на комментарий, пакеты разработки не установлены - это то, что ./ configure
ошибка. Я не уверен в точном названии пакета, вам, вероятно, придется выполнить поиск в apt-cache
, но если вы установите пакет -dev
для libDRM, это должен решить эту проблему. Вы можете столкнуться с другой ошибкой -dev
, не установленной, просто продолжайте установку необходимых пакетов -dev
до завершения выполнения ./ configure
.