[HOpenGL] Problem compiling HOpenGL

Sumskas, Peter (Peter) peters@avaya.com
Fri, 1 Aug 2003 13:19:03 +1000


Hi there.=20

I'm new to both Haskell and to HOpenGL. I've been following the
instructions on how to do the installation under windows and I've done
the following things:

. followed all the instructions
. copied glut.h from /usr/include/GL to
/cygdrive/c/gch/ghc-6.0/include/mingw/GL (found out about this from
searching the archives).
. then I ran into the problem about "Cannot locate utf8.pm".

I've seen some mail about this but no resolution to the issue. I know it
isn't directly related to HOpenGL (more a GHC/perl issue) but since the
only other occurrence of this I can find was related to HOpenGl I was
wondering if anyone else knows what I need to do.

System configuration:

. P4 Windows XP
. cygwin (perl 5.8.1)
. greencard 3.00
. ghc 6.00
. HOpenGL 1.04


Here's the output from trying to compile:

--

$ make
------------------------------------------------------------------------
Recursively making `all' in lib examples ...
PWD =3D /opt/HOpenGL-1.04
------------------------------------------------------------------------
------------------------------------------------------------------------
make all - --unix;
in /opt/HOpenGL-1.04/lib
------------------------------------------------------------------------
rm -f GL_Marshal.o ; if [ ! -d GL_Marshal_split ]; then mkdir
GL_Marshal_split;
else find GL_Marshal_split -name '*.o' -print | xargs -s 8000 rm -f
__rm_food ;
fi ;
"/cygdrive/c/ghc/ghc-6.0/bin/ghc" -package lang -package-name HOpenGL
-i../GLUT
-I../GLUT/include -cpp -DCALLCONV=3Dstdcall -split-objs -odir
GL_Marshal_split -fg
lasgow-exts   "-#include <GL/glut.h>" -O   -c GL_Marshal.hs -o
GL_Marshal.o
Can't locate utf8.pm in @INC (@INC contains: .) at
c:\ghc\ghc-6.0\ghc-split line
 51, <TMPI> line 7.
BEGIN failed--compilation aborted, <TMPI> line 7.
make[1]: *** [GL_Marshal.o] Error 2
make: *** [all] Error 1

--


So as far as I can tell @INC isn't being set right. When I ask perl from
the command line it tells me:

--

$ perl -V
Summary of my perl5 (revision 5.0 version 8 subversion 0) configuration:
  Platform:
    osname=3Dcygwin, osvers=3D1.3.22(0.7832), =
archname=3Dcygwin-multi-64int
    uname=3D'cygwin_nt-4.0 iokaste 1.3.22(0.7832) 2003-03-18 09:20 i686
unknown un
known cygwin '
    config_args=3D'-de -Dmksymlinks -Dusemultiplicity -Duse64bitint
-Doptimize=3D-O3
 -Dman3ext=3D3pm'
    hint=3Drecommended, useposix=3Dtrue, d_sigaction=3Ddefine
    usethreads=3Dundef use5005threads=3Dundef useithreads=3Dundef
usemultiplicity=3Ddefi
ne
    useperlio=3Ddefine d_sfio=3Dundef uselargefiles=3Ddefine =
usesocks=3Dundef
    use64bitint=3Ddefine use64bitall=3Dundef uselongdouble=3Dundef
    usemymalloc=3Dy, bincompat5005=3Dundef
  Compiler:
    cc=3D'gcc', ccflags =3D'-DPERL_USE_SAFE_PUTENV =
-fno-strict-aliasing',
    optimize=3D'-O3',
    cppflags=3D'-DPERL_USE_SAFE_PUTENV -fno-strict-aliasing'
    ccversion=3D'', gccversion=3D'3.2.3 (home grown)', gccosandvers=3D''
    intsize=3D4, longsize=3D4, ptrsize=3D4, doublesize=3D8, =
byteorder=3D12345678
    d_longlong=3Ddefine, longlongsize=3D8, d_longdbl=3Ddefine, =
longdblsize=3D12
    ivtype=3D'long long', ivsize=3D8, nvtype=3D'double', nvsize=3D8,
Off_t=3D'off_t', lsee
ksize=3D4
    alignbytes=3D8, prototype=3Ddefine
  Linker and Libraries:
    ld=3D'ld2', ldflags =3D' -s -L/usr/local/lib'
    libpth=3D/usr/local/lib /usr/lib /lib
    libs=3D-lgdbm -ldb -lcrypt -lutil -lgdbm_compat
    perllibs=3D-lcrypt -lutil -lgdbm_compat
    libc=3D/usr/lib/libc.a, so=3Ddll, useshrplib=3Dtrue, =
libperl=3Dlibperl.a
    gnulibc_version=3D''
  Dynamic Linking:
    dlsrc=3Ddl_dlopen.xs, dlext=3Ddll, d_dlsymun=3Dundef, ccdlflags=3D' =
-s'
    cccdlflags=3D' ', lddlflags=3D' -s -L/usr/local/lib'


Characteristics of this binary (from libperl):
  Compile-time options: MULTIPLICITY USE_64_BIT_INT USE_LARGE_FILES
PERL_IMPLICI
T_CONTEXT
  Built under cygwin
  Compiled at Jun  2 2003 13:55:45
  %ENV:
    CYGWIN=3D""
  @INC:
    /usr/lib/perl5/5.8.0/cygwin-multi-64int
    /usr/lib/perl5/5.8.0
    /usr/lib/perl5/site_perl/5.8.0/cygwin-multi-64int
    /usr/lib/perl5/site_perl/5.8.0
    /usr/lib/perl5/site_perl
    .

--

So it seems like something is breaking @INC. Unfortunately I don't know
perl and have no idea how it is being invoked from ghc so I'm pretty
much stuck as to where to look next.

Any help would be appreciated.

Regards,

Peter Sumskas.

"Tomorrow do thy worst! For I have liv'd today." - Horace