glEnd 错误 (mesa-libGL/GLU) 在 Centos6.7 上安装“rgl”包

Posted

技术标签:

【中文标题】glEnd 错误 (mesa-libGL/GLU) 在 Centos6.7 上安装“rgl”包【英文标题】:glEnd error (mesa-libGL/GLU) installing "rgl" package on Centos6.7 【发布时间】:2016-07-28 06:29:27 【问题描述】:

我尝试在 CentOS 6.7 上安装“rgl”,但无法正常工作。 看到许多类似的问题,但没有解决方案对我有用。

我的系统:

Centos 6.7 R 版本 3.2.3 (2015-12-10) -- “木制圣诞树” 平台:x86_64-redhat-linux-gnu(64位)

注意 :问题演变,您可以直接跳到 UPDATE 部分。当问题解决后,我会重新格式化整个帖子。

错误(使用生物导体)

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")

我在这里尝试了解决方案How to install R “rgl” package under 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 

但还是失败了。

我还安装了 devtools 和导入的库,它并没有解决问题。

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

花了几个小时,没有任何效果

注意:我在我的 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

但是当我点击配置时,它告诉我它需要 xcb-proto 1.9 centOS6的yum仓库只提供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 安装它们时如何查找它们之间的区别。

【问题讨论】:

检查this similar question 如果xquartz 缺失可能会出现该消息 我以为石英是 macOS 的,我去看看 configure: error 之前提供几行可能会有所帮助,以指示configure 正在尝试查找X11。 你可以寻找libGL -- locate libGL -- 如果没有安装,那就意味着找到了合适的包。如果已安装,则可能位于未知位置;查看您的操作系统 ldconfig 和 LD_LIBRARY_PATH 感谢@MartinM 的帮助,感谢您,我更新了 【参考方案1】:

这是我用来在 6.7(和 7.x)上获取 rgl 的软件包

yum install mesa-libGLU-devel libGL-devel libpng-devel libX11-devel

【讨论】:

以上是关于glEnd 错误 (mesa-libGL/GLU) 在 Centos6.7 上安装“rgl”包的主要内容,如果未能解决你的问题,请参考以下文章

OpenGL 和 C++:glBegin/glEnd

VBO 与立即模式 (glBegin/glEnd) 的行为是不是存在任何行为差异? [关闭]

opengl基本程序错误?

API OpenGL输出土元函数及相关子程序

openGL 如何同时在屏幕上画两个圆

OpenGL 在渲染帧之前崩溃 - VBO