
Solved!
In case anyone has similar problems, here's what I did.
Somehow my LDFLAGS were unset.
With LDFLAGS='-L/usr/X11R6/lib -L/usr/local/lib' it passed
that test, but still failed in a similar fashion at the next one.
In short, I had to install the GLUT library which is not
part of the system (see graphics/freeglut and graphics/glut).
Also, here are the env vars I had exported at the time of
my ./configure'ing:
CFLAGS='-I/usr/local/include -I/usr/X11R6/include -I/usr/include'
CPPFLAGS='-I/usr/X11R6/include -I/usr/local/include -I/usr/include'
LDFLAGS='-L/usr/X11R6/lib -L/usr/local/lib -L/usr/lib'
LD_LIBRARY_PATH=/usr/local/include:/usr/X11R6/include
LIBS=-lm
AUTOCONF_VERSION=2.62
AUTOMAKE_VERSION=1.9
Hope this helps.
Cheers.
On Wed, Mar 17, 2010 at 1:29 AM, Thanos Tsouanas
Hello.
I have successfully compiled ghc-6.10.4 on OpenBSD on i386. I have downloaded the Haskell Platform tarball, but ./configure fails:
[ ... ] checking GL/gl.h usability... yes checking GL/gl.h presence... yes checking for GL/gl.h... yes checking for library containing glEnd... no configure: error: The OpenGL C library is required
Looking into GL/gl.h, I see that the function glEnd is there:
GLAPI void GLAPIENTRY glEnd( void );
My system's GL/gl.h seems to be v7.4: * Mesa 3-D graphics library * Version: 7.4
My config.log states the following, regarding OpenGL:
[ ...lots of passed tests... ] configure:4247: checking GL/gl.h usability configure:4264: gcc -c -g -O2 -I/usr/X11R6/include -I/usr/local/include conftest.c >&5 configure:4271: $? = 0 configure:4285: result: yes configure:4289: checking GL/gl.h presence configure:4304: gcc -E -I/usr/X11R6/include -I/usr/local/include conftest.c configure:4311: $? = 0 configure:4325: result: yes configure:4353: checking for GL/gl.h configure:4360: result: yes configure:4373: checking for library containing glEnd configure:4414: gcc -o conftest -g -O2 -I/usr/X11R6/include -I/usr/local/include conftest.c -lz > &5 /tmp//ccanY01U.o(.text+0x12): In function `main': /home/thanos/third/haskell/platform-6.10.4/haskell-platform-2009.2.0.2/conftest.c:30: undefined ref erence to `glEnd' collect2: ld returned 1 exit status configure:4421: $? = 1 configure: failed program was: | /* confdefs.h. */ | #define PACKAGE_NAME "haskell-platform" | #define PACKAGE_TARNAME "haskell-platform" | #define PACKAGE_VERSION "2009.2.0.2" | #define PACKAGE_STRING "haskell-platform 2009.2.0.2" | #define PACKAGE_BUGREPORT "" | #define STDC_HEADERS 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_SYS_STAT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_MEMORY_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_UNISTD_H 1 | #define HAVE_LIBZ 1 | /* end confdefs.h. */ | | /* Override any GCC internal prototype to avoid an error. | Use char because int might match the return type of a GCC | builtin and then its argument prototype would still apply. */ | #ifdef __cplusplus | extern "C" | #endif | char glEnd (); | int | main () | { | return glEnd (); | ; | return 0; | }
Now, I may not be a C programmer, but is this even supposed to work? Testing this program is weird:
conftest.c:5: error: conflicting types for `glEnd' /usr/X11R6/include/GL/gl.h:957: error: previous declaration of `glEnd'
Which was expected, since glEnd is defined to return void in GL/gl.h, so I tried to delete that function declaration from this .c file, and I got:
conftest.c: In function `main': conftest.c:8: error: void value not ignored as it ought to be
Ok, this was expected, so I tried to delete the "return" and I got this final error:
/tmp//ccq1Rmj0.o(.text+0x19): In function `main': : undefined reference to `glEnd' collect2: ld returned 1 exit status
Please let me know if you have any ideas on how to procede with the installation of Haskell Platform.
Thanks in advance.
-- Thanos Tsouanas http://mpla.math.uoa.gr/~thanos/