[HOpenGL] compilation problems

Sven Panne Sven.Panne@informatik.uni-muenchen.de
Sat, 05 Jan 2002 17:22:22 +0100


Shuying Wang wrote:
 > [...] I would like to know what @green_card_comma@ does,

 From aclocal.m4:

    Some older versions of Green Card have a parsing bug in deriving
    clauses, forcing you to write things like:
       %enum Foo (Eq,Ord Enum Bounded) Int [ NULL ]
    when
       %enum Foo (Eq,Ord,Enum,Bounded) Int [ NULL ]
    is intended. Fix: Use @green_card_comma@ for all but the first comma.

 > as that generated an error in GLUT_Init.gc when I ran make depend.
 > Replacing "@green_card_comma@"  with "," seems to resolve it.

*sigh* GreenCard gives me endless headaches... :-( configure should have
figured out that your version *does* need a comma, but obviously it has
not. Try removing config.cache and re-run configure. If that doesn't
work, either, just send me the output of configure plus config.log.

 > Also, I have glut3 but code pertaining to glut4.x wasn't commented out?

Hmmm, I'm not sure what version number you refer to exactly: Most GLUT
installations nowadays are GLUT 3.7 and AFAIK there is no 4.0 around and
probably it will never be, because Mark J. Kilgard has discontinued
development and sadly enough, he has not put his sources in the public
domain. :-(

GLUT's API and implementation is sub-versioned via two #defines in its
header (usually /usr/include/GL/glut.h on *nix):

    * GLUT_API_VERSION: Normally 3, but can be overridden to 4
    * GLUT_XLIB_IMPLEMENTATION: Normally 15

What does your header contain?

 > [...] Then I ran make, and I got the following error:
 >
 > /usr/bin/ghc -syslib lang -split-objs -odir GL_Errors -fglasgow-exts
 > -I/usr/X11R6/include "-#include <GL/glut.h>" -recomp -Wall -O   -c
 > GL_Errors.hs -o GL_Errors.o
 > /tmp/ghc6071.hc: In function `s2n5_ret':
 > /tmp/ghc6071.hc:295: `GLU_INCOMPATIBLE_GL_VERSION' undeclared (first use
 > in this function)
 > /tmp/ghc6071.hc:295: (Each undeclared identifier is reported only once
 > /tmp/ghc6071.hc:295: for each function it appears in.)
 > /tmp/ghc6071.hc: In function `GLzuErrors_zdwunmarshallzuError_fast1':
 > /tmp/ghc6071.hc:654: `GLU_INCOMPATIBLE_GL_VERSION' undeclared (first use
 > in this function)
 > make[1]: *** [GL_Errors.o] Error 1
 >
 > And I'm not sure what I'm missing. Can someone please help me?

GLU_INCOMPATIBLE_GL_VERSION seems to have disappeared in some GLU 1.3
installations. To get you going, just remove it from GL_Errors.gc or
replace ``GLU_INCOMPATIBLE_GL_VERSION'' in GL_Errors.hs with its value
(100903). It's a hack, but who cares? :-}

Just another reason why future versions of HOpenGL will neither use
GreenCard nor ``FOO'' stuff...

Cheers,
    S.