public inbox for cygwin-apps@cygwin.com
 help / color / mirror / Atom feed
From: "André Bleau" <andre_bleau@hotmail.com>
To: <cygwin-apps@cygwin.com>
Subject: libglut-devel package conflicts with opengl package [Attn: Volker]
Date: Tue, 04 Nov 2008 16:31:00 -0000	[thread overview]
Message-ID: <COL104-W7550C4890120CF762BA0C8931C0@phx.gbl> (raw)


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	other threads:[~2008-11-04 16:31 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-11-04 16:31 André Bleau [this message]
2008-11-04 16:58 ` Yaakov (Cygwin Ports)
2008-11-04 16:48 André Bleau
2008-11-04 18:04 André Bleau
2008-11-04 18:39 ` Yaakov (Cygwin Ports)

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=COL104-W7550C4890120CF762BA0C8931C0@phx.gbl \
    --to=andre_bleau@hotmail.com \
    --cc=cygwin-apps@cygwin.com \
    --cc=cygwin@cygwin.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).