Ошибка glEnd (mesa-libGL / GLU) при установке пакета rgl на Centos6.7

Я пытаюсь установить «rgl» на CentOS 6.7, но не могу заставить его работать.
Я видел множество похожих проблем, но у меня не сработало ни одно решение.

Моя система:

Centos 6.7
R версия 3.2.3 (2015-12-10) - «Деревянная елка»
Платформа: x86_64-redhat-linux-gnu (64-бит)

ПРИМЕЧАНИЕ. Проблема возникла, вы можете сразу перейти к разделу ОБНОВЛЕНИЕ. Переформатирую весь пост, когда проблема будет решена.

Ошибка (с использованием биопроводника)

source("https://bioconductor.org/biocLite.R")
biocLite("rgl")
...
configure: error: X11 not found but required, configure aborted.
ERROR: configuration failed for package ‘rgl’
* removing ‘/usr/lib64/R/library/rgl’

та же проблема с использованием

install.packages("rgl", repos="http://R-Forge.R-project.org")

Я попробовал решение здесь
Как установить R «rgl» пакет под centos 6?

Вот моя установленная библиотека X11:

>yum list installed |grep X11  
libX11.x86_64                          1.6.0-6.el6                      @base   
libX11-common.noarch                   1.6.0-6.el6                      @base   
libX11-devel.x86_64                    1.6.0-6.el6                      @base 

Но все равно не получается.

Я также установил инструменты разработчика и импортированную библиотеку, это не решило проблему.

source("https://bioconductor.org/biocLite.R")
library(devtools)
biocLite("rgl")
... same issue

Потратил на это часы, ничего не получилось

NB: я успешно установил его на свой ubuntu, но нет возможности заставить его работать на centos6.7 (рабочая станция)

ОБНОВЛЕНИЕ
Обнаружение отсутствия libpng-devel (уже было, libpng, libpng10, libpng10-devel).

sudo yum install libpng-devel.x86_64 

Ошибка изменилась. Затем я добавил недостающие библиотеки.

sudo yum install mesa-libGL
sudo yum install mesa-libGL-devel
sudo yum install mesa-libGLU
sudo yum install mesa-libGLU-devel

Ошибка изменилась У меня все еще проблема

* installing *source* package ‘rgl’ ...
** package ‘rgl’ successfully unpacked and MD5 sums checked
checking for gcc... gcc -m64 -std=gnu99
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables... 
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc -m64 -std=gnu99 accepts -g... yes
checking for gcc -m64 -std=gnu99 option to accept ISO C89... none needed
checking how to run the C preprocessor... gcc -m64 -std=gnu99 -E
checking for gcc... (cached) gcc -m64 -std=gnu99
checking whether we are using the GNU C compiler... (cached) yes
checking whether gcc -m64 -std=gnu99 accepts -g... (cached) yes
checking for gcc -m64 -std=gnu99 option to accept ISO C89... (cached) none needed
checking whether __attribute__((visibility())) is supported... yes
checking whether gcc -m64 -std=gnu99 accepts -fvisibility... yes
checking whether  accepts -fvisibility... no
checking for libpng-config... yes
configure: using libpng-config
configure: using libpng dynamic linkage
checking for X... libraries , headers 
checking GL/gl.h usability... yes
checking GL/gl.h presence... yes
checking for GL/gl.h... yes
checking GL/glu.h usability... yes
checking GL/glu.h presence... yes
checking for GL/glu.h... yes
checking for glEnd in -lGL... no
configure: error: missing required library GL
ERROR: configuration failed for package ‘rgl’

Теперь, если я найду libGL

locate libGL
/usr/lib/libGL.la
/usr/lib/libGL.so
/usr/lib/libGL.so.1
/usr/lib/libGL.so.361.28
/usr/lib/libGLESv1_CM.so
/usr/lib/libGLESv1_CM.so.1
/usr/lib/libGLESv1_CM_nvidia.so.1
/usr/lib/libGLESv1_CM_nvidia.so.361.28
/usr/lib/libGLESv2.so
/usr/lib/libGLESv2.so.2
/usr/lib/libGLESv2_nvidia.so.2
/usr/lib/libGLESv2_nvidia.so.361.28
/usr/lib/libGLX_indirect.so.0
/usr/lib/libGLX_nvidia.so.0
/usr/lib/libGLX_nvidia.so.361.28
/usr/lib/libGLdispatch.so.0
/usr/lib64/libGL.la
/usr/lib64/libGL.so
/usr/lib64/libGL.so.1
/usr/lib64/libGL.so.361.28
/usr/lib64/libGLESv1_CM.so
/usr/lib64/libGLESv1_CM.so.1
/usr/lib64/libGLESv1_CM_nvidia.so.1
/usr/lib64/libGLESv1_CM_nvidia.so.361.28
/usr/lib64/libGLESv2.so
/usr/lib64/libGLESv2.so.2
/usr/lib64/libGLESv2_nvidia.so.2
/usr/lib64/libGLESv2_nvidia.so.361.28
/usr/lib64/libGLU.so
/usr/lib64/libGLU.so.1
/usr/lib64/libGLU.so.1.3.1
/usr/lib64/libGLX_indirect.so.0
/usr/lib64/libGLX_nvidia.so.0
/usr/lib64/libGLX_nvidia.so.361.28
/usr/lib64/libGLdispatch.so.0
/usr/lib64/libGLw.so
/usr/lib64/libGLw.so.1
/usr/lib64/libGLw.so.1.0.0
/usr/share/doc/mesa-libGLw-6.5.1
/usr/share/doc/mesa-libGLw-6.5.1/README
/var/lib/yum/yumdb/m/010c511f597ab7af9a62cb69e3efa97a86d8aed8-mesa-libGLU-10.4.3-1.el6-x86_64
/var/lib/yum/yumdb/m/a38f4280f482ab6f663312b4971b2355c27dedc6-mesa-libGLw-6.5.1-10.el6-x86_64
/var/lib/yum/yumdb/m/aa6576ce41dd030b88b08c1a166b3a367f685972-mesa-libGL-10.4.3-1.el6-x86_64
/var/lib/yum/yumdb/m/adc9d6749b6c635c773e81565cd5d39b0ab3b851-mesa-libGL-devel-10.4.3-1.el6-x86_64
/var/lib/yum/yumdb/m/dc1a62e08fc366e4a97e261f5dc94d04019e1e68-mesa-libGLU-devel-10.4.3-1.el6-x86_64
/var/lib/yum/yumdb/m/edbad91b2990d0cab1c3e8a029bcd7129ce3a1e5-mesa-libGLw-devel-6.5.1-10.el6-x86_64
/var/lib/yum/yumdb/m/010c511f597ab7af9a62cb69e3efa97a86d8aed8-mesa-libGLU-10.4.3-1.el6-x86_64/changed_by
/var/lib/yum/yumdb/m/010c511f597ab7af9a62cb69e3efa97a86d8aed8-mesa-libGLU-10.4.3-1.el6-x86_64/checksum_data
/var/lib/yum/yumdb/m/010c511f597ab7af9a62cb69e3efa97a86d8aed8-mesa-libGLU-10.4.3-1.el6-x86_64/checksum_type
/var/lib/yum/yumdb/m/010c511f597ab7af9a62cb69e3efa97a86d8aed8-mesa-libGLU-10.4.3-1.el6-x86_64/command_line
/var/lib/yum/yumdb/m/010c511f597ab7af9a62cb69e3efa97a86d8aed8-mesa-libGLU-10.4.3-1.el6-x86_64/from_repo
/var/lib/yum/yumdb/m/010c511f597ab7af9a62cb69e3efa97a86d8aed8-mesa-libGLU-10.4.3-1.el6-x86_64/from_repo_revision
/var/lib/yum/yumdb/m/010c511f597ab7af9a62cb69e3efa97a86d8aed8-mesa-libGLU-10.4.3-1.el6-x86_64/from_repo_timestamp
/var/lib/yum/yumdb/m/010c511f597ab7af9a62cb69e3efa97a86d8aed8-mesa-libGLU-10.4.3-1.el6-x86_64/installed_by
/var/lib/yum/yumdb/m/010c511f597ab7af9a62cb69e3efa97a86d8aed8-mesa-libGLU-10.4.3-1.el6-x86_64/reason
/var/lib/yum/yumdb/m/010c511f597ab7af9a62cb69e3efa97a86d8aed8-mesa-libGLU-10.4.3-1.el6-x86_64/releasever
/var/lib/yum/yumdb/m/a38f4280f482ab6f663312b4971b2355c27dedc6-mesa-libGLw-6.5.1-10.el6-x86_64/checksum_data
/var/lib/yum/yumdb/m/a38f4280f482ab6f663312b4971b2355c27dedc6-mesa-libGLw-6.5.1-10.el6-x86_64/checksum_type
/var/lib/yum/yumdb/m/a38f4280f482ab6f663312b4971b2355c27dedc6-mesa-libGLw-6.5.1-10.el6-x86_64/command_line
/var/lib/yum/yumdb/m/a38f4280f482ab6f663312b4971b2355c27dedc6-mesa-libGLw-6.5.1-10.el6-x86_64/from_repo
/var/lib/yum/yumdb/m/a38f4280f482ab6f663312b4971b2355c27dedc6-mesa-libGLw-6.5.1-10.el6-x86_64/from_repo_revision
/var/lib/yum/yumdb/m/a38f4280f482ab6f663312b4971b2355c27dedc6-mesa-libGLw-6.5.1-10.el6-x86_64/from_repo_timestamp
/var/lib/yum/yumdb/m/a38f4280f482ab6f663312b4971b2355c27dedc6-mesa-libGLw-6.5.1-10.el6-x86_64/installed_by
/var/lib/yum/yumdb/m/a38f4280f482ab6f663312b4971b2355c27dedc6-mesa-libGLw-6.5.1-10.el6-x86_64/reason
/var/lib/yum/yumdb/m/a38f4280f482ab6f663312b4971b2355c27dedc6-mesa-libGLw-6.5.1-10.el6-x86_64/releasever
/var/lib/yum/yumdb/m/aa6576ce41dd030b88b08c1a166b3a367f685972-mesa-libGL-10.4.3-1.el6-x86_64/changed_by
/var/lib/yum/yumdb/m/aa6576ce41dd030b88b08c1a166b3a367f685972-mesa-libGL-10.4.3-1.el6-x86_64/checksum_data
/var/lib/yum/yumdb/m/aa6576ce41dd030b88b08c1a166b3a367f685972-mesa-libGL-10.4.3-1.el6-x86_64/checksum_type
/var/lib/yum/yumdb/m/aa6576ce41dd030b88b08c1a166b3a367f685972-mesa-libGL-10.4.3-1.el6-x86_64/command_line
/var/lib/yum/yumdb/m/aa6576ce41dd030b88b08c1a166b3a367f685972-mesa-libGL-10.4.3-1.el6-x86_64/from_repo
/var/lib/yum/yumdb/m/aa6576ce41dd030b88b08c1a166b3a367f685972-mesa-libGL-10.4.3-1.el6-x86_64/from_repo_revision
/var/lib/yum/yumdb/m/aa6576ce41dd030b88b08c1a166b3a367f685972-mesa-libGL-10.4.3-1.el6-x86_64/from_repo_timestamp
/var/lib/yum/yumdb/m/aa6576ce41dd030b88b08c1a166b3a367f685972-mesa-libGL-10.4.3-1.el6-x86_64/installed_by
/var/lib/yum/yumdb/m/aa6576ce41dd030b88b08c1a166b3a367f685972-mesa-libGL-10.4.3-1.el6-x86_64/reason
/var/lib/yum/yumdb/m/aa6576ce41dd030b88b08c1a166b3a367f685972-mesa-libGL-10.4.3-1.el6-x86_64/releasever
/var/lib/yum/yumdb/m/adc9d6749b6c635c773e81565cd5d39b0ab3b851-mesa-libGL-devel-10.4.3-1.el6-x86_64/checksum_data
/var/lib/yum/yumdb/m/adc9d6749b6c635c773e81565cd5d39b0ab3b851-mesa-libGL-devel-10.4.3-1.el6-x86_64/checksum_type
/var/lib/yum/yumdb/m/adc9d6749b6c635c773e81565cd5d39b0ab3b851-mesa-libGL-devel-10.4.3-1.el6-x86_64/command_line
/var/lib/yum/yumdb/m/adc9d6749b6c635c773e81565cd5d39b0ab3b851-mesa-libGL-devel-10.4.3-1.el6-x86_64/from_repo
/var/lib/yum/yumdb/m/adc9d6749b6c635c773e81565cd5d39b0ab3b851-mesa-libGL-devel-10.4.3-1.el6-x86_64/from_repo_revision
/var/lib/yum/yumdb/m/adc9d6749b6c635c773e81565cd5d39b0ab3b851-mesa-libGL-devel-10.4.3-1.el6-x86_64/from_repo_timestamp
/var/lib/yum/yumdb/m/adc9d6749b6c635c773e81565cd5d39b0ab3b851-mesa-libGL-devel-10.4.3-1.el6-x86_64/installed_by
/var/lib/yum/yumdb/m/adc9d6749b6c635c773e81565cd5d39b0ab3b851-mesa-libGL-devel-10.4.3-1.el6-x86_64/reason
/var/lib/yum/yumdb/m/adc9d6749b6c635c773e81565cd5d39b0ab3b851-mesa-libGL-devel-10.4.3-1.el6-x86_64/releasever
/var/lib/yum/yumdb/m/dc1a62e08fc366e4a97e261f5dc94d04019e1e68-mesa-libGLU-devel-10.4.3-1.el6-x86_64/checksum_data
/var/lib/yum/yumdb/m/dc1a62e08fc366e4a97e261f5dc94d04019e1e68-mesa-libGLU-devel-10.4.3-1.el6-x86_64/checksum_type
/var/lib/yum/yumdb/m/dc1a62e08fc366e4a97e261f5dc94d04019e1e68-mesa-libGLU-devel-10.4.3-1.el6-x86_64/command_line
/var/lib/yum/yumdb/m/dc1a62e08fc366e4a97e261f5dc94d04019e1e68-mesa-libGLU-devel-10.4.3-1.el6-x86_64/from_repo
/var/lib/yum/yumdb/m/dc1a62e08fc366e4a97e261f5dc94d04019e1e68-mesa-libGLU-devel-10.4.3-1.el6-x86_64/from_repo_revision
/var/lib/yum/yumdb/m/dc1a62e08fc366e4a97e261f5dc94d04019e1e68-mesa-libGLU-devel-10.4.3-1.el6-x86_64/from_repo_timestamp
/var/lib/yum/yumdb/m/dc1a62e08fc366e4a97e261f5dc94d04019e1e68-mesa-libGLU-devel-10.4.3-1.el6-x86_64/installed_by
/var/lib/yum/yumdb/m/dc1a62e08fc366e4a97e261f5dc94d04019e1e68-mesa-libGLU-devel-10.4.3-1.el6-x86_64/reason
/var/lib/yum/yumdb/m/dc1a62e08fc366e4a97e261f5dc94d04019e1e68-mesa-libGLU-devel-10.4.3-1.el6-x86_64/releasever
/var/lib/yum/yumdb/m/edbad91b2990d0cab1c3e8a029bcd7129ce3a1e5-mesa-libGLw-devel-6.5.1-10.el6-x86_64/checksum_data
/var/lib/yum/yumdb/m/edbad91b2990d0cab1c3e8a029bcd7129ce3a1e5-mesa-libGLw-devel-6.5.1-10.el6-x86_64/checksum_type
/var/lib/yum/yumdb/m/edbad91b2990d0cab1c3e8a029bcd7129ce3a1e5-mesa-libGLw-devel-6.5.1-10.el6-x86_64/command_line
/var/lib/yum/yumdb/m/edbad91b2990d0cab1c3e8a029bcd7129ce3a1e5-mesa-libGLw-devel-6.5.1-10.el6-x86_64/from_repo
/var/lib/yum/yumdb/m/edbad91b2990d0cab1c3e8a029bcd7129ce3a1e5-mesa-libGLw-devel-6.5.1-10.el6-x86_64/from_repo_revision
/var/lib/yum/yumdb/m/edbad91b2990d0cab1c3e8a029bcd7129ce3a1e5-mesa-libGLw-devel-6.5.1-10.el6-x86_64/from_repo_timestamp
/var/lib/yum/yumdb/m/edbad91b2990d0cab1c3e8a029bcd7129ce3a1e5-mesa-libGLw-devel-6.5.1-10.el6-x86_64/installed_by
/var/lib/yum/yumdb/m/edbad91b2990d0cab1c3e8a029bcd7129ce3a1e5-mesa-libGLw-devel-6.5.1-10.el6-x86_64/reason
/var/lib/yum/yumdb/m/edbad91b2990d0cab1c3e8a029bcd7129ce3a1e5-mesa-libGLw-devel-6.5.1-10.el6-x86_64/releasever

ОБНОВЛЕНИЕ 2:
После справки @MartinMorgan я загрузил пакет ligGL и настроил его вручную.

./configure

дал мне

configure: error: Direct rendering requires libdrm >= 2.4.38

Поэтому мне пришлось установить libdrm-devel

sudo yum install libdrm-devel

И снова ошибка обновления!

configure: error: DRI3 requires xcb >= 1.9.3

Но у centos установлен 1.9.1

Я решил сделать это вручную

wget https://xcb.freedesktop.org/dist/libxcb-1.9.3.tar.gz

Но когда я нажимаю configure, он говорит мне, что ему нужен xcb-proto 1.9
Репозиторий Yum для CentOS6 предоставляет только 1.8

Еще раз пошел вручную

wget https://xcb.freedesktop.org/dist/xcb-proto-1.9.tar.gz

Но когда я устанавливаю его и возвращаюсь к libxcb-1.9.3, он не обнаруживает, что xcb-proto установлен.

Если я устанавливаю 1.8 xcb-proto из репозитория, он обнаруживает его и сообщает мне, что он устарел.

Посмотрев, когда установлен xcb-proto 1.8 с

rpm -ql xcb-proto

Выход

/usr/lib/python2.6/site-packages/xcbgen
/usr/lib/python2.6/site-packages/xcbgen/__init__.py
/usr/lib/python2.6/site-packages/xcbgen/__init__.pyc
/usr/lib/python2.6/site-packages/xcbgen/__init__.pyo
/usr/lib/python2.6/site-packages/xcbgen/error.py
/usr/lib/python2.6/site-packages/xcbgen/error.pyc
/usr/lib/python2.6/site-packages/xcbgen/error.pyo
/usr/lib/python2.6/site-packages/xcbgen/expr.py
/usr/lib/python2.6/site-packages/xcbgen/expr.pyc
/usr/lib/python2.6/site-packages/xcbgen/expr.pyo
/usr/lib/python2.6/site-packages/xcbgen/matcher.py
/usr/lib/python2.6/site-packages/xcbgen/matcher.pyc
/usr/lib/python2.6/site-packages/xcbgen/matcher.pyo
/usr/lib/python2.6/site-packages/xcbgen/state.py
/usr/lib/python2.6/site-packages/xcbgen/state.pyc
/usr/lib/python2.6/site-packages/xcbgen/state.pyo
/usr/lib/python2.6/site-packages/xcbgen/xtypes.py
/usr/lib/python2.6/site-packages/xcbgen/xtypes.pyc
/usr/lib/python2.6/site-packages/xcbgen/xtypes.pyo
/usr/share/doc/xcb-proto-1.8
/usr/share/doc/xcb-proto-1.8/COPYING
/usr/share/doc/xcb-proto-1.8/NEWS
/usr/share/doc/xcb-proto-1.8/README
/usr/share/doc/xcb-proto-1.8/TODO
/usr/share/doc/xcb-proto-1.8/xml-xcb.txt
/usr/share/pkgconfig/xcb-proto.pc
/usr/share/xcb
/usr/share/xcb/bigreq.xml
/usr/share/xcb/composite.xml
/usr/share/xcb/damage.xml
/usr/share/xcb/dpms.xml
/usr/share/xcb/dri2.xml
/usr/share/xcb/ge.xml
/usr/share/xcb/glx.xml
/usr/share/xcb/randr.xml
/usr/share/xcb/record.xml
/usr/share/xcb/render.xml
/usr/share/xcb/res.xml
/usr/share/xcb/screensaver.xml
/usr/share/xcb/shape.xml
/usr/share/xcb/shm.xml
/usr/share/xcb/sync.xml
/usr/share/xcb/xc_misc.xml
/usr/share/xcb/xcb.xsd
/usr/share/xcb/xevie.xml
/usr/share/xcb/xf86dri.xml
/usr/share/xcb/xf86vidmode.xml
/usr/share/xcb/xfixes.xml
/usr/share/xcb/xinerama.xml
/usr/share/xcb/xinput.xml
/usr/share/xcb/xkb.xml
/usr/share/xcb/xprint.xml
/usr/share/xcb/xproto.xml
/usr/share/xcb/xselinux.xml
/usr/share/xcb/xtest.xml
/usr/share/xcb/xv.xml
/usr/share/xcb/xvmc.xml

В то время как xcb-proto использует python 2.7, я не очень хорошо понимаю разницу между тем, как система находит пакеты, установленные yum, и тем, как она находит их, когда они устанавливаются из tarball.


person zakrapovic    schedule 07.04.2016    source источник
comment
Проверьте этот аналогичный вопрос. Сообщение может появиться, если отсутствует xquartz.   -  person Panagiotis Kanavos    schedule 07.04.2016
comment
Думал кварц для macOS, посмотрю   -  person zakrapovic    schedule 07.04.2016
comment
может быть полезно добавить еще несколько строк перед configure: error, чтобы указать, что делает configure, чтобы попытаться найти X11.   -  person Martin Morgan    schedule 07.04.2016
comment
Вы можете поискать libGL - locate libGL - если он не установлен, это означает поиск соответствующего пакета. Если он установлен, возможно, он находится в неизвестном месте; см. вашу операционную систему ldconfig и LD_LIBRARY_PATH   -  person Martin Morgan    schedule 07.04.2016
comment
Спасибо за помощь @MartinM, я обновился благодаря вам   -  person zakrapovic    schedule 08.04.2016
comment
@MartinMorgan Обновлено. Если ты хоть представляешь, я в тупике.   -  person zakrapovic    schedule 11.04.2016
comment
Вы можете загрузить и распаковать архив пакетов cd в каталог пакетов и запустить ./configure. Это не удастся. Там будет файл conftest.c, команда для его компиляции и ошибка будет в config.log (ближе к концу). Кроме того, ./configure --help предоставляет параметры для установки.   -  person Martin Morgan    schedule 12.04.2016
comment
убедитесь, что xcb-proto-1.9 установлен в стандартном месте, или используйте ldconfig, чтобы добавить установленное место в путь поиска библиотеки.   -  person Martin Morgan    schedule 17.04.2016


Ответы (1)


Это пакеты, которые я использую для получения rgl на 6.7 (и 7.x)

yum install mesa-libGLU-devel libGL-devel libpng-devel libX11-devel
person cagey    schedule 24.04.2017