[HOpenGL] Linker problem compiling HOpenGL code

Michael Pye mail at mdpye.co.uk
Wed Feb 2 12:57:32 EST 2005


I am trying to compile a simple example programme with ghc-6.2.2. The 
programme compiles OK and I'm left with object code, but the linker fails.

GHC was compiled from source, and the linker works with other compilers.
The full output of ghc -v is attached.

Can anyone shed any light on this problem?

Thanks in advance,

MP
-------------- next part --------------
mp at gremlin hopengl examples $ ghc -v Planet2.hs &> planet2-output
Glasgow Haskell Compiler, Version 6.2.2, for Haskell 98, compiled by GHC version 6.2
Using package config file: /usr/lib/ghc-6.2.2/package.conf

==================== Packages ====================
Package
   {name = "data",
    auto = False,
    import_dirs = ["/usr/lib/ghc-6.2.2/hslibs-imports/data"],
    source_dirs = [],
    library_dirs = ["/usr/lib/ghc-6.2.2"],
    hs_libraries = ["HSdata"],
    extra_libraries = [],
    include_dirs = [],
    c_includes = [],
    package_deps = ["haskell98", "lang", "util"],
    extra_ghc_opts = [],
    extra_cc_opts = [],
    extra_ld_opts = [],
    framework_dirs = [],
    extra_frameworks = []}
Package
   {name = "rts",
    auto = False,
    import_dirs = [],
    source_dirs = [],
    library_dirs = ["/usr/lib/ghc-6.2.2"],
    hs_libraries = ["HSrts"],
    extra_libraries = ["m", "gmp", "dl"],
    include_dirs = ["/usr/lib/ghc-6.2.2/include"],
    c_includes = ["Stg.h"],
    package_deps = [],
    extra_ghc_opts = [],
    extra_cc_opts = [],
    extra_ld_opts =
      ["-u",
       "GHCziBase_Izh_static_info",
       "-u",
       "GHCziBase_Czh_static_info",
       "-u",
       "GHCziFloat_Fzh_static_info",
       "-u",
       "GHCziFloat_Dzh_static_info",
       "-u",
       "GHCziPtr_Ptr_static_info",
       "-u",
       "GHCziWord_Wzh_static_info",
       "-u",
       "GHCziInt_I8zh_static_info",
       "-u",
       "GHCziInt_I16zh_static_info",
       "-u",
       "GHCziInt_I32zh_static_info",
       "-u",
       "GHCziInt_I64zh_static_info",
       "-u",
       "GHCziWord_W8zh_static_info",
       "-u",
       "GHCziWord_W16zh_static_info",
       "-u",
       "GHCziWord_W32zh_static_info",
       "-u",
       "GHCziWord_W64zh_static_info",
       "-u",
       "GHCziStable_StablePtr_static_info",
       "-u",
       "GHCziBase_Izh_con_info",
       "-u",
       "GHCziBase_Czh_con_info",
       "-u",
       "GHCziFloat_Fzh_con_info",
       "-u",
       "GHCziFloat_Dzh_con_info",
       "-u",
       "GHCziPtr_Ptr_con_info",
       "-u",
       "GHCziPtr_FunPtr_con_info",
       "-u",
       "GHCziStable_StablePtr_con_info",
       "-u",
       "GHCziBase_False_closure",
       "-u",
       "GHCziBase_True_closure",
       "-u",
       "GHCziPack_unpackCString_closure",
       "-u",
       "GHCziIOBase_stackOverflow_closure",
       "-u",
       "GHCziIOBase_heapOverflow_closure",
       "-u",
       "GHCziIOBase_NonTermination_closure",
       "-u",
       "GHCziIOBase_BlockedOnDeadMVar_closure",
       "-u",
       "GHCziIOBase_Deadlock_closure",
       "-u",
       "GHCziWeak_runFinalizzerBatch_closure",
       "-u",
       "__stginit_Prelude"],
    framework_dirs = [],
    extra_frameworks = []}
Package
   {name = "base",
    auto = True,
    import_dirs = ["/usr/lib/ghc-6.2.2/imports"],
    source_dirs = [],
    library_dirs = ["/usr/lib/ghc-6.2.2"],
    hs_libraries = ["HSbase"],
    extra_libraries = ["HSbase_cbits"],
    include_dirs = [],
    c_includes = ["HsBase.h"],
    package_deps = ["rts"],
    extra_ghc_opts = [],
    extra_cc_opts = [],
    extra_ld_opts = [],
    framework_dirs = [],
    extra_frameworks = []}
Package
   {name = "haskell98",
    auto = True,
    import_dirs = ["/usr/lib/ghc-6.2.2/imports"],
    source_dirs = [],
    library_dirs = ["/usr/lib/ghc-6.2.2"],
    hs_libraries = ["HShaskell98"],
    extra_libraries = [],
    include_dirs = [],
    c_includes = [],
    package_deps = ["base"],
    extra_ghc_opts = [],
    extra_cc_opts = [],
    extra_ld_opts = [],
    framework_dirs = [],
    extra_frameworks = []}
Package
   {name = "haskell-src",
    auto = True,
    import_dirs = ["/usr/lib/ghc-6.2.2/imports"],
    source_dirs = [],
    library_dirs = ["/usr/lib/ghc-6.2.2"],
    hs_libraries = ["HShaskell-src"],
    extra_libraries = [],
    include_dirs = [],
    c_includes = [],
    package_deps = ["base", "haskell98"],
    extra_ghc_opts = [],
    extra_cc_opts = [],
    extra_ld_opts = [],
    framework_dirs = [],
    extra_frameworks = []}
Package
   {name = "network",
    auto = True,
    import_dirs = ["/usr/lib/ghc-6.2.2/imports"],
    source_dirs = [],
    library_dirs = ["/usr/lib/ghc-6.2.2"],
    hs_libraries = ["HSnetwork"],
    extra_libraries = [],
    include_dirs = [],
    c_includes = ["HsNet.h"],
    package_deps = ["base"],
    extra_ghc_opts = [],
    extra_cc_opts = [],
    extra_ld_opts = [],
    framework_dirs = [],
    extra_frameworks = []}
Package
   {name = "parsec",
    auto = True,
    import_dirs = ["/usr/lib/ghc-6.2.2/imports"],
    source_dirs = [],
    library_dirs = ["/usr/lib/ghc-6.2.2"],
    hs_libraries = ["HSparsec"],
    extra_libraries = [],
    include_dirs = [],
    c_includes = [],
    package_deps = ["base"],
    extra_ghc_opts = [],
    extra_cc_opts = [],
    extra_ld_opts = [],
    framework_dirs = [],
    extra_frameworks = []}
Package
   {name = "QuickCheck",
    auto = True,
    import_dirs = ["/usr/lib/ghc-6.2.2/imports"],
    source_dirs = [],
    library_dirs = ["/usr/lib/ghc-6.2.2"],
    hs_libraries = ["HSQuickCheck"],
    extra_libraries = [],
    include_dirs = [],
    c_includes = [],
    package_deps = ["base"],
    extra_ghc_opts = [],
    extra_cc_opts = [],
    extra_ld_opts = [],
    framework_dirs = [],
    extra_frameworks = []}
Package
   {name = "readline",
    auto = True,
    import_dirs = ["/usr/lib/ghc-6.2.2/imports"],
    source_dirs = [],
    library_dirs = ["/usr/lib/ghc-6.2.2"],
    hs_libraries = ["HSreadline"],
    extra_libraries = ["readline", "ncurses"],
    include_dirs = [],
    c_includes = ["HsReadline.h"],
    package_deps = ["base"],
    extra_ghc_opts = [],
    extra_cc_opts = [],
    extra_ld_opts = [],
    framework_dirs = [],
    extra_frameworks = []}
Package
   {name = "OpenGL",
    auto = True,
    import_dirs = ["/usr/lib/ghc-6.2.2/imports"],
    source_dirs = [],
    library_dirs = ["/usr/lib/ghc-6.2.2"],
    hs_libraries = ["HSOpenGL"],
    extra_libraries = ["HSOpenGL_cbits"],
    include_dirs = [],
    c_includes = ["HsOpenGL.h"],
    package_deps = ["base"],
    extra_ghc_opts = [],
    extra_cc_opts = ["-I/usr/X11R6/include"],
    extra_ld_opts =
      ["-lGLU",
       "-lGL",
       "-L/usr/X11R6/lib",
       "-lSM",
       "-lICE",
       "-lXext",
       "-lX11",
       "-lm"],
    framework_dirs = [],
    extra_frameworks = []}
Package
   {name = "GLUT",
    auto = True,
    import_dirs = ["/usr/lib/ghc-6.2.2/imports"],
    source_dirs = [],
    library_dirs = ["/usr/lib/ghc-6.2.2"],
    hs_libraries = ["HSGLUT"],
    extra_libraries = ["HSGLUT_cbits"],
    include_dirs = [],
    c_includes = ["HsGLUT.h"],
    package_deps = ["base", "OpenGL"],
    extra_ghc_opts = [],
    extra_cc_opts = ["-I/usr/X11R6/include"],
    extra_ld_opts =
      ["-lglut",
       "-lGLU",
       "-lGL",
       "-L/usr/X11R6/lib",
       "-lSM",
       "-lICE",
       "-lXmu",
       "-lXt",
       "-lXi",
       "-lXext",
       "-lX11",
       "-lm"],
    framework_dirs = [],
    extra_frameworks = []}
Package
   {name = "unix",
    auto = True,
    import_dirs = ["/usr/lib/ghc-6.2.2/imports"],
    source_dirs = [],
    library_dirs = ["/usr/lib/ghc-6.2.2"],
    hs_libraries = ["HSunix"],
    extra_libraries = ["HSunix_cbits", "dl"],
    include_dirs = [],
    c_includes = ["HsUnix.h"],
    package_deps = ["base"],
    extra_ghc_opts = [],
    extra_cc_opts = [],
    extra_ld_opts = [],
    framework_dirs = [],
    extra_frameworks = []}
Package
   {name = "lang",
    auto = False,
    import_dirs = ["/usr/lib/ghc-6.2.2/hslibs-imports/lang"],
    source_dirs = [],
    library_dirs = ["/usr/lib/ghc-6.2.2"],
    hs_libraries = ["HSlang"],
    extra_libraries = ["HSlang_cbits"],
    include_dirs = [],
    c_includes = ["HsLang.h"],
    package_deps = ["base"],
    extra_ghc_opts = [],
    extra_cc_opts = [],
    extra_ld_opts = [],
    framework_dirs = [],
    extra_frameworks = []}
Package
   {name = "concurrent",
    auto = False,
    import_dirs = ["/usr/lib/ghc-6.2.2/hslibs-imports/concurrent"],
    source_dirs = [],
    library_dirs = ["/usr/lib/ghc-6.2.2"],
    hs_libraries = ["HSconcurrent"],
    extra_libraries = [],
    include_dirs = [],
    c_includes = [],
    package_deps = ["base"],
    extra_ghc_opts = [],
    extra_cc_opts = [],
    extra_ld_opts = [],
    framework_dirs = [],
    extra_frameworks = []}
Package
   {name = "posix",
    auto = False,
    import_dirs = ["/usr/lib/ghc-6.2.2/hslibs-imports/posix"],
    source_dirs = [],
    library_dirs = ["/usr/lib/ghc-6.2.2"],
    hs_libraries = ["HSposix"],
    extra_libraries = ["HSposix_cbits", "dl"],
    include_dirs = [],
    c_includes = ["HsPosix.h"],
    package_deps = ["lang", "unix"],
    extra_ghc_opts = [],
    extra_cc_opts = [],
    extra_ld_opts = [],
    framework_dirs = [],
    extra_frameworks = []}
Package
   {name = "util",
    auto = False,
    import_dirs = ["/usr/lib/ghc-6.2.2/hslibs-imports/util"],
    source_dirs = [],
    library_dirs = ["/usr/lib/ghc-6.2.2"],
    hs_libraries = ["HSutil"],
    extra_libraries = ["HSutil_cbits"],
    include_dirs = [],
    c_includes = ["HsUtil.h"],
    package_deps =
      ["lang", "concurrent", "QuickCheck", "readline", "posix"],
    extra_ghc_opts = [],
    extra_cc_opts = [],
    extra_ld_opts = [],
    framework_dirs = [],
    extra_frameworks = []}
Package
   {name = "text",
    auto = False,
    import_dirs = ["/usr/lib/ghc-6.2.2/hslibs-imports/text"],
    source_dirs = [],
    library_dirs = ["/usr/lib/ghc-6.2.2"],
    hs_libraries = ["HStext"],
    extra_libraries = [],
    include_dirs = [],
    c_includes = [],
    package_deps = ["lang", "parsec"],
    extra_ghc_opts = [],
    extra_cc_opts = [],
    extra_ld_opts = [],
    framework_dirs = [],
    extra_frameworks = []}
Package
   {name = "net",
    auto = False,
    import_dirs = ["/usr/lib/ghc-6.2.2/hslibs-imports/net"],
    source_dirs = [],
    library_dirs = ["/usr/lib/ghc-6.2.2"],
    hs_libraries = ["HSnet"],
    extra_libraries = [],
    include_dirs = [],
    c_includes = [],
    package_deps = ["network"],
    extra_ghc_opts = [],
    extra_cc_opts = [],
    extra_ld_opts = [],
    framework_dirs = [],
    extra_frameworks = []}
Package
   {name = "hssource",
    auto = False,
    import_dirs = ["/usr/lib/ghc-6.2.2/hslibs-imports/hssource"],
    source_dirs = [],
    library_dirs = ["/usr/lib/ghc-6.2.2"],
    hs_libraries = ["HShssource"],
    extra_libraries = [],
    include_dirs = [],
    c_includes = [],
    package_deps = ["haskell-src"],
    extra_ghc_opts = [],
    extra_cc_opts = [],
    extra_ld_opts = [],
    framework_dirs = [],
    extra_frameworks = []}


Hsc static flags: -static
*** Checking old interface for Main:
compilation IS NOT required
*** Touching object file
touch Planet2.o
*** Linker
gcc -v -o a.out -DDONT_WANT_WIN32_DLL_SUPPORT Planet2.o -L/usr/lib/ghc-6.2.2 -lHShaskell98 -lHSbase -lHSbase_cbits -lHSrts -lm -lgmp -ldl -u GHCziBase_Izh_static_info -u GHCziBase_Czh_static_info -u GHCziFloat_Fzh_static_info -u GHCziFloat_Dzh_static_info -u GHCziPtr_Ptr_static_info -u GHCziWord_Wzh_static_info -u GHCziInt_I8zh_static_info -u GHCziInt_I16zh_static_info -u GHCziInt_I32zh_static_info -u GHCziInt_I64zh_static_info -u GHCziWord_W8zh_static_info -u GHCziWord_W16zh_static_info -u GHCziWord_W32zh_static_info -u GHCziWord_W64zh_static_info -u GHCziStable_StablePtr_static_info -u GHCziBase_Izh_con_info -u GHCziBase_Czh_con_info -u GHCziFloat_Fzh_con_info -u GHCziFloat_Dzh_con_info -u GHCziPtr_Ptr_con_info -u GHCziPtr_FunPtr_con_info -u GHCziStable_StablePtr_con_info -u GHCziBase_False_closure -u GHCziBase_True_closure -u GHCziPack_unpackCString_closure -u GHCziIOBase_stackOverflow_closure -u GHCziIOBase_heapOverflow_closure -u GHCziIOBase_NonTermination_closure -u GHCziIOBase_BlockedOnDeadMVar_closure -u GHCziIOBase_Deadlock_closure -u GHCziWeak_runFinalizzerBatch_closure -u __stginit_Prelude
Reading specs from /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.5/specs
Configured with: /var/tmp/portage/gcc-3.3.5-r1/work/gcc-3.3.5/configure --enable-version-specific-runtime-libs --prefix=/usr --bindir=/usr/i686-pc-linux-gnu/gcc-bin/3.3.5 --includedir=/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.5/include --datadir=/usr/share/gcc-data/i686-pc-linux-gnu/3.3.5 --mandir=/usr/share/gcc-data/i686-pc-linux-gnu/3.3.5/man --infodir=/usr/share/gcc-data/i686-pc-linux-gnu/3.3.5/info --with-gxx-include-dir=/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.5/include/g++-v3 --host=i686-pc-linux-gnu --disable-altivec --disable-nls --enable-__cxa_atexit --enable-clocale=gnu --with-system-zlib --disable-checking --disable-werror --disable-libunwind-exceptions --enable-shared --enable-threads=posix --disable-libgcj --enable-languages=c,c++,f77
Thread model: posix
gcc version 3.3.5  (Gentoo Linux 3.3.5-r1, ssp-3.3.2-3, pie-8.7.7.1)
 /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.5/collect2 --eh-frame-hdr -m elf_i386 -dynamic-linker /lib/ld-linux.so.2 -o a.out -u GHCziBase_Izh_static_info -u GHCziBase_Czh_static_info -u GHCziFloat_Fzh_static_info -u GHCziFloat_Dzh_static_info -u GHCziPtr_Ptr_static_info -u GHCziWord_Wzh_static_info -u GHCziInt_I8zh_static_info -u GHCziInt_I16zh_static_info -u GHCziInt_I32zh_static_info -u GHCziInt_I64zh_static_info -u GHCziWord_W8zh_static_info -u GHCziWord_W16zh_static_info -u GHCziWord_W32zh_static_info -u GHCziWord_W64zh_static_info -u GHCziStable_StablePtr_static_info -u GHCziBase_Izh_con_info -u GHCziBase_Czh_con_info -u GHCziFloat_Fzh_con_info -u GHCziFloat_Dzh_con_info -u GHCziPtr_Ptr_con_info -u GHCziPtr_FunPtr_con_info -u GHCziStable_StablePtr_con_info -u GHCziBase_False_closure -u GHCziBase_True_closure -u GHCziPack_unpackCString_closure -u GHCziIOBase_stackOverflow_closure -u GHCziIOBase_heapOverflow_closure -u GHCziIOBase_NonTermination_closure -u GHCziIOBase_BlockedOnDeadMVar_closure -u GHCziIOBase_Deadlock_closure -u GHCziWeak_runFinalizzerBatch_closure -u __stginit_Prelude /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.5/../../../crt1.o /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.5/../../../crti.o /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.5/crtbegin.o -L/usr/lib/ghc-6.2.2 -L/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.5 -L/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.5/../../../../i686-pc-linux-gnu/lib -L/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.5/../../.. Planet2.o -lHShaskell98 -lHSbase -lHSbase_cbits -lHSrts -lm -lgmp -ldl -lgcc -lgcc_eh -lc -lgcc -lgcc_eh /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.5/crtend.o /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.5/../../../crtn.o
Planet2.o(.text+0x25): In function `__stginit_Main_':
: undefined reference to `__stginit_GraphicsziUIziGLUT_'
Planet2.o(.text+0x4e4): In function `r4IC_srt':
: undefined reference to `GraphicsziRenderingziOpenGLziGLziVertexSpec_zdfColorColor3_closure'
Planet2.o(.text+0x4e8): In function `r4IC_srt':
: undefined reference to `GraphicsziRenderingziOpenGLziGLziVertexSpec_zdfColorComponentFloat_closure'
Planet2.o(.text+0x53e): In function `r4IC_entry':
: undefined reference to `GraphicsziRenderingziOpenGLziGLziVertexSpec_zdfColorComponentFloat_closure'
Planet2.o(.text+0x543): In function `r4IC_entry':
: undefined reference to `GraphicsziRenderingziOpenGLziGLziVertexSpec_zdfColorColor3_closure'
Planet2.o(.text+0xa08): In function `Main_myInit_srt':
: undefined reference to `GraphicsziRenderingziOpenGLziGLziFramebuffer_clearColor_closure'
Planet2.o(.text+0xa0c): In function `Main_myInit_srt':
: undefined reference to `GraphicsziRenderingziOpenGLziGLziColors_shadeModel_closure'
Planet2.o(.text+0xa10): In function `Main_myInit_srt':
: undefined reference to `GraphicsziRenderingziOpenGLziGLziStateVar_zdfHasSetterStateVar_closure'
Planet2.o(.text+0xa3c): In function `s4Md_entry':
: undefined reference to `GraphicsziRenderingziOpenGLziGLziColors_Flat_closure'
Planet2.o(.text+0xa43): In function `s4Md_entry':
: undefined reference to `GraphicsziRenderingziOpenGLziGLziColors_shadeModel_closure'
Planet2.o(.text+0xa48): In function `s4Md_entry':
: undefined reference to `GraphicsziRenderingziOpenGLziGLziStateVar_zdfHasSetterStateVar_closure'
Planet2.o(.text+0xa87): In function `s4Mb_entry':
: undefined reference to `GraphicsziRenderingziOpenGLziGLziVertexSpec_Color4_con_info'
Planet2.o(.text+0xaaf): In function `s4Mb_entry':
: undefined reference to `GraphicsziRenderingziOpenGLziGLziFramebuffer_clearColor_closure'
Planet2.o(.text+0xab4): In function `s4Mb_entry':
: undefined reference to `GraphicsziRenderingziOpenGLziGLziStateVar_zdfHasSetterStateVar_closure'
Planet2.o(.text+0xb64): In function `Main_display_srt':
: undefined reference to `GraphicsziRenderingziOpenGLziGLziFramebuffer_clear_closure'
Planet2.o(.text+0xb68): In function `Main_display_srt':
: undefined reference to `GraphicsziRenderingziOpenGLziGLziCoordTrans_preservingMatrix_closure'
Planet2.o(.text+0xb6c): In function `Main_display_srt':
: undefined reference to `GraphicsziUIziGLUTziObjects_renderObject_closure'
Planet2.o(.text+0xb74): In function `Main_display_srt':
: undefined reference to `GraphicsziUIziGLUTziWindow_swapBuffers_closure'
Planet2.o(.text+0xb7c): In function `Main_display_srt':
: undefined reference to `GraphicsziRenderingziOpenGLziGLziCoordTrans_zdfMatrixComponentFloat_closure'
Planet2.o(.text+0xc0e): In function `s4NH_entry':
: undefined reference to `GraphicsziUIziGLUTziObjects_Spherezq_con_info'
Planet2.o(.text+0xc2e): In function `s4NH_entry':
: undefined reference to `GraphicsziUIziGLUTziObjects_Wireframe_closure'
Planet2.o(.text+0xc33): In function `s4NH_entry':
: undefined reference to `GraphicsziUIziGLUTziObjects_renderObject_closure'
Planet2.o(.text+0xca5): In function `s4VY_ret':
: undefined reference to `GraphicsziRenderingziOpenGLziGLziCoordTrans_Vector3_con_info'
Planet2.o(.text+0xd0c): In function `s4NB_entry':
: undefined reference to `GraphicsziRenderingziOpenGLziGLziCoordTrans_zdfMatrixComponentFloat_closure'
Planet2.o(.text+0xe2d): In function `s4W7_ret':
: undefined reference to `GraphicsziRenderingziOpenGLziGLziCoordTrans_Vector3_con_info'
Planet2.o(.text+0xe7a): In function `s4Nf_entry':
: undefined reference to `GraphicsziRenderingziOpenGLziGLziCoordTrans_zdfMatrixComponentFloat_closure'
Planet2.o(.text+0xf49): In function `s4Wg_ret':
: undefined reference to `GraphicsziRenderingziOpenGLziGLziCoordTrans_Vector3_con_info'
Planet2.o(.text+0xfb0): In function `s4N0_entry':
: undefined reference to `GraphicsziRenderingziOpenGLziGLziCoordTrans_zdfMatrixComponentFloat_closure'
Planet2.o(.text+0x1125): In function `s4ME_entry':
: undefined reference to `GraphicsziUIziGLUTziObjects_Spherezq_con_info'
Planet2.o(.text+0x1145): In function `s4ME_entry':
: undefined reference to `GraphicsziUIziGLUTziObjects_Wireframe_closure'
Planet2.o(.text+0x114a): In function `s4ME_entry':
: undefined reference to `GraphicsziUIziGLUTziObjects_renderObject_closure'
Planet2.o(.text+0x122d): In function `s4NX_entry':
: undefined reference to `GraphicsziRenderingziOpenGLziGLziCoordTrans_preservingMatrix_closure'
Planet2.o(.text+0x128d): In function `s4NZ_entry':
: undefined reference to `GraphicsziUIziGLUTziWindow_swapBuffers_closure'
Planet2.o(.text+0x12c1): In function `s4Wp_ret':
: undefined reference to `GraphicsziRenderingziOpenGLziGLziVertexSpec_Color3_con_info'
Planet2.o(.text+0x13ca): In function `s4Mq_entry':
: undefined reference to `GraphicsziRenderingziOpenGLziGLziFramebuffer_ColorBuffer_closure'
Planet2.o(.text+0x13db): In function `s4Mq_entry':
: undefined reference to `GraphicsziRenderingziOpenGLziGLziFramebuffer_clear_closure'
Planet2.o(.text+0x1474): In function `Main_reshape_srt':
: undefined reference to `GraphicsziRenderingziOpenGLziGLziCoordTrans_viewport_closure'
Planet2.o(.text+0x1478): In function `Main_reshape_srt':
: undefined reference to `GraphicsziRenderingziOpenGLziGLziCoordTrans_matrixMode_closure'
Planet2.o(.text+0x147c): In function `Main_reshape_srt':
: undefined reference to `GraphicsziRenderingziOpenGLziGLziCoordTrans_loadIdentity_closure'
Planet2.o(.text+0x1480): In function `Main_reshape_srt':
: undefined reference to `GraphicsziRenderingziOpenGLziGLUziMatrix_perspective_closure'
Planet2.o(.text+0x1484): In function `Main_reshape_srt':
: undefined reference to `GraphicsziRenderingziOpenGLziGLUziMatrix_lookAt_closure'
Planet2.o(.text+0x1488): In function `Main_reshape_srt':
: undefined reference to `GraphicsziRenderingziOpenGLziGLziStateVar_zdfHasSetterStateVar_closure'
Planet2.o(.text+0x14cf): In function `s4OT_entry':
: undefined reference to `GraphicsziRenderingziOpenGLziGLziCoordTrans_Vector3_con_info'
Planet2.o(.text+0x14eb): In function `s4OT_entry':
: undefined reference to `GraphicsziRenderingziOpenGLziGLziVertexSpec_Vertex3_con_info'
Planet2.o(.text+0x1507): In function `s4OT_entry':
: undefined reference to `GraphicsziRenderingziOpenGLziGLziVertexSpec_Vertex3_con_info'
Planet2.o(.text+0x1532): In function `s4OT_entry':
: undefined reference to `GraphicsziRenderingziOpenGLziGLUziMatrix_lookAt_closure'
Planet2.o(.text+0x1580): In function `s4OW_entry':
: undefined reference to `GraphicsziRenderingziOpenGLziGLziCoordTrans_loadIdentity_closure'
Planet2.o(.text+0x15c3): In function `s4OL_entry':
: undefined reference to `GraphicsziRenderingziOpenGLziGLziCoordTrans_Modelview_con_info'
Planet2.o(.text+0x15d6): In function `s4OL_entry':
: undefined reference to `GraphicsziRenderingziOpenGLziGLziCoordTrans_matrixMode_closure'
Planet2.o(.text+0x15db): In function `s4OL_entry':
: undefined reference to `GraphicsziRenderingziOpenGLziGLziStateVar_zdfHasSetterStateVar_closure'
Planet2.o(.text+0x17f0): In function `s4OH_entry':
: undefined reference to `GraphicsziRenderingziOpenGLziGLUziMatrix_perspective_closure'
Planet2.o(.text+0x18c5): In function `s4P2_entry':
: undefined reference to `GraphicsziRenderingziOpenGLziGLziCoordTrans_loadIdentity_closure'
Planet2.o(.text+0x18f8): In function `s4Ol_entry':
: undefined reference to `GraphicsziRenderingziOpenGLziGLziCoordTrans_Projection_closure'
Planet2.o(.text+0x18ff): In function `s4Ol_entry':
: undefined reference to `GraphicsziRenderingziOpenGLziGLziCoordTrans_matrixMode_closure'
Planet2.o(.text+0x1904): In function `s4Ol_entry':
: undefined reference to `GraphicsziRenderingziOpenGLziGLziStateVar_zdfHasSetterStateVar_closure'
Planet2.o(.text+0x19ab): In function `s4Oj_entry':
: undefined reference to `GraphicsziRenderingziOpenGLziGLziCoordTrans_Position_con_info'
Planet2.o(.text+0x19d8): In function `s4Oj_entry':
: undefined reference to `GraphicsziRenderingziOpenGLziGLziCoordTrans_viewport_closure'
Planet2.o(.text+0x19dd): In function `s4Oj_entry':
: undefined reference to `GraphicsziRenderingziOpenGLziGLziStateVar_zdfHasSetterStateVar_closure'
Planet2.o(.text+0x1aa4): In function `Main_keyboard_srt':
: undefined reference to `GraphicsziUIziGLUTziWindow_postRedisplay_closure'
Planet2.o(.text+0x1afd): In function `s4Qf_entry':
: undefined reference to `GraphicsziUIziGLUTziWindow_postRedisplay_closure'
Planet2.o(.text+0x1ced): In function `s4QY_entry':
: undefined reference to `GraphicsziUIziGLUTziWindow_postRedisplay_closure'
Planet2.o(.text+0x1edd): In function `s4RI_entry':
: undefined reference to `GraphicsziUIziGLUTziWindow_postRedisplay_closure'
Planet2.o(.text+0x20cd): In function `s4Sr_entry':
: undefined reference to `GraphicsziUIziGLUTziWindow_postRedisplay_closure'
Planet2.o(.text+0x2410): In function `Main_main_srt':
: undefined reference to `GraphicsziUIziGLUTziInitializzation_getArgsAndInitializze_closure'
Planet2.o(.text+0x2414): In function `Main_main_srt':
: undefined reference to `GraphicsziUIziGLUTziInitializzation_initialDisplayMode_closure'
Planet2.o(.text+0x2418): In function `Main_main_srt':
: undefined reference to `GraphicsziUIziGLUTziInitializzation_initialWindowSizze_closure'
Planet2.o(.text+0x241c): In function `Main_main_srt':
: undefined reference to `GraphicsziUIziGLUTziInitializzation_initialWindowPosition_closure'
Planet2.o(.text+0x2420): In function `Main_main_srt':
: undefined reference to `GraphicsziUIziGLUTziWindow_createWindow_closure'
Planet2.o(.text+0x2428): In function `Main_main_srt':
: undefined reference to `GraphicsziUIziGLUTziCallbacksziWindow_displayCallback_closure'
Planet2.o(.text+0x242c): In function `Main_main_srt':
: undefined reference to `GraphicsziUIziGLUTziCallbacksziWindow_reshapeCallback_closure'
Planet2.o(.text+0x2430): In function `Main_main_srt':
: undefined reference to `GraphicsziUIziGLUTziCallbacksziWindow_keyboardMouseCallback_closure'
Planet2.o(.text+0x2434): In function `Main_main_srt':
: undefined reference to `GraphicsziUIziGLUTziBegin_mainLoop_closure'
Planet2.o(.text+0x2438): In function `Main_main_srt':
: undefined reference to `GraphicsziRenderingziOpenGLziGLziStateVar_zdfHasSetterStateVar_closure'
Planet2.o(.text+0x243c): In function `Main_main_srt':
: undefined reference to `GraphicsziRenderingziOpenGLziGLziStateVar_zdfHasSetterSettableStateVar_closure'
Planet2.o(.text+0x2528): In function `s4Tn_entry':
: undefined reference to `GraphicsziUIziGLUTziCallbacksziWindow_keyboardMouseCallback_closure'
Planet2.o(.text+0x252d): In function `s4Tn_entry':
: undefined reference to `GraphicsziRenderingziOpenGLziGLziStateVar_zdfHasSetterSettableStateVar_closure'
Planet2.o(.text+0x2581): In function `s4Tq_entry':
: undefined reference to `GraphicsziUIziGLUTziBegin_mainLoop_closure'
Planet2.o(.text+0x25de): In function `s4Th_entry':
: undefined reference to `GraphicsziUIziGLUTziCallbacksziWindow_reshapeCallback_closure'
Planet2.o(.text+0x25e3): In function `s4Th_entry':
: undefined reference to `GraphicsziRenderingziOpenGLziGLziStateVar_zdfHasSetterSettableStateVar_closure'
Planet2.o(.text+0x26db): In function `s4Td_entry':
: undefined reference to `GraphicsziUIziGLUTziCallbacksziWindow_displayCallback_closure'
Planet2.o(.text+0x26e0): In function `s4Td_entry':
: undefined reference to `GraphicsziRenderingziOpenGLziGLziStateVar_zdfHasSetterSettableStateVar_closure'
Planet2.o(.text+0x290c): In function `s4T1_entry':
: undefined reference to `GraphicsziUIziGLUTziWindow_createWindow_closure'
Planet2.o(.text+0x29b3): In function `s4SY_entry':
: undefined reference to `GraphicsziRenderingziOpenGLziGLziCoordTrans_Position_con_info'
Planet2.o(.text+0x29cd): In function `s4SY_entry':
: undefined reference to `GraphicsziUIziGLUTziInitializzation_initialWindowPosition_closure'
Planet2.o(.text+0x29d2): In function `s4SY_entry':
: undefined reference to `GraphicsziRenderingziOpenGLziGLziStateVar_zdfHasSetterStateVar_closure'
Planet2.o(.text+0x2a7b): In function `s4SU_entry':
: undefined reference to `GraphicsziRenderingziOpenGLziGLziCoordTrans_Sizze_con_info'
Planet2.o(.text+0x2a95): In function `s4SU_entry':
: undefined reference to `GraphicsziUIziGLUTziInitializzation_initialWindowSizze_closure'
Planet2.o(.text+0x2a9a): In function `s4SU_entry':
: undefined reference to `GraphicsziRenderingziOpenGLziGLziStateVar_zdfHasSetterStateVar_closure'
Planet2.o(.text+0x2b4a): In function `s4SQ_entry':
: undefined reference to `GraphicsziUIziGLUTziInitializzation_RGBMode_closure'
Planet2.o(.text+0x2b5f): In function `s4SQ_entry':
: undefined reference to `GraphicsziUIziGLUTziInitializzation_DoubleBuffered_closure'
Planet2.o(.text+0x2b71): In function `s4SQ_entry':
: undefined reference to `GraphicsziUIziGLUTziInitializzation_initialDisplayMode_closure'
Planet2.o(.text+0x2b76): In function `s4SQ_entry':
: undefined reference to `GraphicsziRenderingziOpenGLziGLziStateVar_zdfHasSetterStateVar_closure'
Planet2.o(.text+0x2c49): In function `s4Wr_ret':
: undefined reference to `GraphicsziUIziGLUTziInitializzation_getArgsAndInitializze_closure'
collect2: ld returned 1 exit status
*** Deleting temp files
Deleting: /tmp/ghc9070.s
Warning: deleting non-existent /tmp/ghc9070.s


More information about the HOpenGL mailing list