SOLVED. Re: [Haskell-cafe] Linker Errors For OpenGL / GLUT 'Hello World' Program.
Donnie Jones donnie at darthik.com
Sat Sep 20 22:10:56 EDT 2008
Hello, ghc -package GLUT -lglut Hello1.hs -o Hello1 --- works! :) I'm not sure why I must specify "-package GLUT" and "-lglut" but that prevents the linker errors. Also, shouldn't configure correctly figure out how to link the GLUT libraries? Can someone explain? Thank you. __ Donnie On Sat, Sep 20, 2008 at 9:47 PM, Donnie Jones <donnie at darthik.com> wrote: > Hello Clifford, > > Thank you for the quick reply. > I was able to get a test C program that draws a triangle with GLUT to work: > gcc -lglut triangle.o -o triangle.exe > > However, when building the Haskell GLUT 'Hello World' it uses, -lGLU to > link GLUT, but that does not work; however, from the config.log output > configure seems to think that -lGL should work. Is there a way I can change > the build to use -lglut? Maybe with configure I can specify that -lglut is > the correct way to link the GLUT libraries? > > Thank you! > __ > Donnie > > On Sat, Sep 20, 2008 at 3:42 PM, Clifford Beshers < > clifford.beshers at gmail.com> wrote: > It works for me. I'm running Ubuntu Hardy with some packages built by us > at SeeReason (see debs.seereason.com). > > It looks like ghc can't find your glut libraries (not the Haskell wrappers, > but the real GLUT libs). Try 'ghc -v --make ' and look at the linking lines > and see what GHC is specifying (mine shows a -lglut). Try compiling an > example C program against GLUT and see if that works. > > My package list looks like this: > beshers at blue:~/haskell$ dpkg -l \*glut\* > Desired=Unknown/Install/ > > Remove/Purge/Hold > | > Status=Not/Installed/Config-f/Unpacked/Failed-cfg/Half-inst/t-aWait/T-pend > |/ Err?=(none)/Hold/Reinst-required/X=both-problems (Status,Err: > uppercase=bad) > ||/ Name Version Description > > +++-==============-==============-============================================ > un freeglut-dev <none> (no description available) > ii freeglut3 2.4.0-6 OpenGL Utility Toolkit > ii freeglut3-dev 2.4.0-6 OpenGL Utility Toolkit development files > un glut-doc <none> (no description available) > un glutg3 <none> (no description available) > un glutg3-dev <none> (no description available) > ii libghc6-glut-d 2.1.1.1-2+3see Haskell GLUT binding for GHC > un libghc6-glut-d <none> (no description available) > un libghc6-glut-p <none> (no description available) > un libglut <none> (no description available) > un libglut-dev <none> (no description available) > pn libglut3 <none> (no description available) > un libglut3-dev <none> (no description available) > > > > On Sat, Sep 20, 2008 at 1:13 PM, Donnie Jones <donnie at darthik.com> wrote: > >> Hello Brandon, >> >> On Sat, Sep 20, 2008 at 1:02 PM, Brandon S. Allbery KF8NH < >> allbery at ece.cmu.edu> wrote: >> >>> On 2008 Sep 20, at 12:57, Donnie Jones wrote: >>> >>> checking GL/gl.h usability... yes >>> checking GL/gl.h presence... yes >>> checking for GL/gl.h... yes >>> checking OpenGL/gl.h usability... no >>> checking OpenGL/gl.h presence... no >>> checking for OpenGL/gl.h... no >>> checking GL/glu.h usability... yes >>> checking GL/glu.h presence... yes >>> checking for GL/glu.h... yes >>> checking OpenGL/glu.h usability... no >>> checking OpenGL/glu.h presence... no >>> checking for OpenGL/glu.h... no >>> >>> That looks like to me that the gl.h and glu.h header files were found and >>> are usable (in some cases). I am able to build >>> >>> >>> Yes, you have the header. But it says nothing about whether -lGLU was >>> found, and that's where your problems are. >>> Also, that's configure output, not config.log output (which has a >>> transcript of the tests, not just the summary). >>> >>> >> ### Relevant lines that include "-lGL" or "-lGLU" in config.log ### >> configure:4634: checking for GL library >> configure:4670: gcc -o conftest -g -O2 conftest.c -lGL -lm >&5 >> configure:4676: $? = 0 >> configure:4696: result: -lGL -lm >> configure:4773: checking for GLU library >> configure:4809: gcc -o conftest -g -O2 conftest.c -lglu32 -lGL -lm >> >&5 >> /usr/bin/ld: cannot find -lglu32 >> collect2: ld returned 1 exit status >> configure:4815: $? = 1 >> configure: failed program was: >> | /* confdefs.h. */ >> | #define PACKAGE_NAME "Haskell OpenGL package" >> | #define PACKAGE_TARNAME "OpenGL" >> | #define PACKAGE_VERSION "2.2.1" >> | #define PACKAGE_STRING "Haskell OpenGL package 2.2.1" >> | #define PACKAGE_BUGREPORT "sven.panne at aedion.de" >> | /* end confdefs.h. */ >> | #include <GL/glu.h> >> | int >> | main () >> | { >> | gluNewQuadric() >> | ; >> | return 0; >> | } >> configure:4809: gcc -o conftest -g -O2 conftest.c -lGLU -lGL -lm >&5 >> configure:4815: $? = 0 >> configure:4835: result: -lGLU -lGL -lm >> ... >> fp_cv_check_GLU_lib='-lGLU -lGL -lm ' >> fp_cv_check_GL_lib='-lGL -lm ' >> ... >> GLU_LIBS=' -lGLU -lGL -lm ' >> ... >> GL_LIBS=' -lGL -lm ' >> ... >> #define GLU_LIBS "-lGLU" ,"-lGL" ,"-lm" >> ######################################## >> >> It seems like the OpenGL and GLUT libraries are found (after -lglu32 >> fails, I am using Debian Linux). I am not sure what to try now. >> >> Thank you for the help. :) >> __ >> Donnie >> >> > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://www.haskell.org/pipermail/haskell-cafe/attachments/20080920/b717e7fb/attachment.htm
More information about the Haskell-Cafe mailing list