I think I accidentally allowed my OS to install a proprietary NVIDIA driver and as a result, some of my openGL libraries appear to be missing.
At any rate, running configure for GRASS 6.5 crashes when it reaches the openGL section:
<snip>
checking for location of OpenGL includes... /usr/include/GL
checking for GL/gl.h... yes
checking for GL/glu.h... yes
checking for location of OpenGL library...
checking for glBegin in -lGL... no
checking for glBegin in -lGL... no
checking for glBegin in -lGL... no
checking for glBegin in -lGL... no
configure: error: *** Unable to locate OpenGL library.
What are the names of packages that contain the required libraries?
Thanks,
~ Eric.
I also use the proprietary NVIDIA driver, no problem.
Please check config.log for the real error.
Markus
Here's the relevant output from config.log:
configure:11398: checking for glBegin in -lGL
configure:11415: gcc -o conftest -g -O2 -Wl,--export-dynamic -L/usr/lib64 conftest.c -lGL -lSM -lICE -lX11 -lm 1>&5
/usr/bin/ld: cannot find -lGL
collect2: ld returned 1 exit status
configure: failed program was:
#line 11404 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
builtin and then its argument prototype would still apply. */
char glBegin();
int main() {
glBegin()
; return 0; }
configure:11434: checking for glBegin in -lGL
configure:11451: gcc -o conftest -g -O2 -Wl,--export-dynamic -L/usr/lib64 conftest.c -lGL -lSM -lICE -lX11 -lm -lXext 1>&5
/usr/bin/ld: cannot find -lGL
collect2: ld returned 1 exit status
configure: failed program was:
#line 11440 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
builtin and then its argument prototype would still apply. */
char glBegin();
int main() {
glBegin()
; return 0; }
configure:11470: checking for glBegin in -lGL
configure:11487: gcc -o conftest -g -O2 -Wl,--export-dynamic -L/usr/lib64 conftest.c -lGL -lSM -lICE -lX11 -lm -lpthread 1>&5
/usr/bin/ld: cannot find -lGL
collect2: ld returned 1 exit status
configure: failed program was:
#line 11476 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
builtin and then its argument prototype would still apply. */
char glBegin();
int main() {
glBegin()
; return 0; }
configure:11506: checking for glBegin in -lGL
configure:11523: gcc -o conftest -g -O2 -Wl,--export-dynamic -L/usr/lib64 conftest.c -lGL -lSM -lICE -lX11 -lm -lpthread -lXext 1>&5
/usr/bin/ld: cannot find -lGL
collect2: ld returned 1 exit status
configure: failed program was:
#line 11512 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
builtin and then its argument prototype would still apply. */
char glBegin();
int main() {
glBegin()
; return 0; }
~ Eric.
Hi,
2009/4/1 Patton, Eric <Eric.Patton@nrcan-rncan.gc.ca>:
[...]
configure:11398: checking for glBegin in -lGL
configure:11415: gcc -o conftest -g -O2 -Wl,--export-dynamic -L/usr/lib64 conftest.c -lGL -lSM -lICE -lX11 -lm 1>&5
I guess
sudo ldconfig
will not help (?).
Martin
--
Martin Landa <landa.martin gmail.com> * http://gama.fsv.cvut.cz/~landa
configure:11398: checking for glBegin in -lGL
configure:11415: gcc -o conftest -g -O2 -Wl,--export-dynamic -L/usr/lib64 conftest.c -lGL -lSM -lICE -lX11 -lm 1>&5
I guess
sudo ldconfig
will not help (?).
Martin
Hm , no that doesn't seem to make any difference. I get the same error as before.
~ Eric.
Eric:
I think I accidentally allowed my OS to install a proprietary NVIDIA
driver and as a result, some of my openGL libraries appear to be
missing.
At any rate, running configure for GRASS 6.5 crashes when it reaches
the openGL section:
<snip>
checking for location of OpenGL includes... /usr/include/GL
checking for GL/gl.h... yes
checking for GL/glu.h... yes
checking for location of OpenGL library...
checking for glBegin in -lGL... no
checking for glBegin in -lGL... no
checking for glBegin in -lGL... no
checking for glBegin in -lGL... no
configure: error: *** Unable to locate OpenGL library.
What are the names of packages that contain the required libraries?
Not sure. But I work with NVidia and have the following under
/usr/include/GL$ ls -l
-rw-r--r-- 1 root root 376506 2009-01-06 22:13 glext.h
-rw-r--r-- 1 root root 72949 2009-01-06 22:13 gl.h
-rw-r--r-- 1 root root 17163 2008-10-22 05:58 glu.h
-rw-r--r-- 1 root root 3315 2008-10-22 05:58 glu_mangle.h
-rw-r--r-- 1 root root 33751 2009-01-06 22:13 glxext.h
-rw-r--r-- 1 root root 14021 2009-01-06 22:13 glx.h
Do you have all of those installed as well?
Nikos
Patton, Eric wrote:
I think I accidentally allowed my OS to install a proprietary NVIDIA
driver and as a result, some of my openGL libraries appear to be
missing.
At any rate, running configure for GRASS 6.5 crashes when it reaches the
openGL section:
<snip>
checking for location of OpenGL includes... /usr/include/GL
checking for GL/gl.h... yes
checking for GL/glu.h... yes
checking for location of OpenGL library...
checking for glBegin in -lGL... no
checking for glBegin in -lGL... no
checking for glBegin in -lGL... no
checking for glBegin in -lGL... no
configure: error: *** Unable to locate OpenGL library.
What are the names of packages that contain the required libraries?
Package names are distribution-specific, but it's common to use a -dev
or -devel suffix for packages which are only required when compiling.
It's entirely possible that the nVidia OpenGL package doesn't have a
corresponding development package. In which case, you probably need to
make the symlink manually, e.g.:
ln -s libGL.so.1.2 /usr/lib/libGL.so
Essentially libGL.so must exist in one of the system library
directories (e.g. /usr/lib) and must point (directly or indirectly) at
the actual OpenGL library (which will normally have a version number
after the ".so").
--
Glynn Clements <glynn@gclements.plus.com>
Not sure. But I work with NVidia and have the following under
/usr/include/GL$ ls -l
-rw-r--r-- 1 root root 376506 2009-01-06 22:13 glext.h
-rw-r--r-- 1 root root 72949 2009-01-06 22:13 gl.h
-rw-r--r-- 1 root root 17163 2008-10-22 05:58 glu.h
-rw-r--r-- 1 root root 3315 2008-10-22 05:58 glu_mangle.h
-rw-r--r-- 1 root root 33751 2009-01-06 22:13 glxext.h
-rw-r--r-- 1 root root 14021 2009-01-06 22:13 glx.h
Do you have all of those installed as well?
Nikos
Yep, looks good:
cd /usr/include/GL
GL> ls -l
total 692
-rw-r--r-- 1 root root 5028 2008-05-10 09:20 freeglut_ext.h
-rw-r--r-- 1 root root 681 2008-05-10 09:20 freeglut.h
-rw-r--r-- 1 root root 23684 2008-05-10 09:20 freeglut_std.h
-rw-r--r-- 1 root root 388018 2008-10-22 00:51 glext.h
-rw-r--r-- 1 root root 90754 2008-10-22 00:51 gl.h
-rw-r--r-- 1 root root 83950 2008-10-22 00:51 gl_mangle.h
-rw-r--r-- 1 root root 17163 2008-10-22 00:58 glu.h
-rw-r--r-- 1 root root 3315 2008-10-22 00:58 glu_mangle.h
-rw-r--r-- 1 root root 639 2008-05-10 09:20 glut.h
-rw-r--r-- 1 root root 33458 2008-10-22 00:51 glxext.h
-rw-r--r-- 1 root root 15234 2008-10-22 00:51 glx.h
-rw-r--r-- 1 root root 3412 2008-10-22 00:51 glx_mangle.h
drwxr-xr-x 2 root root 4096 2008-10-29 10:12 internal
All of your files plus some mangle headers to boot.
~ Eric.
It's entirely possible that the nVidia OpenGL package doesn't have a
corresponding development package. In which case, you probably need to
make the symlink manually, e.g.:
ln -s libGL.so.1.2 /usr/lib/libGL.so
Essentially libGL.so must exist in one of the system library
directories (e.g. /usr/lib) and must point (directly or indirectly) at
the actual OpenGL library (which will normally have a version number
after the ".so").
Thanks, Glynn! That was exactly what was wrong.
~ Eric.