Bug 509281

Summary: failed to config ld-options for GLUT
Product: [Fedora] Fedora Reporter: Michael Ploujnikov <ploujj>
Component: ghcAssignee: Jens Petersen <petersen>
Status: CLOSED NOTABUG QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: low Docs Contact:
Priority: low    
Version: 11CC: bos, haskell-devel, loupgaroublond, petersen
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2009-07-03 07:01:30 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Michael Ploujnikov 2009-07-02 02:44:13 UTC
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.

Comment 1 Jens Petersen 2009-07-02 03:00:32 UTC
Interesting, I reproduced this on one box but not on another
and indeed they have different ld-options for the GLUT package.

Comment 2 Jens Petersen 2009-07-02 06:46:28 UTC
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.

Comment 3 Jens Petersen 2009-07-03 07:01:30 UTC
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).

Comment 4 Jens Petersen 2009-07-03 07:03:19 UTC
Note if we package GLUT for fedora (it is part of haskell-platform)
we would need to revisit this issue.

Comment 5 Jens Petersen 2009-09-01 23:57:09 UTC
Sven says latest GLUT no longer uses configure BTW.

Also that ghc-GLUT was added to fedora recently.