跳过不兼容的libGL.so

时间:2013-07-09 15:25:26

标签: linux mesa

我已经在我的电脑上新安装了Fedora 19 x86_64。 我写了一个简单的OpenGL程序,但未能编译它。

    gcc -o quad quad.c -lX11 -lGL -lGLU
    /usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-redhat-linux/4.8.1/../..        /../libGL.so when searching for -lGL
    /usr/bin/ld: skipping incompatible /lib/libGL.so when searching for -lGL
    /usr/bin/ld: skipping incompatible /usr/lib/libGL.so when searching for -lGL
    /usr/bin/ld: cannot find -lGL
    collect2: error: ld returned 1 exit status

我有MesaGL和其他库(即/ usr / lib)然后出了什么问题?

4 个答案:

答案 0 :(得分:6)

对我来说,库符号链接有问题:

$ locate libGL.so | egrep ^/usr | xargs file
/usr/lib/libGL.so:                     symbolic link to `/usr/lib/libGL.so.1'
/usr/lib/libGL.so.1:                   symbolic link to `/usr/lib/libGL.so.1.2'
/usr/lib/libGL.so.1.2:                 symbolic link to `/usr/lib/fglrx/fglrx-libGL.so.1.2'
/usr/lib/fglrx/fglrx-libGL.so.1.2:     ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), dynamically linked, stripped
/usr/lib64/FGL.renamed.libGL.so.1.2.0: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=46121ec8b16424a8b65a0cf11c3f9730ae0e49f5, stripped
/usr/lib64/libGL.so:                   broken symbolic link to `libGL.so.1.2.0'
/usr/lib64/libGL.so.1:                 symbolic link to `/usr/lib64/libGL.so.1.2'
/usr/lib64/libGL.so.1.2:               symbolic link to `/usr/lib64/fglrx/fglrx-libGL.so.1.2'
/usr/lib64/fglrx/fglrx-libGL.so.1.2:   ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, stripped

所以/usr/lib/libGL.so指向一个32位的lib和/usr/lib/libGL.so是一个断开的链接。我修复了/ usr / lib64版本以正确指向libGL.so.1(和/ usr / lib版本指向64位版本以获得良好的衡量标准),这似乎已经编译了我的代码。

答案 1 :(得分:1)

有关于不兼容的libGL版本以及不兼容的GCC库的警告。我想你可能在64位操作系统上安装了32位版本的gcc。尝试

file -L `which gcc`

检查一下。

答案 2 :(得分:1)

问题已解决。

我通过执行“ aticonfig --uninstall ”删除了ATI Catalyst Driver v13.6 beta 重启 使用相同的命令编译程序,这是成功的:)

现在我重新安装 ATI Catalyst Drivers v13.6 beta 重新启动并再次编译程序, 它建立成功!!

不知道出了什么问题,但我现在正在使用OpenGL:)

答案 3 :(得分:-2)

安装freeglut-devel: #sudo yum install freeglut-devel