Description of problem: Compilation of the most basic OpenGL program fails to link to the GLUT library, which was installed by cabal. Version-Release number of selected component (if applicable): ghc-6.10.3-3.fc11.x86_64 cabal-install-0.6.2-2.fc11.x86_64 freeglut-devel-2.4.0-16.fc11.x86_64 $ ghc-pkg list /usr/lib64/ghc-6.10.3/./package.conf: Cabal-1.6.0.3, HUnit-1.2.0.3, QuickCheck-1.2.0.0, array-0.2.0.0, base-3.0.3.1, base-4.1.0.0, bytestring-0.9.1.4, containers-0.2.0.1, directory-1.0.0.3, (dph-base-0.3), (dph-par-0.3), (dph-prim-interface-0.3), (dph-prim-par-0.3), (dph-prim-seq-0.3), (dph-seq-0.3), extensible-exceptions-0.1.1.0, filepath-1.1.0.2, (ghc-6.10.3), ghc-prim-0.1.0.0, haddock-2.4.2, haskell-src-1.0.1.3, haskell98-1.0.1.0, hpc-0.5.0.3, html-1.0.1.2, integer-0.1.0.1, mtl-1.1.0.2, network-2.2.1, old-locale-1.0.0.1, old-time-1.0.0.2, packedstring-0.1.0.1, parallel-1.1.0.1, parsec-2.1.0.1, pretty-1.0.1.0, process-1.0.1.1, random-1.0.0.1, regex-base-0.72.0.2, regex-compat-0.71.0.1, regex-posix-0.72.0.3, rts-1.0, stm-2.1.1.2, syb-0.1.0.1, template-haskell-2.3.0.1, time-1.1.3, unix-2.3.2.0, xhtml-3000.2.0.1 How reproducible: Always Steps to Reproduce: 1.$ cat HelloWorld.hs 2.$ ghc -package GLUT HelloWorld.hs -o HelloWorld Actual results: $ cat HelloWorld.hs import Graphics.Rendering.OpenGL import Graphics.UI.GLUT main = do (progname, _) <- getArgsAndInitialize createWindow "Hello World" mainLoop $ ghc -package GLUT HelloWorld.hs -o HelloWorld /home/plouj/.cabal/lib/GLUT-2.1.2.1/ghc-6.10.3/libHSGLUT-2.1.2.1.a(Begin.o): In function `sD9v_info': (.text+0x264): undefined reference to `glutGet' /home/plouj/.cabal/lib/GLUT-2.1.2.1/ghc-6.10.3/libHSGLUT-2.1.2.1.a(Begin.o): In function `sDlO_info': (.text+0xc14): undefined reference to `glutMainLoop' /home/plouj/.cabal/lib/GLUT-2.1.2.1/ghc-6.10.3/libHSGLUT-2.1.2.1.a(Global.o): In function `sCyu_info': (.text+0x1d): undefined reference to `glutMenuStatusFunc' /home/plouj/.cabal/lib/GLUT-2.1.2.1/ghc-6.10.3/libHSGLUT-2.1.2.1.a(Global.o): In function `sCzP_info': (.text+0x185): undefined reference to `glutIdleFunc' /home/plouj/.cabal/lib/GLUT-2.1.2.1/ghc-6.10.3/libHSGLUT-2.1.2.1.a(Global.o): In function `sCME_info': (.text+0xf68): undefined reference to `glutTimerFunc' /home/plouj/.cabal/lib/GLUT-2.1.2.1/ghc-6.10.3/libHSGLUT-2.1.2.1.a(Window.o): In function `suQQ_info': (.text+0x8dd): undefined reference to `glutEntryFunc' /home/plouj/.cabal/lib/GLUT-2.1.2.1/ghc-6.10.3/libHSGLUT-2.1.2.1.a(Window.o): In function `suRn_info': (.text+0x955): undefined reference to `glutVisibilityFunc' /home/plouj/.cabal/lib/GLUT-2.1.2.1/ghc-6.10.3/libHSGLUT-2.1.2.1.a(Window.o): In function `svIi_info': (.text+0x5135): undefined reference to `glutPassiveMotionFunc' /home/plouj/.cabal/lib/GLUT-2.1.2.1/ghc-6.10.3/libHSGLUT-2.1.2.1.a(Window.o): In function `svIP_info': (.text+0x51ad): undefined reference to `glutMotionFunc' /home/plouj/.cabal/lib/GLUT-2.1.2.1/ghc-6.10.3/libHSGLUT-2.1.2.1.a(Window.o): In function `svJm_info': (.text+0x5225): undefined reference to `glutReshapeFunc' /home/plouj/.cabal/lib/GLUT-2.1.2.1/ghc-6.10.3/libHSGLUT-2.1.2.1.a(Window.o): In function `svJT_info': (.text+0x529d): undefined reference to `glutOverlayDisplayFunc' /home/plouj/.cabal/lib/GLUT-2.1.2.1/ghc-6.10.3/libHSGLUT-2.1.2.1.a(Window.o): In function `svKq_info': (.text+0x5315): undefined reference to `glutDisplayFunc' /home/plouj/.cabal/lib/GLUT-2.1.2.1/ghc-6.10.3/libHSGLUT-2.1.2.1.a(Window.o): In function `swLl_info': (.text+0x967d): undefined reference to `glutKeyboardFunc' /home/plouj/.cabal/lib/GLUT-2.1.2.1/ghc-6.10.3/libHSGLUT-2.1.2.1.a(Window.o): In function `swLS_info': (.text+0x96f5): undefined reference to `glutKeyboardUpFunc' /home/plouj/.cabal/lib/GLUT-2.1.2.1/ghc-6.10.3/libHSGLUT-2.1.2.1.a(Window.o): In function `swPj_info': (.text+0x9b3d): undefined reference to `glutSpecialFunc' /home/plouj/.cabal/lib/GLUT-2.1.2.1/ghc-6.10.3/libHSGLUT-2.1.2.1.a(Window.o): In function `swPQ_info': (.text+0x9bb5): undefined reference to `glutSpecialUpFunc' /home/plouj/.cabal/lib/GLUT-2.1.2.1/ghc-6.10.3/libHSGLUT-2.1.2.1.a(Window.o): In function `swS7_info': (.text+0x9e75): undefined reference to `glutMouseFunc' /home/plouj/.cabal/lib/GLUT-2.1.2.1/ghc-6.10.3/libHSGLUT-2.1.2.1.a(Window.o): In function `sx18_info': (.text+0xa8f5): undefined reference to `glutSpaceballMotionFunc' /home/plouj/.cabal/lib/GLUT-2.1.2.1/ghc-6.10.3/libHSGLUT-2.1.2.1.a(Window.o): In function `sx2d_info': (.text+0xaa05): undefined reference to `glutSpaceballRotateFunc' /home/plouj/.cabal/lib/GLUT-2.1.2.1/ghc-6.10.3/libHSGLUT-2.1.2.1.a(Window.o): In function `sx41_info': (.text+0xac2d): undefined reference to `glutSpaceballButtonFunc' /home/plouj/.cabal/lib/GLUT-2.1.2.1/ghc-6.10.3/libHSGLUT-2.1.2.1.a(Window.o): In function `sx89_info': (.text+0xb1fd): undefined reference to `glutButtonBoxFunc' /home/plouj/.cabal/lib/GLUT-2.1.2.1/ghc-6.10.3/libHSGLUT-2.1.2.1.a(Window.o): In function `sx9e_info': (.text+0xb30d): undefined reference to `glutDialsFunc' /home/plouj/.cabal/lib/GLUT-2.1.2.1/ghc-6.10.3/libHSGLUT-2.1.2.1.a(Window.o): In function `sxd4_info': (.text+0xb815): undefined reference to `glutTabletMotionFunc' /home/plouj/.cabal/lib/GLUT-2.1.2.1/ghc-6.10.3/libHSGLUT-2.1.2.1.a(Window.o): In function `sxfQ_info': (.text+0xbb9d): undefined reference to `glutTabletButtonFunc' /home/plouj/.cabal/lib/GLUT-2.1.2.1/ghc-6.10.3/libHSGLUT-2.1.2.1.a(Window.o): In function `sxmz_info': (.text+0xc5b4): undefined reference to `glutJoystickFunc' /home/plouj/.cabal/lib/GLUT-2.1.2.1/ghc-6.10.3/libHSGLUT-2.1.2.1.a(Window.o): In function `rtiO_info': (.text+0x18287): undefined reference to `glutGetModifiers' /home/plouj/.cabal/lib/GLUT-2.1.2.1/ghc-6.10.3/libHSGLUT-2.1.2.1.a(Colormap.o): In function `spxN_info': (.text+0x36): undefined reference to `glutSetColor' /home/plouj/.cabal/lib/GLUT-2.1.2.1/ghc-6.10.3/libHSGLUT-2.1.2.1.a(Colormap.o): In function `spxP_info': (.text+0x1ac): undefined reference to `glutGetColor' /home/plouj/.cabal/lib/GLUT-2.1.2.1/ghc-6.10.3/libHSGLUT-2.1.2.1.a(Colormap.o): In function `spxP_info': (.text+0x1c8): undefined reference to `glutGetColor' /home/plouj/.cabal/lib/GLUT-2.1.2.1/ghc-6.10.3/libHSGLUT-2.1.2.1.a(Colormap.o): In function `spxP_info': (.text+0x1e4): undefined reference to `glutGetColor' /home/plouj/.cabal/lib/GLUT-2.1.2.1/ghc-6.10.3/libHSGLUT-2.1.2.1.a(Colormap.o): In function `spwi_info': (.text+0x33c): undefined reference to `glutLayerGet' /home/plouj/.cabal/lib/GLUT-2.1.2.1/ghc-6.10.3/libHSGLUT-2.1.2.1.a(Colormap.o): In function `spwi_info': (.text+0x39c): undefined reference to `glutGet' /home/plouj/.cabal/lib/GLUT-2.1.2.1/ghc-6.10.3/libHSGLUT-2.1.2.1.a(Colormap.o): In function `spBK_info': (.text+0x4bd): undefined reference to `glutCopyColormap' /home/plouj/.cabal/lib/GLUT-2.1.2.1/ghc-6.10.3/libHSGLUT-2.1.2.1.a(DeviceControl.o): In function `sosz_info': (.text+0x28): undefined reference to `glutIgnoreKeyRepeat' /home/plouj/.cabal/lib/GLUT-2.1.2.1/ghc-6.10.3/libHSGLUT-2.1.2.1.a(DeviceControl.o): In function `sosz_info': (.text+0x40): undefined reference to `glutIgnoreKeyRepeat' /home/plouj/.cabal/lib/GLUT-2.1.2.1/ghc-6.10.3/libHSGLUT-2.1.2.1.a(DeviceControl.o): In function `sonN_info': (.text+0x11c): undefined reference to `glutDeviceGet' /home/plouj/.cabal/lib/GLUT-2.1.2.1/ghc-6.10.3/libHSGLUT-2.1.2.1.a(DeviceControl.o): In function `sotJ_info': (.text+0x175): undefined reference to `glutSetKeyRepeat' /home/plouj/.cabal/lib/GLUT-2.1.2.1/ghc-6.10.3/libHSGLUT-2.1.2.1.a(DeviceControl.o): In function `sotJ_info': (.text+0x190): undefined reference to `glutSetKeyRepeat' /home/plouj/.cabal/lib/GLUT-2.1.2.1/ghc-6.10.3/libHSGLUT-2.1.2.1.a(DeviceControl.o): In function `sotJ_info': (.text+0x1b1): undefined reference to `glutSetKeyRepeat' /home/plouj/.cabal/lib/GLUT-2.1.2.1/ghc-6.10.3/libHSGLUT-2.1.2.1.a(DeviceControl.o): In function `sooq_info': (.text+0x374): undefined reference to `glutDeviceGet' /home/plouj/.cabal/lib/GLUT-2.1.2.1/ghc-6.10.3/libHSGLUT-2.1.2.1.a(DeviceControl.o): In function `soDY_info': (.text+0xcbe): undefined reference to `glutForceJoystickFunc' /home/plouj/.cabal/lib/GLUT-2.1.2.1/ghc-6.10.3/libHSGLUT-2.1.2.1.a(Fonts.o): In function `snor_info': (.text+0x785): undefined reference to `glutStrokeLength' /home/plouj/.cabal/lib/GLUT-2.1.2.1/ghc-6.10.3/libHSGLUT-2.1.2.1.a(Fonts.o): In function `snpP_info': (.text+0x90f): undefined reference to `glutStrokeCharacter' /home/plouj/.cabal/lib/GLUT-2.1.2.1/ghc-6.10.3/libHSGLUT-2.1.2.1.a(Fonts.o): In function `snsK_info': (.text+0xc8d): undefined reference to `glutBitmapLength' /home/plouj/.cabal/lib/GLUT-2.1.2.1/ghc-6.10.3/libHSGLUT-2.1.2.1.a(Fonts.o): In function `snu8_info': (.text+0xe80): undefined reference to `glutBitmapCharacter' /home/plouj/.cabal/lib/GLUT-2.1.2.1/ghc-6.10.3/libHSGLUT-2.1.2.1.a(GameMode.o): In function `skxz_info': (.text+0x3f1): undefined reference to `glutGameModeGet' /home/plouj/.cabal/lib/GLUT-2.1.2.1/ghc-6.10.3/libHSGLUT-2.1.2.1.a(GameMode.o): In function `skxz_info': (.text+0x44f): undefined reference to `glutGameModeGet' /home/plouj/.cabal/lib/GLUT-2.1.2.1/ghc-6.10.3/libHSGLUT-2.1.2.1.a(GameMode.o): In function `skxz_info': (.text+0x489): undefined reference to `glutGameModeGet' /home/plouj/.cabal/lib/GLUT-2.1.2.1/ghc-6.10.3/libHSGLUT-2.1.2.1.a(GameMode.o): In function `skxz_info': (.text+0x49d): undefined reference to `glutGameModeGet' /home/plouj/.cabal/lib/GLUT-2.1.2.1/ghc-6.10.3/libHSGLUT-2.1.2.1.a(GameMode.o): In function `skxz_info': (.text+0x4b1): undefined reference to `glutGameModeGet' /home/plouj/.cabal/lib/GLUT-2.1.2.1/ghc-6.10.3/libHSGLUT-2.1.2.1.a(GameMode.o):(.text+0x4c5): more undefined references to `glutGameModeGet' follow /home/plouj/.cabal/lib/GLUT-2.1.2.1/ghc-6.10.3/libHSGLUT-2.1.2.1.a(GameMode.o): In function `skyW_info': (.text+0x5ff): undefined reference to `glutEnterGameMode' /home/plouj/.cabal/lib/GLUT-2.1.2.1/ghc-6.10.3/libHSGLUT-2.1.2.1.a(GameMode.o): In function `skyW_info': (.text+0x613): undefined reference to `glutGameModeGet' /home/plouj/.cabal/lib/GLUT-2.1.2.1/ghc-6.10.3/libHSGLUT-2.1.2.1.a(GameMode.o): In function `slgt_info': (.text+0x1bed): undefined reference to `glutGameModeString' /home/plouj/.cabal/lib/GLUT-2.1.2.1/ghc-6.10.3/libHSGLUT-2.1.2.1.a(GameMode.o): In function `skEU_info': (.text+0x2e9e): undefined reference to `glutLeaveGameMode' /home/plouj/.cabal/lib/GLUT-2.1.2.1/ghc-6.10.3/libHSGLUT-2.1.2.1.a(Initialization.o):(.text+0x2a): undefined reference to `glutInitWindowSize' /home/plouj/.cabal/lib/GLUT-2.1.2.1/ghc-6.10.3/libHSGLUT-2.1.2.1.a(Initialization.o):(.text+0x62): undefined reference to `glutInitWindowPosition' /home/plouj/.cabal/lib/GLUT-2.1.2.1/ghc-6.10.3/libHSGLUT-2.1.2.1.a(Initialization.o): In function `sgcs_info': (.text+0x2c4): undefined reference to `glutGet' /home/plouj/.cabal/lib/GLUT-2.1.2.1/ghc-6.10.3/libHSGLUT-2.1.2.1.a(Initialization.o): In function `sgcs_info': (.text+0x324): undefined reference to `glutGet' /home/plouj/.cabal/lib/GLUT-2.1.2.1/ghc-6.10.3/libHSGLUT-2.1.2.1.a(Initialization.o): In function `sgcs_info': (.text+0x338): undefined reference to `glutGet' /home/plouj/.cabal/lib/GLUT-2.1.2.1/ghc-6.10.3/libHSGLUT-2.1.2.1.a(Initialization.o): In function `sgdu_info': (.text+0x63c): undefined reference to `glutGet' /home/plouj/.cabal/lib/GLUT-2.1.2.1/ghc-6.10.3/libHSGLUT-2.1.2.1.a(Initialization.o): In function `sge2_info': (.text+0x904): undefined reference to `glutGet' /home/plouj/.cabal/lib/GLUT-2.1.2.1/ghc-6.10.3/libHSGLUT-2.1.2.1.a(Initialization.o):(.text+0x964): more undefined references to `glutGet' follow /home/plouj/.cabal/lib/GLUT-2.1.2.1/ghc-6.10.3/libHSGLUT-2.1.2.1.a(Initialization.o): In function `si5X_info': (.text+0x5e7d): undefined reference to `glutInitDisplayString' /home/plouj/.cabal/lib/GLUT-2.1.2.1/ghc-6.10.3/libHSGLUT-2.1.2.1.a(Initialization.o): In function `sgAU_info': (.text+0xab3c): undefined reference to `glutInit' /home/plouj/.cabal/lib/GLUT-2.1.2.1/ghc-6.10.3/libHSGLUT-2.1.2.1.a(Initialization.o): In function `sjie_info': (.text+0xbc0b): undefined reference to `glutGet' /home/plouj/.cabal/lib/GLUT-2.1.2.1/ghc-6.10.3/libHSGLUT-2.1.2.1.a(Initialization.o): In function `sjid_info': (.text+0xbcfd): undefined reference to `glutGet' /home/plouj/.cabal/lib/GLUT-2.1.2.1/ghc-6.10.3/libHSGLUT-2.1.2.1.a(Initialization.o): In function `sgFz_info': (.text+0xbfd4): undefined reference to `glutInitDisplayMode' /home/plouj/.cabal/lib/GLUT-2.1.2.1/ghc-6.10.3/libHSGLUT-2.1.2.1.a(Menu.o): In function `sByf_info': (.text+0x17c): undefined reference to `glutGet' /home/plouj/.cabal/lib/GLUT-2.1.2.1/ghc-6.10.3/libHSGLUT-2.1.2.1.a(Menu.o): In function `rBlh_info': (.text+0x24b): undefined reference to `glutRemoveMenuItem' /home/plouj/.cabal/lib/GLUT-2.1.2.1/ghc-6.10.3/libHSGLUT-2.1.2.1.a(Menu.o): In function `sBHh_info': (.text+0x9dc): undefined reference to `glutAddMenuEntry' /home/plouj/.cabal/lib/GLUT-2.1.2.1/ghc-6.10.3/libHSGLUT-2.1.2.1.a(Menu.o): In function `sBH6_info': (.text+0xb14): undefined reference to `glutAddSubMenu' /home/plouj/.cabal/lib/GLUT-2.1.2.1/ghc-6.10.3/libHSGLUT-2.1.2.1.a(Menu.o): In function `sBpE_info': (.text+0xbcb): undefined reference to `glutRemoveMenuItem' /home/plouj/.cabal/lib/GLUT-2.1.2.1/ghc-6.10.3/libHSGLUT-2.1.2.1.a(Menu.o): In function `sBH4_info': (.text+0xd54): undefined reference to `glutSetMenu' /home/plouj/.cabal/lib/GLUT-2.1.2.1/ghc-6.10.3/libHSGLUT-2.1.2.1.a(Menu.o): In function `sBH2_info': (.text+0xdd3): undefined reference to `glutGetMenu' /home/plouj/.cabal/lib/GLUT-2.1.2.1/ghc-6.10.3/libHSGLUT-2.1.2.1.a(Menu.o): In function `sBHD_info': (.text+0x12f5): undefined reference to `glutDestroyMenu' /home/plouj/.cabal/lib/GLUT-2.1.2.1/ghc-6.10.3/libHSGLUT-2.1.2.1.a(Menu.o): In function `sBHA_info': (.text+0x141d): undefined reference to `glutCreateMenu' /home/plouj/.cabal/lib/GLUT-2.1.2.1/ghc-6.10.3/libHSGLUT-2.1.2.1.a(Menu.o): In function `sC5S_info': (.text+0x22b9): undefined reference to `glutAttachMenu' /home/plouj/.cabal/lib/GLUT-2.1.2.1/ghc-6.10.3/libHSGLUT-2.1.2.1.a(Menu.o): In function `sC5S_info': (.text+0x22d4): undefined reference to `glutAttachMenu' /home/plouj/.cabal/lib/GLUT-2.1.2.1/ghc-6.10.3/libHSGLUT-2.1.2.1.a(Menu.o): In function `sC5S_info': (.text+0x22ef): undefined reference to `glutAttachMenu' /home/plouj/.cabal/lib/GLUT-2.1.2.1/ghc-6.10.3/libHSGLUT-2.1.2.1.a(Menu.o): In function `sC5S_info': (.text+0x230a): undefined reference to `glutAttachMenu' /home/plouj/.cabal/lib/GLUT-2.1.2.1/ghc-6.10.3/libHSGLUT-2.1.2.1.a(Menu.o): In function `sC5S_info': (.text+0x2325): undefined reference to `glutAttachMenu' /home/plouj/.cabal/lib/GLUT-2.1.2.1/ghc-6.10.3/libHSGLUT-2.1.2.1.a(Menu.o): In function `sBxG_info': (.text+0x26a4): undefined reference to `glutDetachMenu' /home/plouj/.cabal/lib/GLUT-2.1.2.1/ghc-6.10.3/libHSGLUT-2.1.2.1.a(Menu.o): In function `sC5J_info': (.text+0x2837): undefined reference to `glutGetWindow' /home/plouj/.cabal/lib/GLUT-2.1.2.1/ghc-6.10.3/libHSGLUT-2.1.2.1.a(Objects.o): In function `raW1_info': (.text+0x207e): undefined reference to `glutSolidDodecahedron' /home/plouj/.cabal/lib/GLUT-2.1.2.1/ghc-6.10.3/libHSGLUT-2.1.2.1.a(Objects.o): In function `raVZ_info': (.text+0x20ae): undefined reference to `glutWireDodecahedron' /home/plouj/.cabal/lib/GLUT-2.1.2.1/ghc-6.10.3/libHSGLUT-2.1.2.1.a(Objects.o): In function `raVX_info': (.text+0x20de): undefined reference to `glutWireIcosahedron' /home/plouj/.cabal/lib/GLUT-2.1.2.1/ghc-6.10.3/libHSGLUT-2.1.2.1.a(Objects.o): In function `raVV_info': (.text+0x210e): undefined reference to `glutSolidIcosahedron' /home/plouj/.cabal/lib/GLUT-2.1.2.1/ghc-6.10.3/libHSGLUT-2.1.2.1.a(Objects.o): In function `raVT_info': (.text+0x213e): undefined reference to `glutSolidOctahedron' /home/plouj/.cabal/lib/GLUT-2.1.2.1/ghc-6.10.3/libHSGLUT-2.1.2.1.a(Objects.o): In function `raVR_info': (.text+0x216e): undefined reference to `glutWireOctahedron' /home/plouj/.cabal/lib/GLUT-2.1.2.1/ghc-6.10.3/libHSGLUT-2.1.2.1.a(Objects.o): In function `raVP_info': (.text+0x219e): undefined reference to `glutWireTetrahedron' /home/plouj/.cabal/lib/GLUT-2.1.2.1/ghc-6.10.3/libHSGLUT-2.1.2.1.a(Objects.o): In function `raVN_info': (.text+0x21ce): undefined reference to `glutSolidTetrahedron' /home/plouj/.cabal/lib/GLUT-2.1.2.1/ghc-6.10.3/libHSGLUT-2.1.2.1.a(Objects.o): In function `scV0_info': (.text+0x2203): undefined reference to `glutSolidCube' /home/plouj/.cabal/lib/GLUT-2.1.2.1/ghc-6.10.3/libHSGLUT-2.1.2.1.a(Objects.o): In function `scUX_info': (.text+0x2289): undefined reference to `glutSolidSphere' /home/plouj/.cabal/lib/GLUT-2.1.2.1/ghc-6.10.3/libHSGLUT-2.1.2.1.a(Objects.o): In function `scUS_info': (.text+0x23a2): undefined reference to `glutSolidCone' /home/plouj/.cabal/lib/GLUT-2.1.2.1/ghc-6.10.3/libHSGLUT-2.1.2.1.a(Objects.o): In function `scUF_info': (.text+0x2692): undefined reference to `glutSolidTorus' /home/plouj/.cabal/lib/GLUT-2.1.2.1/ghc-6.10.3/libHSGLUT-2.1.2.1.a(Objects.o): In function `scUz_info': (.text+0x27d3): undefined reference to `glutSolidTeapot' /home/plouj/.cabal/lib/GLUT-2.1.2.1/ghc-6.10.3/libHSGLUT-2.1.2.1.a(Objects.o): In function `scUr_info': (.text+0x2b1b): undefined reference to `glutWireCube' /home/plouj/.cabal/lib/GLUT-2.1.2.1/ghc-6.10.3/libHSGLUT-2.1.2.1.a(Objects.o): In function `scUo_info': (.text+0x2ba1): undefined reference to `glutWireSphere' /home/plouj/.cabal/lib/GLUT-2.1.2.1/ghc-6.10.3/libHSGLUT-2.1.2.1.a(Objects.o): In function `scUj_info': (.text+0x2cba): undefined reference to `glutWireCone' /home/plouj/.cabal/lib/GLUT-2.1.2.1/ghc-6.10.3/libHSGLUT-2.1.2.1.a(Objects.o): In function `scU6_info': (.text+0x2faa): undefined reference to `glutWireTorus' /home/plouj/.cabal/lib/GLUT-2.1.2.1/ghc-6.10.3/libHSGLUT-2.1.2.1.a(Objects.o): In function `scU0_info': (.text+0x30eb): undefined reference to `glutWireTeapot' /home/plouj/.cabal/lib/GLUT-2.1.2.1/ghc-6.10.3/libHSGLUT-2.1.2.1.a(Overlay.o): In function `s8DK_info': (.text+0x9e): undefined reference to `glutUseLayer' /home/plouj/.cabal/lib/GLUT-2.1.2.1/ghc-6.10.3/libHSGLUT-2.1.2.1.a(Overlay.o): In function `s8DK_info': (.text+0x13a): undefined reference to `glutUseLayer' /home/plouj/.cabal/lib/GLUT-2.1.2.1/ghc-6.10.3/libHSGLUT-2.1.2.1.a(Overlay.o): In function `s8zS_info': (.text+0x32c): undefined reference to `glutLayerGet' /home/plouj/.cabal/lib/GLUT-2.1.2.1/ghc-6.10.3/libHSGLUT-2.1.2.1.a(Overlay.o): In function `s8A5_info': (.text+0x3e4): undefined reference to `glutLayerGet' /home/plouj/.cabal/lib/GLUT-2.1.2.1/ghc-6.10.3/libHSGLUT-2.1.2.1.a(Overlay.o): In function `s8Ai_info': (.text+0x49c): undefined reference to `glutLayerGet' /home/plouj/.cabal/lib/GLUT-2.1.2.1/ghc-6.10.3/libHSGLUT-2.1.2.1.a(Overlay.o): In function `s8Ps_info': (.text+0xc5c): undefined reference to `glutRemoveOverlay' /home/plouj/.cabal/lib/GLUT-2.1.2.1/ghc-6.10.3/libHSGLUT-2.1.2.1.a(Overlay.o): In function `s8Qg_info': (.text+0xd4c): undefined reference to `glutEstablishOverlay' /home/plouj/.cabal/lib/GLUT-2.1.2.1/ghc-6.10.3/libHSGLUT-2.1.2.1.a(Overlay.o): In function `s8RH_info': (.text+0xeb4): undefined reference to `glutShowOverlay' /home/plouj/.cabal/lib/GLUT-2.1.2.1/ghc-6.10.3/libHSGLUT-2.1.2.1.a(Overlay.o): In function `s8Sw_info': (.text+0xfa4): undefined reference to `glutHideOverlay' /home/plouj/.cabal/lib/GLUT-2.1.2.1/ghc-6.10.3/libHSGLUT-2.1.2.1.a(Overlay.o): In function `s8U5_info': (.text+0x112c): undefined reference to `glutPostOverlayRedisplay' /home/plouj/.cabal/lib/GLUT-2.1.2.1/ghc-6.10.3/libHSGLUT-2.1.2.1.a(Overlay.o): In function `s8UU_info': (.text+0x1214): undefined reference to `glutPostWindowOverlayRedisplay' /home/plouj/.cabal/lib/GLUT-2.1.2.1/ghc-6.10.3/libHSGLUT-2.1.2.1.a(State.o): In function `sa6t_info': (.text+0x81): undefined reference to `glutDeviceGet' /home/plouj/.cabal/lib/GLUT-2.1.2.1/ghc-6.10.3/libHSGLUT-2.1.2.1.a(State.o): In function `sa6t_info': (.text+0xe8): undefined reference to `glutDeviceGet' /home/plouj/.cabal/lib/GLUT-2.1.2.1/ghc-6.10.3/libHSGLUT-2.1.2.1.a(State.o): In function `sa6t_info': (.text+0xfc): undefined reference to `glutDeviceGet' /home/plouj/.cabal/lib/GLUT-2.1.2.1/ghc-6.10.3/libHSGLUT-2.1.2.1.a(State.o): In function `sa6t_info': (.text+0x110): undefined reference to `glutDeviceGet' /home/plouj/.cabal/lib/GLUT-2.1.2.1/ghc-6.10.3/libHSGLUT-2.1.2.1.a(State.o): In function `sa6t_info': (.text+0x1c4): undefined reference to `glutDeviceGet' /home/plouj/.cabal/lib/GLUT-2.1.2.1/ghc-6.10.3/libHSGLUT-2.1.2.1.a(State.o):(.text+0x224): more undefined references to `glutDeviceGet' follow /home/plouj/.cabal/lib/GLUT-2.1.2.1/ghc-6.10.3/libHSGLUT-2.1.2.1.a(State.o): In function `sa9x_info': (.text+0x4d8): undefined reference to `glutGet' /home/plouj/.cabal/lib/GLUT-2.1.2.1/ghc-6.10.3/libHSGLUT-2.1.2.1.a(State.o): In function `sa9x_info': (.text+0x53c): undefined reference to `glutGet' /home/plouj/.cabal/lib/GLUT-2.1.2.1/ghc-6.10.3/libHSGLUT-2.1.2.1.a(State.o): In function `sa9x_info': (.text+0x59c): undefined reference to `glutGet' /home/plouj/.cabal/lib/GLUT-2.1.2.1/ghc-6.10.3/libHSGLUT-2.1.2.1.a(State.o): In function `s9X9_info': (.text+0x654): undefined reference to `glutGet' /home/plouj/.cabal/lib/GLUT-2.1.2.1/ghc-6.10.3/libHSGLUT-2.1.2.1.a(State.o): In function `s9Xm_info': (.text+0x70c): undefined reference to `glutDeviceGet' /home/plouj/.cabal/lib/GLUT-2.1.2.1/ghc-6.10.3/libHSGLUT-2.1.2.1.a(State.o): In function `s9Xz_info': (.text+0x7c4): undefined reference to `glutGet' /home/plouj/.cabal/lib/GLUT-2.1.2.1/ghc-6.10.3/libHSGLUT-2.1.2.1.a(State.o): In function `s9XM_info': (.text+0x87c): undefined reference to `glutGet' /home/plouj/.cabal/lib/GLUT-2.1.2.1/ghc-6.10.3/libHSGLUT-2.1.2.1.a(State.o): In function `s9XZ_info': (.text+0x934): undefined reference to `glutGet' /home/plouj/.cabal/lib/GLUT-2.1.2.1/ghc-6.10.3/libHSGLUT-2.1.2.1.a(State.o): In function `s9Yc_info': (.text+0x9ec): undefined reference to `glutGet' /home/plouj/.cabal/lib/GLUT-2.1.2.1/ghc-6.10.3/libHSGLUT-2.1.2.1.a(State.o): In function `s9Yc_info': (.text+0xa4c): undefined reference to `glutGet' /home/plouj/.cabal/lib/GLUT-2.1.2.1/ghc-6.10.3/libHSGLUT-2.1.2.1.a(State.o):(.text+0xa60): more undefined references to `glutGet' follow /home/plouj/.cabal/lib/GLUT-2.1.2.1/ghc-6.10.3/libHSGLUT-2.1.2.1.a(State.o): In function `sa2p_info': (.text+0x10f5): undefined reference to `glutLayerGet' /home/plouj/.cabal/lib/GLUT-2.1.2.1/ghc-6.10.3/libHSGLUT-2.1.2.1.a(State.o): In function `sanq_info': (.text+0x1b9c): undefined reference to `glutGet' /home/plouj/.cabal/lib/GLUT-2.1.2.1/ghc-6.10.3/libHSGLUT-2.1.2.1.a(Window.o):(.text+0x2a): undefined reference to `glutWarpPointer' /home/plouj/.cabal/lib/GLUT-2.1.2.1/ghc-6.10.3/libHSGLUT-2.1.2.1.a(Window.o):(.text+0x62): undefined reference to `glutReshapeWindow' /home/plouj/.cabal/lib/GLUT-2.1.2.1/ghc-6.10.3/libHSGLUT-2.1.2.1.a(Window.o):(.text+0x9a): undefined reference to `glutPositionWindow' /home/plouj/.cabal/lib/GLUT-2.1.2.1/ghc-6.10.3/libHSGLUT-2.1.2.1.a(Window.o):(.text+0x123): undefined reference to `glutCreateSubWindow' /home/plouj/.cabal/lib/GLUT-2.1.2.1/ghc-6.10.3/libHSGLUT-2.1.2.1.a(Window.o): In function `s5DM_info': (.text+0x196): undefined reference to `glutSetCursor' /home/plouj/.cabal/lib/GLUT-2.1.2.1/ghc-6.10.3/libHSGLUT-2.1.2.1.a(Window.o): In function `s5DM_info': (.text+0x1b1): undefined reference to `glutSetCursor' /home/plouj/.cabal/lib/GLUT-2.1.2.1/ghc-6.10.3/libHSGLUT-2.1.2.1.a(Window.o): In function `s5DM_info': (.text+0x1cc): undefined reference to `glutSetCursor' /home/plouj/.cabal/lib/GLUT-2.1.2.1/ghc-6.10.3/libHSGLUT-2.1.2.1.a(Window.o): In function `s5DM_info': (.text+0x1e7): undefined reference to `glutSetCursor' /home/plouj/.cabal/lib/GLUT-2.1.2.1/ghc-6.10.3/libHSGLUT-2.1.2.1.a(Window.o): In function `s5DM_info': (.text+0x202): undefined reference to `glutSetCursor' /home/plouj/.cabal/lib/GLUT-2.1.2.1/ghc-6.10.3/libHSGLUT-2.1.2.1.a(Window.o):(.text+0x21d): more undefined references to `glutSetCursor' follow /home/plouj/.cabal/lib/GLUT-2.1.2.1/ghc-6.10.3/libHSGLUT-2.1.2.1.a(Window.o): In function `s5pV_info': (.text+0x86c): undefined reference to `glutGet' /home/plouj/.cabal/lib/GLUT-2.1.2.1/ghc-6.10.3/libHSGLUT-2.1.2.1.a(Window.o): In function `s5pV_info': (.text+0x8cc): undefined reference to `glutGet' /home/plouj/.cabal/lib/GLUT-2.1.2.1/ghc-6.10.3/libHSGLUT-2.1.2.1.a(Window.o): In function `s5pV_info': (.text+0x8e0): undefined reference to `glutGet' /home/plouj/.cabal/lib/GLUT-2.1.2.1/ghc-6.10.3/libHSGLUT-2.1.2.1.a(Window.o): In function `s5pV_info': (.text+0x974): undefined reference to `glutGet' /home/plouj/.cabal/lib/GLUT-2.1.2.1/ghc-6.10.3/libHSGLUT-2.1.2.1.a(Window.o): In function `s5pV_info': (.text+0x988): undefined reference to `glutGet' /home/plouj/.cabal/lib/GLUT-2.1.2.1/ghc-6.10.3/libHSGLUT-2.1.2.1.a(Window.o): In function `s5HM_info': (.text+0xa0d): undefined reference to `glutSetWindow' /home/plouj/.cabal/lib/GLUT-2.1.2.1/ghc-6.10.3/libHSGLUT-2.1.2.1.a(Window.o): In function `s5rj_info': (.text+0xb5f): undefined reference to `glutGetWindow' /home/plouj/.cabal/lib/GLUT-2.1.2.1/ghc-6.10.3/libHSGLUT-2.1.2.1.a(Window.o): In function `s5sl_info': (.text+0xeec): undefined reference to `glutGet' /home/plouj/.cabal/lib/GLUT-2.1.2.1/ghc-6.10.3/libHSGLUT-2.1.2.1.a(Window.o): In function `s5sl_info': (.text+0xf4c): undefined reference to `glutGet' /home/plouj/.cabal/lib/GLUT-2.1.2.1/ghc-6.10.3/libHSGLUT-2.1.2.1.a(Window.o): In function `s6bU_info': (.text+0x28f6): undefined reference to `glutCreateWindow' /home/plouj/.cabal/lib/GLUT-2.1.2.1/ghc-6.10.3/libHSGLUT-2.1.2.1.a(Window.o): In function `s6cR_info': (.text+0x29d5): undefined reference to `glutDestroyWindow' /home/plouj/.cabal/lib/GLUT-2.1.2.1/ghc-6.10.3/libHSGLUT-2.1.2.1.a(Window.o): In function `s6cR_info': (.text+0x2a4e): undefined reference to `glutPostRedisplay' /home/plouj/.cabal/lib/GLUT-2.1.2.1/ghc-6.10.3/libHSGLUT-2.1.2.1.a(Window.o): In function `s6dC_info': (.text+0x2a7d): undefined reference to `glutPostWindowRedisplay' /home/plouj/.cabal/lib/GLUT-2.1.2.1/ghc-6.10.3/libHSGLUT-2.1.2.1.a(Window.o): In function `s6dB_info': (.text+0x2b56): undefined reference to `glutSwapBuffers' /home/plouj/.cabal/lib/GLUT-2.1.2.1/ghc-6.10.3/libHSGLUT-2.1.2.1.a(Window.o): In function `s6dB_info': (.text+0x2b86): undefined reference to `glutFullScreen' /home/plouj/.cabal/lib/GLUT-2.1.2.1/ghc-6.10.3/libHSGLUT-2.1.2.1.a(Window.o): In function `s6dB_info': (.text+0x2bb6): undefined reference to `glutPushWindow' /home/plouj/.cabal/lib/GLUT-2.1.2.1/ghc-6.10.3/libHSGLUT-2.1.2.1.a(Window.o): In function `s6dB_info': (.text+0x2be6): undefined reference to `glutPopWindow' /home/plouj/.cabal/lib/GLUT-2.1.2.1/ghc-6.10.3/libHSGLUT-2.1.2.1.a(Window.o): In function `s6dB_info': (.text+0x2c16): undefined reference to `glutShowWindow' /home/plouj/.cabal/lib/GLUT-2.1.2.1/ghc-6.10.3/libHSGLUT-2.1.2.1.a(Window.o): In function `s6dB_info': (.text+0x2c46): undefined reference to `glutHideWindow' /home/plouj/.cabal/lib/GLUT-2.1.2.1/ghc-6.10.3/libHSGLUT-2.1.2.1.a(Window.o): In function `s6dB_info': (.text+0x2c76): undefined reference to `glutIconifyWindow' /home/plouj/.cabal/lib/GLUT-2.1.2.1/ghc-6.10.3/libHSGLUT-2.1.2.1.a(Window.o): In function `s6gT_info': (.text+0x2d4d): undefined reference to `glutSetWindowTitle' /home/plouj/.cabal/lib/GLUT-2.1.2.1/ghc-6.10.3/libHSGLUT-2.1.2.1.a(Window.o): In function `s6hO_info': (.text+0x2e0d): undefined reference to `glutSetIconTitle' /home/plouj/.cabal/lib/GLUT-2.1.2.1/ghc-6.10.3/libHSGLUT-2.1.2.1.a(Registration.o): In function `s7nN_info': (.text+0x634): undefined reference to `glutGetWindow' /home/plouj/.cabal/lib/GLUT-2.1.2.1/ghc-6.10.3/libHSGLUT-2.1.2.1.a(Registration.o): In function `s7Xl_info': (.text+0x1721): undefined reference to `glutTimerFunc' /home/plouj/.cabal/lib/GLUT-2.1.2.1/ghc-6.10.3/libHSGLUT-2.1.2.1.a(Registration.o): In function `s88r_info': (.text+0x22d9): undefined reference to `glutTimerFunc' /home/plouj/.cabal/lib/GLUT-2.1.2.1/ghc-6.10.3/libHSGLUT-2.1.2.1.a(Registration.o): In function `s88v_info': (.text+0x2687): undefined reference to `glutGetWindow' /home/plouj/.cabal/lib/GLUT-2.1.2.1/ghc-6.10.3/libHSGLUT-2.1.2.1.a(QueryUtils.o): In function `s1ob_info': (.text+0x99): undefined reference to `glutDeviceGet' /home/plouj/.cabal/lib/GLUT-2.1.2.1/ghc-6.10.3/libHSGLUT-2.1.2.1.a(QueryUtils.o): In function `s1ov_info': (.text+0x169): undefined reference to `glutLayerGet' /home/plouj/.cabal/lib/GLUT-2.1.2.1/ghc-6.10.3/libHSGLUT-2.1.2.1.a(QueryUtils.o): In function `s1oP_info': (.text+0x239): undefined reference to `glutGet' /home/plouj/.cabal/lib/GLUT-2.1.2.1/ghc-6.10.3/libHSGLUT-2.1.2.1.a(HsGLUT.o): In function `hs_GLUT_getProcAddress': HsGLUT.c:(.text+0x41): undefined reference to `glutGetProcAddress' /home/plouj/.cabal/lib/GLUT-2.1.2.1/ghc-6.10.3/libHSGLUT-2.1.2.1.a(HsGLUT.o):(.rodata+0x0): undefined reference to `glutBitmap8By13' /home/plouj/.cabal/lib/GLUT-2.1.2.1/ghc-6.10.3/libHSGLUT-2.1.2.1.a(HsGLUT.o):(.rodata+0x8): undefined reference to `glutBitmap9By15' /home/plouj/.cabal/lib/GLUT-2.1.2.1/ghc-6.10.3/libHSGLUT-2.1.2.1.a(HsGLUT.o):(.rodata+0x10): undefined reference to `glutBitmapTimesRoman10' /home/plouj/.cabal/lib/GLUT-2.1.2.1/ghc-6.10.3/libHSGLUT-2.1.2.1.a(HsGLUT.o):(.rodata+0x18): undefined reference to `glutBitmapTimesRoman24' /home/plouj/.cabal/lib/GLUT-2.1.2.1/ghc-6.10.3/libHSGLUT-2.1.2.1.a(HsGLUT.o):(.rodata+0x20): undefined reference to `glutBitmapHelvetica10' /home/plouj/.cabal/lib/GLUT-2.1.2.1/ghc-6.10.3/libHSGLUT-2.1.2.1.a(HsGLUT.o):(.rodata+0x28): undefined reference to `glutBitmapHelvetica12' /home/plouj/.cabal/lib/GLUT-2.1.2.1/ghc-6.10.3/libHSGLUT-2.1.2.1.a(HsGLUT.o):(.rodata+0x30): undefined reference to `glutBitmapHelvetica18' /home/plouj/.cabal/lib/GLUT-2.1.2.1/ghc-6.10.3/libHSGLUT-2.1.2.1.a(HsGLUT.o):(.rodata+0x40): undefined reference to `glutStrokeRoman' /home/plouj/.cabal/lib/GLUT-2.1.2.1/ghc-6.10.3/libHSGLUT-2.1.2.1.a(HsGLUT.o):(.rodata+0x48): undefined reference to `glutStrokeMonoRoman' collect2: ld returned 1 exit status Expected results: HelloWorld successfully linked. Additional info: I'm running this on a rather fresh Fedora 11 installation. The following make-based compilation succeeds: $ ghc --make -lglut HelloWorld Linking HelloWorld ... GLUT was installed with `cabal install GLUT` since it is not available from Fedora's repository. `ghc-pkg describe GLUT | grep ld-options` for me shows: "ld-options:" while it shows: "ld-options: -lglut -lSM -lICE -lXmu -lXi -lGLU -lGL -lm" for some non-Fedora Haskell programmer.
Interesting, I reproduced this on one box but not on another and indeed they have different ld-options for the GLUT package.
I think it is a GLUT configure bug somehow: failing to set ld-options correctly sometimes - need to work why, or maybe more likely missing a build dep of some kind which is triggering it, which would explain why it works on my main machine but not the test machine.
It works after "yum install libXmu-devel libXi-devel". I think it is a "bug" (issue) with FP_ARG_GLUT which originates from ghc. Please report it to the GLUT hackage maintainer (Sven Panne).
Note if we package GLUT for fedora (it is part of haskell-platform) we would need to revisit this issue.
Sven says latest GLUT no longer uses configure BTW. Also that ghc-GLUT was added to fedora recently.