|
The "impossible" has happened ...: msg#00027lang.haskell.glasgow.bugs
Hello, I am an "occasional" user of Haskell (who knows, that may change...) but recently installed GHC 6.2 and was trying to explore the graphics support. To test my understanding I modified a simple example from Sven Panne's HOpenGL library (file Hi.hs, attached) to make it compatible with the GHC OpenGL support. I can load this under ghci, but when I try to execute I get the following error message, which prompted this email: ----------------------------------------------------- Prelude> :cd HOpenGL-1.05\examples\redbook_HS Prelude> :load Hi Skipping Main ( Hi.hs, Hi.o ) Ok, modules loaded: Main. Prelude Main> main Loading package OpenGL ... linking ... done. Loading package GLUT ... linking ... C:/ghc/ghc-6.2/HSGLUT.o: unknown symbol `_glutMainLoop' ghc.exe: panic! (the `impossible' happened, GHC version 6.2): can't load package `GLUT' Please report it as a compiler bug to glasgow-haskell-bugs@xxxxxxxxxxx, or http://sourceforge.net/projects/ghc/. Prelude Main> ----------------------------------------------------- If I try compiling directly using ghc, I get a load of "undefined references" -- again suggesting that the compiler isn't finding the glut library. I'm using the Windows binary package, ghc-6-2-1.msi, running under XP. I've been able to compile and run simple programs both from the ghci shell and from cygwin, so the basic installation seems fine. The install directory (c:/ghc/ghc-6.2/) clearly contains the OpenGL libraries (which does seem to be found) and the GLUT library, both the archive libHSGLUT.a and the library linkable HSGLUT.o. I may have made a basic error, but any suggestions? Please mailto or Cc me as I am not on the list. thanks, David -- Dr. David Duke Email: D.Duke@xxxxxxxxxx Department of Computer Science Web: www.bath.ac.uk/~masdad/ University of Bath Tel: +44 1225 383 407 Bath, BA2 7AY U.K. Fax: +44 1225 383 493 {- Hello.hs (adapted from hello.c which is (c) Silicon Graphics, Inc) This file is part of HOpenGL - a binding of OpenGL and GLUT for Haskell. Copyright (C) 2000 Sven Panne <Sven.Panne@xxxxxxxxxxxxxxxxxxxxxxxxxx> This is a simple, introductory OpenGL program. -} import Graphics.Rendering.OpenGL.GL import Graphics.UI.GLUT display :: DisplayCallback display = do -- clear all pixels clear [ColorBuffer] -- draw white polygon (rectangle) with corners at -- (0.25, 0.25, 0.0) and (0.75, 0.75, 0.0) color (Color3 1.0 1.0 1.0 :: Color3 GLfloat) renderPrimitive Polygon $ mapM_ vertex [ Vertex3 0.25 0.25 0.0, Vertex3 0.75 0.25 0.0, Vertex3 0.75 0.75 0.0, Vertex3 0.25 0.75 (0.0 :: GLfloat)] -- don't wait! -- start processing buffered OpenGL routines flush myInit :: IO () myInit = do -- select clearing color clearColor $= (Color4 0.0 0.0 0.0 0.0) -- initialize viewing values matrixMode $= Projection loadIdentity ortho 0.0 1.0 0.0 1.0 (-1.0) 1.0 {- Declare initial window size, position, and display mode (single buffer and RGBA). Open window with "hello" in its title bar. Call initialization routines. Register callback function to display graphics. Enter main loop and process events. -} main :: IO () main = do getArgsAndInitialize initialDisplayMode $= [ SingleBuffered, RGBMode ] initialWindowSize $= (Size 250 250) initialWindowPosition $= (Position 100 100) createWindow "hello" myInit displayCallback $= display mainLoop _______________________________________________ Glasgow-haskell-bugs mailing list Glasgow-haskell-bugs@xxxxxxxxxxx http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs
|
|
| <Prev in Thread] | Current Thread | [Next in Thread> |
|---|---|---|
| Previous by Date: | [ ghc-Bugs-881718 ] spurious warning for no-main module when using -main-is, SourceForge.net |
|---|---|
| Next by Date: | Re: The "impossible" has happened ..., Sven Panne |
| Previous by Thread: | [ ghc-Bugs-881718 ] spurious warning for no-main module when using -main-is, SourceForge.net |
| Next by Thread: | Re: The "impossible" has happened ..., Sven Panne |
| Indexes: | [Date] [Thread] [Top] [All Lists] |
| News | FAQ | advertise |