在ubuntu 13.04上安装glfw3 - 出错

时间:2013-09-10 08:35:48

标签: ubuntu makefile glfw

我下载了glfw 3.0.2并尝试将其安装到Ubuntu 13.04上。 (运行Amd radeon驱动程序13.08 beta - 如果有任何相关性。)

我按照自述文件安装了xorg-devlibglu1-mesa-dev。然后我跑'cmake'。然后'make'并得到这些错误:

$ make

Scanning dependencies of target glfw
[  2%] Building C object src/CMakeFiles/glfw.dir/clipboard.c.o
[  4%] Building C object src/CMakeFiles/glfw.dir/context.c.o
[  6%] Building C object src/CMakeFiles/glfw.dir/gamma.c.o
[  8%] Building C object src/CMakeFiles/glfw.dir/init.c.o
[ 10%] Building C object src/CMakeFiles/glfw.dir/input.c.o
[ 12%] Building C object src/CMakeFiles/glfw.dir/joystick.c.o
[ 14%] Building C object src/CMakeFiles/glfw.dir/monitor.c.o
[ 16%] Building C object src/CMakeFiles/glfw.dir/time.c.o
[ 18%] Building C object src/CMakeFiles/glfw.dir/window.c.o
[ 20%] Building C object src/CMakeFiles/glfw.dir/x11_clipboard.c.o
[ 22%] Building C object src/CMakeFiles/glfw.dir/x11_gamma.c.o
[ 24%] Building C object src/CMakeFiles/glfw.dir/x11_init.c.o
[ 26%] Building C object src/CMakeFiles/glfw.dir/x11_joystick.c.o
[ 28%] Building C object src/CMakeFiles/glfw.dir/x11_monitor.c.o
[ 30%] Building C object src/CMakeFiles/glfw.dir/x11_time.c.o
[ 32%] Building C object src/CMakeFiles/glfw.dir/x11_window.c.o
[ 34%] Building C object src/CMakeFiles/glfw.dir/x11_unicode.c.o
[ 36%] Building C object src/CMakeFiles/glfw.dir/glx_context.c.o
/home/dean/Downloads/glfw-3.0.2/src/glx_context.c: In function ‘_glfwPlatformGetProcAddress’:
/home/dean/Downloads/glfw-3.0.2/src/glx_context.c:598:5: warning: pointer targets in passing argument 2 of ‘dlsym’ differ in signedness [-Wpointer-sign]
In file included from /home/dean/Downloads/glfw-3.0.2/src/glx_platform.h:41:0,
             from /home/dean/Downloads/glfw-3.0.2/src/x11_platform.h:52,
             from /home/dean/Downloads/glfw-3.0.2/src/internal.h:69,
             from /home/dean/Downloads/glfw-3.0.2/src/glx_context.c:28:
/usr/include/dlfcn.h:65:14: note: expected ‘const char * __restrict__’ but argument is of type ‘const GLubyte *’
Linking C static library libglfw3.a
[ 36%] Built target glfw
Scanning dependencies of target boing
[ 38%] Building C object examples/CMakeFiles/boing.dir/boing.c.o
make[2]: *** No rule to make target `/usr/lib/x86_64-linux-gnu/libGL.so', needed by `examples/boing'. Stop.
make[1]: *** [examples/CMakeFiles/boing.dir/all] Error 2
make: *** [all] Error 2
$

有任何帮助吗?

3 个答案:

答案 0 :(得分:1)

检查/usr/lib/x86_64-linux-gnu/libGL.so是否存在。 如果不是,请使用“apt-file search libGL.so”找出该文件所在的包。然后安装此软件包。

您也可以尝试创建符号链接,因为此文件应该是libGL.so.x.y等其他.so文件的符号链接,其中x和y是版本号。

答案 1 :(得分:1)

这对我有用(使用Ubuntu 13.10):

$ sudo ln -s /usr/lib/x86_64-linux-gnu/mesa/libGL.so.1 /usr/lib/x86_64-linux-gnu/libGL.so

这应该有效,但是如果你得到这样的错误:

ln: failed to create symbolic link ‘/usr/lib/x86_64-linux-gnu/libGL.so’: File exists

尝试删除符号链接或将其重命名为其他内容并重新尝试上述命令。在我的情况下,它指向一个未知文件libGL.so.1.2.0

答案 2 :(得分:0)

对于专有驱动程序,请参阅更新&

下面的警告

尝试重新安装libgl1-mesa-devlibgl1-mesa-glx,以便更新libGL.so符号链接,而无需人工干预。

sudo apt-get install --reinstall libgl1-mesa-dev libgl1-mesa-glx

这适用于:Debian Wheezy

更新&警告:

重新安装libgl1-mesa-devlibgl1-mesa-glx重新安装 - 正如预期的那样 - libGL.so符号链接,但也破坏了我的专有nvidia驱动程序安装。重新安装驱动程序后一切都很好。因此,在这种情况下,重新安装专有驱动程序可能是个好主意。