Maurizio Ferreira
Maurizio Ferreira

Reputation: 476

Error installing Fungen

I'm trying to install Fungen, but i get the following error messages. any suggestions ? (I'm working with the last Haskell Library on Windows 7, and I'm quite new to Haskell)

d:\temp>cabal install Fungen

Resolving dependencies...
Configuring Tensor-1.0.0.1...
Configuring OpenGL-2.8.0.0...
Building Tensor-1.0.0.1...
Building OpenGL-2.8.0.0...
Failed to install Tensor-1.0.0.1
Last 10 lines of the build log ( C:\Users\maurizio.ferreira\AppData\Roaming\cabal\logs\Tensor-1.0.0.1.log ):
    `typeOf1' is not a (visible) method of class `Typeable1'

src\Data\Tensor.hs:316:28:
    Not in scope: `mkTyCon'
    Perhaps you meant `mkTyCon3' (imported from Data.Typeable)

src\Data\Tensor.hs:319:4:
    `typeOf' is not a (visible) method of class `Typeable'

src\Data\Tensor.hs:319:13: Not in scope: `typeOfDefault'
Failed to install OpenGL-2.8.0.0
Last 10 lines of the build log ( C:\Users\maurizio.ferreira\AppData\Roaming\cabal\logs\OpenGL-2.8.0.0.log ):
      Graphics.Rendering.OpenGL.Raw.EXT.BGRA (from OpenGLRaw-1.5.0.0)
    Use -v to see a list of the files searched for.

Graphics\Rendering\OpenGL\GL\PixelFormat.hs:23:8:
    Could not find module `Graphics.Rendering.OpenGL.Raw.EXT.Abgr'
    Perhaps you meant
      Graphics.Rendering.OpenGL.Raw.EXT.ABGR (from OpenGLRaw-1.5.0.0)
      Graphics.Rendering.OpenGL.Raw.EXT.BGRA (from OpenGLRaw-1.5.0.0)
      Graphics.Rendering.OpenGL.Raw.EXT (from OpenGLRaw-1.5.0.0)
    Use -v to see a list of the files searched for.

Upvotes: 2

Views: 263

Answers (2)

Simon Michael
Simon Michael

Reputation: 2298

As Ørjan Johansen said, 0.4.3 was broken (fixed in 2014/10 by 0.4.4). As of today, FunGEn 1.0.1 should install cleanly with stack or cabal.

Upvotes: 1

Ørjan Johansen
Ørjan Johansen

Reputation: 18189

No real solution from me, but at least an attempt to tell why this is harder than I can solve, and maybe not worth the bother unless you want a big challenge.

The FunGEn package seems to require older versions of GLUT and OpenGL than those which are in the Haskell Platform.

On cabals first attempt, this draws in the Tensor package, which is completely bitrotted and has no version which doesn't break with the modern non-user-definable Typeable mechanism.

However even adding flags to fix that ("--constraint=Tensor>2.0", essentially telling it to use no existing version), doesn't change the fact that it's trying to recompile OpenGL and GLUT, which is a recipe for pain on Windows - packages like that are the main reason why only experts try to compile everything from source on Windows, and everyone else uses the prepackaged Haskell Platform those heroes made.

My final attempt was to add flags ("--constraint=OpenGL installed" "--constraint=GLUT installed") to force cabal to try using the already installed versions of them, which unfortunately didn't work - the FunGEn package really does not seem to compile with those.

EDIT: OK, I suddenly noticed that the previous attempt didn't actually use the latest version of FunGEn. So my very final attempt was to use cabal get FunGEt-0.4.3, try to edit the cabal file and configure/build manually. At which point I became aware that the download was missing every file in the Graphics.UI.FunGen directory. So the latest version of FunGEt on Hackage is just broken, thank you very much.

Upvotes: 2

Related Questions