Again, with proper formating:

Following a user problem report 
(http://cygwin.com/ml/cygwin/2008-11/msg00022.html),
I just discovered that the last version of the libglut-devel package now 
installs a glut.h file 
in /usr/include/GL 
(http://sourceware.org/ml/cygwin-announce/2008-03/msg00070.html). This
file takes precedance over the one in /usr/include/w32api/GL and declares the 
same functions 
but with a different calling convention. This makes the packages libglut-devel 
and opengl 
incompatible; you will have to uninstall one of them if you have both. 
libglut-devel is for 
applications that will run through and X server while opengl is for application 
that will use the 
native Windows interface, which is much faster.

History:

The opengl package contains libraries related to openGL. One of them is GLUT 
(GL Utility 
Toolkit), whose purpose is to provide an OS-independant way to get a graphic 
context for 
openGL drawing, managing windows, and accessing devices like the keyboard and 
the mouse. 
The version of GLUT in the opengl package interfaces directly with Windows, so 
it is very fast.

At first, the opengl package contained (among other things):
The glut32.dll, in /usr/bin
The include file glut.h, in /usr/include/GL

Concurrently, the w32api package included libglut32.a in /usr/lib/w32api . I 
don't know the 
reason for this, as it is the only part of GLUT that the w32api provides. The 
w32api package is 
a requirement for the opengl package.

Then the freeglut package was added to the distribution. Its purpose is to 
provide an 
implementation of GLUT that runs through an X server. This created some 
conflicts 
(http://cygwin.com/ml/cygwin-apps/2006-04/msg00079.html) that I resolved by 
creating an 
updated version of the opengl package 
(http://sourceware.org/ml/cygwin-announce/2006-04/msg00027.html) in which 
glut.h was 
moved from /usr/include/GL to /usr/include/w32api/GL.

The applications using freeglut can be compiled and linked without problems, 
but I now realize 
that native GLUT applications cannot be compiled correctly if the libglut-devel 
package is also 
installed because the glut.h that it puts in /usr/include/GL takes precedance 
over the one that 
is required in /usr/include/w32api/GL.

So, how do we solve this?

Regards,

- André Bleau, Cygwin's volunteer OpenGL package maintainer.

Please direct any question or comment about the OpenGL package to cygwin at 
cygwin dot com



_________________________________________________________________

Reply via email to