Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Problem with compiling on windows #2

Open
Xantshmeshnilnon opened this issue Dec 30, 2023 · 0 comments
Open

Problem with compiling on windows #2

Xantshmeshnilnon opened this issue Dec 30, 2023 · 0 comments

Comments

@Xantshmeshnilnon
Copy link

I tried to compile it on windows, it went to 59/61 and failed at lambdacube-gl giving a couple of errors and warnings.

Error: [S-7282]
       Stack failed to execute the build plan.

       While executing the build plan, Stack encountered the error:

       [S-7011]
       While building package lambdacube-gl-0.2.2 (scroll up to its section to see the error) using:
       C:\sr\setup-exe-cache\x86_64-windows\Cabal-simple_9p6GVs8J_3.10.1.0_ghc-9.6.3.exe --verbose=1 --builddir=.stack-work\dist\6c8505b4 build --ghc-options " -fdiagnostics-color=always"
       Process exited with code: ExitFailure 1

Initially when trying to build I had an error which I solved using command 'stack --resolver lts build' which selected resolver: lts-22.4.
Without it compilation wouldn't even start. Perhaps should use older stack version?

Error: [S-5973]
       Stack does not support Cabal versions before 1.24, but version 1.22.5.0 was found. To fix this, consider updating the snapshot to lts-7.0 or later or to
       nightly-2016-05-26 or later.

Is there a known simple way to make it compile successfully without making changes to the source code?
I am a very beginner in Haskell and thought digging into a code of a demoscene prod would be a good idea to learn some good practices but perhaps the bar is yet too high for me ;-)

the whole console output with errors:

lambdacube-gl                    > Configuring lambdacube-gl-0.2.2...
lambdacube-gl                    > build
lambdacube-gl                    > Preprocessing library for lambdacube-gl-0.2.2..
lambdacube-gl                    > Building library for lambdacube-gl-0.2.2..
lambdacube-gl                    > [1 of 8] Compiling LambdaCube.GL.GLSLCodeGen
lambdacube-gl                    >
lambdacube-gl                    > src\lib\LambdaCube\GL\GLSLCodeGen.hs:438:25: error: [GHC-39999]
lambdacube-gl                    > [2 of 8] Compiling LambdaCube.GL.Type
lambdacube-gl                    >     * No instance for `MonadFail Data.Functor.Identity.Identity'
lambdacube-gl                    >         arising from a do statement
lambdacube-gl                    >         with the failable pattern `[lcE]'
lambdacube-gl                    >     * In a stmt of a 'do' block:
lambdacube-gl                    >         [lcE] <- codeGenExp' dag smpName env' (getBody lc)
lambdacube-gl                    >       In the second argument of `($)', namely
lambdacube-gl                    >         `do [lcE] <- codeGenExp' dag smpName env' (getBody lc)
lambdacube-gl                    >             addStmt (SelectionStatement (UnaryNot lcE) Break Nothing)
lambdacube-gl                    >             stE' <- codeGenExp' dag smpName env' (getBody st)
lambdacube-gl                    >             mapM_ addStmt $ zipWith assign stE stE'
lambdacube-gl                    >             ....'
lambdacube-gl                    >       In the expression:
lambdacube-gl                    >         (flip runState) ([], loopCGenState)
lambdacube-gl                    >           $ do [lcE] <- codeGenExp' dag smpName env' (getBody lc)
lambdacube-gl                    >                addStmt (SelectionStatement (UnaryNot lcE) Break Nothing)
lambdacube-gl                    >                stE' <- codeGenExp' dag smpName env' (getBody st)
lambdacube-gl                    >                mapM_ addStmt $ zipWith assign stE stE'
lambdacube-gl                    >                ....
lambdacube-gl                    >     |
lambdacube-gl                    > 438 |                         [lcE] <- codeGenExp' dag smpName env' (getBody lc)
lambdacube-gl                    >     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
lambdacube-gl                    >
lambdacube-gl                    > src\lib\LambdaCube\GL\GLSLCodeGen.hs:461:17: error: [GHC-39999]
lambdacube-gl                    >     * No instance for `MonadFail Data.Functor.Identity.Identity'
lambdacube-gl                    >         arising from a do statement
lambdacube-gl                    >         with the failable pattern `[p']'
lambdacube-gl                    >     * In a stmt of a 'do' block: [p'] <- codeGenExp' dag smpName env p
lambdacube-gl                    >       In the expression:
lambdacube-gl                    >         do [p'] <- codeGenExp' dag smpName env p
lambdacube-gl                    >            t' <- codeGenExp' dag smpName env t
lambdacube-gl                    >            e' <- codeGenExp' dag smpName env e
lambdacube-gl                    >            let branch a b = Selection p' a b
lambdacube-gl                    >            ....
lambdacube-gl                    >       In a case alternative:
lambdacube-gl                    >           Cond p t e
lambdacube-gl                    >             -> do [p'] <- codeGenExp' dag smpName env p
lambdacube-gl                    >                   t' <- codeGenExp' dag smpName env t
lambdacube-gl                    >                   e' <- codeGenExp' dag smpName env e
lambdacube-gl                    >                   ....
lambdacube-gl                    >     |
lambdacube-gl                    > 461 |                 [p'] <- codeGenExp' dag smpName env p
lambdacube-gl                    >     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
lambdacube-gl                    >
lambdacube-gl                    > src\lib\LambdaCube\GL\GLSLCodeGen.hs:530:13: error: [GHC-39999]
lambdacube-gl                    >     * No instance for `MonadFail Data.Functor.Identity.Identity'
lambdacube-gl                    >         arising from a do statement
lambdacube-gl                    >         with the failable pattern `[sizeE']'
lambdacube-gl                    >     * In a stmt of a 'do' block: [sizeE'] <- genExp size
lambdacube-gl                    >       In the expression:
lambdacube-gl                    >         do a <- genExp pos
lambdacube-gl                    >            let [posE'] = a
lambdacube-gl                    >            [sizeE'] <- genExp size
lambdacube-gl                    >            clipE' <- concat <$> mapM genExp clips
lambdacube-gl                    >            ....
lambdacube-gl                    >       In an equation for `genSrc':
lambdacube-gl                    >           genSrc
lambdacube-gl                    >             = do a <- genExp pos
lambdacube-gl                    >                  let [posE'] = ...
lambdacube-gl                    >                  [sizeE'] <- genExp size
lambdacube-gl                    >                  ....
lambdacube-gl                    >     |
lambdacube-gl                    > 530 |             [sizeE'] <- genExp size
lambdacube-gl                    >     |             ^^^^^^^^^^^^^^^^^^^^^^^
lambdacube-gl                    >
lambdacube-gl                    > src\lib\LambdaCube\GL\GLSLCodeGen.hs:633:17: error: [GHC-39999]
lambdacube-gl                    >     * No instance for `MonadFail Data.Functor.Identity.Identity'
lambdacube-gl                    >         arising from a do statement
lambdacube-gl                    >         with the failable pattern `(primIdE : layerE : stPrimStVertCntVert)'
lambdacube-gl                    >     * In a stmt of a 'do' block:
lambdacube-gl                    >         (primIdE : layerE : stPrimStVertCntVert) <- genExp
lambdacube-gl                    >                                                       (V.singleton stPE) primBody
lambdacube-gl                    >       In the expression:
lambdacube-gl                    >         do (primIdE : layerE : stPrimStVertCntVert) <- genExp
lambdacube-gl                    >                                                          (V.singleton stPE) primBody
lambdacube-gl                    >            let (stPrimE', xsE)
lambdacube-gl                    >                  = splitAt (length primStateE) stPrimStVertCntVert
lambdacube-gl                    >                (stVertE, [vertCntE]) = splitAt (length xsE - 1) xsE
lambdacube-gl                    >                ....
lambdacube-gl                    >            mapM addStmt stVS
lambdacube-gl                    >            (_, varMapV) <- get
lambdacube-gl                    >            ....
lambdacube-gl                    >       In an equation for `primLoop':
lambdacube-gl                    >           primLoop
lambdacube-gl                    >             = do (primIdE : layerE : stPrimStVertCntVert) <- genExp
lambdacube-gl                    >                                                                (V.singleton stPE) primBody
lambdacube-gl                    >                  let (stPrimE', xsE) = ...
lambdacube-gl                    >                      ....
lambdacube-gl                    >                  mapM addStmt stVS
lambdacube-gl                    >                  ....
lambdacube-gl                    >     |
lambdacube-gl                    > 633 |                 (primIdE:layerE:stPrimStVertCntVert) <- genExp (V.singleton stPE) primBody
lambdacube-gl                    >     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
lambdacube-gl                    >
lambdacube-gl                    > src\lib\LambdaCube\GL\GLSLCodeGen.hs:646:25: error: [GHC-39999]
lambdacube-gl                    >     * No instance for `MonadFail Data.Functor.Identity.Identity'
lambdacube-gl                    >         arising from a do statement
lambdacube-gl                    >         with the failable pattern `[sizeE]'
FontyFruity                      > [ 4 of 14] Compiling Graphics.Text.TrueType.Name
lambdacube-gl                    >     * In a stmt of a 'do' block: [sizeE] <- genVert sE
lambdacube-gl                    >       In the expression:
lambdacube-gl                    >         do let env = V.singleton stVE
lambdacube-gl                    >                genVert = genExp env
lambdacube-gl                    >            stVE' <- genVert stE
lambdacube-gl                    >            [posE] <- genVert pE
lambdacube-gl                    >            [sizeE] <- genVert sE
lambdacube-gl                    >            ....
lambdacube-gl                    >       In an equation for `genVertFun':
lambdacube-gl                    >           genVertFun
lambdacube-gl                    >             = do let env = ...
lambdacube-gl                    >                      ....
lambdacube-gl                    >                  stVE' <- genVert stE
lambdacube-gl                    >                  [posE] <- genVert pE
lambdacube-gl                    >                  ....
lambdacube-gl                    >     |
lambdacube-gl                    > 646 |                         [sizeE] <- genVert sE
lambdacube-gl                    >     |                         ^^^^^^^^^^^^^^^^^^^^^
lambdacube-gl                    >
lambdacube-gl                    > src\lib\LambdaCube\GL\Type.hs:12:1: warning: [-Wunused-imports]
lambdacube-gl                    >     The qualified import of `Data.Vector.Unboxed.Mutable' is redundant
lambdacube-gl                    >       except perhaps to import instances from `Data.Vector.Unboxed.Mutable'
lambdacube-gl                    >     To import instances alone, use: import Data.Vector.Unboxed.Mutable()
lambdacube-gl                    >    |
lambdacube-gl                    > 12 | import qualified Data.Vector.Unboxed.Mutable as MV
lambdacube-gl                    >    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
FontyFruity                      > [ 5 of 14] Compiling Graphics.Text.TrueType.Types
FontyFruity                      > [ 6 of 14] Compiling Graphics.Text.TrueType.OffsetTable
lambdacube-gl                    > [3 of 8] Compiling LambdaCube.GL.Util
lambdacube-gl                    >
lambdacube-gl                    > src\lib\LambdaCube\GL\Util.hs:743:24: error:
lambdacube-gl                    >     Ambiguous occurrence `And'
lambdacube-gl                    >     It could refer to
lambdacube-gl                    >        either `Foreign.And',
lambdacube-gl                    >               imported from `Foreign' at src\lib\LambdaCube\GL\Util.hs:35:1-14
lambdacube-gl                    >               (and originally defined in `Data.Bits')
lambdacube-gl                    >            or `LambdaCube.Core.Type.And',
lambdacube-gl                    >               imported from `LambdaCube.Core.Type' at src\lib\LambdaCube\GL\Util.hs:311:1-27
lambdacube-gl                    >     |
lambdacube-gl                    > 743 | logicOperationToGLType And          = gl_AND
lambdacube-gl                    >     |                        ^^^
lambdacube-gl                    >
lambdacube-gl                    > src\lib\LambdaCube\GL\Util.hs:758:24: error:
lambdacube-gl                    >     Ambiguous occurrence `Xor'
lambdacube-gl                    >     It could refer to
lambdacube-gl                    >        either `Foreign.Xor',
lambdacube-gl                    >               imported from `Foreign' at src\lib\LambdaCube\GL\Util.hs:35:1-14
lambdacube-gl                    >               (and originally defined in `Data.Bits')
lambdacube-gl                    >            or `LambdaCube.Core.Type.Xor',
lambdacube-gl                    >               imported from `LambdaCube.Core.Type' at src\lib\LambdaCube\GL\Util.hs:311:1-27
lambdacube-gl                    >     |
lambdacube-gl                    > 758 | logicOperationToGLType Xor          = gl_XOR
lambdacube-gl                    >     |                        ^^^
FontyFruity                      > [ 7 of 14] Compiling Graphics.Text.TrueType.MaxpTable
FontyFruity                      > [ 8 of 14] Compiling Graphics.Text.TrueType.HorizontalInfo
FontyFruity                      > [ 9 of 14] Compiling Graphics.Text.TrueType.Header
FontyFruity                      > [10 of 14] Compiling Graphics.Text.TrueType.FontType
FontyFruity                      > [11 of 14] Compiling Graphics.Text.TrueType.Internal
FontyFruity                      > [12 of 14] Compiling Graphics.Text.TrueType.FontFolders
FontyFruity                      > [13 of 14] Compiling Graphics.Text.TrueType
FontyFruity                      > [14 of 14] Compiling Graphics.Text.TrueType.Bytecode
FontyFruity                      > copy/register
FontyFruity                      > Installing library in C:\sr\snapshots\564d247a\lib\x86_64-windows-ghc-9.6.3\FontyFruity-0.5.3.5-FO0Uq3XOnM2HMd0VNyZFBo
FontyFruity                      > Registering library for FontyFruity-0.5.3.5..
Progress 59/61

Error: [S-7282]
       Stack failed to execute the build plan.

       While executing the build plan, Stack encountered the error:

       [S-7011]
       While building package lambdacube-gl-0.2.2 (scroll up to its section to see the error) using:
       C:\sr\setup-exe-cache\x86_64-windows\Cabal-simple_9p6GVs8J_3.10.1.0_ghc-9.6.3.exe --verbose=1 --builddir=.stack-work\dist\6c8505b4 build --ghc-options " -fdiagnostics-color=always"
       Process exited with code: ExitFailure 1
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant