What I get is:
> cabal install Shake
Resolving dependencies...
Configuring shake-0.16.1...
Building shake-0.16.1...
Failed to install shake-0.16.1
Build log ( /home/xxx/.cabal/logs/shake-0.16.1.log ):
Configuring shake-0.16.1...
Preprocessing executable 'shake' for shake-0.16.1..
Building executable 'shake' for shake-0.16.1..
Warning: Enabling workaround for Main module 'Run' listed in 'other-modules'
illegaly!
[ 1 of 56] Compiling General.Bilist ( src/General/Bilist.hs, dist/build/shake/shake-tmp/General/Bilist.o )
[ 2 of 56] Compiling General.Template ( src/General/Template.hs, dist/build/shake/shake-tmp/General/Template.o )
[ 3 of 56] Compiling General.Concurrent ( src/General/Concurrent.hs, dist/build/shake/shake-tmp/General/Concurrent.o )
[ 4 of 56] Compiling General.ListBuilder ( src/General/ListBuilder.hs, dist/build/shake/shake-tmp/General/ListBuilder.o )
[ 5 of 56] Compiling General.Bag ( src/General/Bag.hs, dist/build/shake/shake-tmp/General/Bag.o )
[ 6 of 56] Compiling General.Binary ( src/General/Binary.hs, dist/build/shake/shake-tmp/General/Binary.o )
[ 7 of 56] Compiling General.Cleanup ( src/General/Cleanup.hs, dist/build/shake/shake-tmp/General/Cleanup.o )
[ 8 of 56] Compiling Development.Shake.Internal.Core.Monad ( src/Development/Shake/Internal/Core/Monad.hs, dist/build/shake/shake-tmp/Development/Shake/Internal/Core/Monad.o )
[ 9 of 56] Compiling General.GetOpt ( src/General/GetOpt.hs, dist/build/shake/shake-tmp/General/GetOpt.o )
[10 of 56] Compiling Paths_shake ( dist/build/shake/autogen/Paths_shake.hs, dist/build/shake/shake-tmp/Paths_shake.o )
[11 of 56] Compiling Development.Shake.FilePath ( src/Development/Shake/FilePath.hs, dist/build/shake/shake-tmp/Development/Shake/FilePath.o )
[12 of 56] Compiling Development.Shake.Internal.CmdOption ( src/Development/Shake/Internal/CmdOption.hs, dist/build/shake/shake-tmp/Development/Shake/Internal/CmdOption.o )
[13 of 56] Compiling Development.Shake.Classes ( src/Development/Shake/Classes.hs, dist/build/shake/shake-tmp/Development/Shake/Classes.o )
[14 of 56] Compiling General.Intern ( src/General/Intern.hs, dist/build/shake/shake-tmp/General/Intern.o )
[15 of 56] Compiling General.Ids ( src/General/Ids.hs, dist/build/shake/shake-tmp/General/Ids.o )
[16 of 56] Compiling Development.Shake.Internal.Progress ( src/Development/Shake/Internal/Progress.hs, dist/build/shake/shake-tmp/Development/Shake/Internal/Progress.o )
[17 of 56] Compiling Development.Shake.Internal.Errors ( src/Development/Shake/Internal/Errors.hs, dist/build/shake/shake-tmp/Development/Shake/Internal/Errors.o )
[18 of 56] Compiling Development.Shake.Internal.Value ( src/Development/Shake/Internal/Value.hs, dist/build/shake/shake-tmp/Development/Shake/Internal/Value.o )
[19 of 56] Compiling Development.Shake.Internal.FilePattern ( src/Development/Shake/Internal/FilePattern.hs, dist/build/shake/shake-tmp/Development/Shake/Internal/FilePattern.o )
[20 of 56] Compiling Development.Shake.Internal.Options ( src/Development/Shake/Internal/Options.hs, dist/build/shake/shake-tmp/Development/Shake/Internal/Options.o )
[21 of 56] Compiling Development.Shake.Internal.Core.Rendezvous ( src/Development/Shake/Internal/Core/Rendezvous.hs, dist/build/shake/shake-tmp/Development/Shake/Internal/Core/Rendezvous.o )
[22 of 56] Compiling Development.Shake.Internal.FileName ( src/Development/Shake/Internal/FileName.hs, dist/build/shake/shake-tmp/Development/Shake/Internal/FileName.o )
[23 of 56] Compiling Development.Shake.Internal.FileInfo ( src/Development/Shake/Internal/FileInfo.hs, dist/build/shake/shake-tmp/Development/Shake/Internal/FileInfo.o )
[24 of 56] Compiling General.Makefile ( src/General/Makefile.hs, dist/build/shake/shake-tmp/General/Makefile.o )
[25 of 56] Compiling General.Timing ( src/General/Timing.hs, dist/build/shake/shake-tmp/General/Timing.o )
[26 of 56] Compiling General.Extra ( src/General/Extra.hs, dist/build/shake/shake-tmp/General/Extra.o )
[27 of 56] Compiling General.Process ( src/General/Process.hs, dist/build/shake/shake-tmp/General/Process.o )
[28 of 56] Compiling Development.Shake.Internal.Core.Pool ( src/Development/Shake/Internal/Core/Pool.hs, dist/build/shake/shake-tmp/Development/Shake/Internal/Core/Pool.o )
[29 of 56] Compiling Development.Shake.Internal.Resource ( src/Development/Shake/Internal/Resource.hs, dist/build/shake/shake-tmp/Development/Shake/Internal/Resource.o )
[30 of 56] Compiling Development.Shake.Internal.Profile ( src/Development/Shake/Internal/Profile.hs, dist/build/shake/shake-tmp/Development/Shake/Internal/Profile.o )
[31 of 56] Compiling General.Chunks ( src/General/Chunks.hs, dist/build/shake/shake-tmp/General/Chunks.o )
[32 of 56] Compiling General.FileLock ( src/General/FileLock.hs, dist/build/shake/shake-tmp/General/FileLock.o )
[33 of 56] Compiling Development.Shake.Internal.Core.Storage ( src/Development/Shake/Internal/Core/Storage.hs, dist/build/shake/shake-tmp/Development/Shake/Internal/Core/Storage.o )
[34 of 56] Compiling Development.Shake.Internal.Core.Database ( src/Development/Shake/Internal/Core/Database.hs, dist/build/shake/shake-tmp/Development/Shake/Internal/Core/Database.o )
[35 of 56] Compiling Development.Shake.Internal.Core.Types ( src/Development/Shake/Internal/Core/Types.hs, dist/build/shake/shake-tmp/Development/Shake/Internal/Core/Types.o )
[36 of 56] Compiling Development.Shake.Internal.Core.Rules ( src/Development/Shake/Internal/Core/Rules.hs, dist/build/shake/shake-tmp/Development/Shake/Internal/Core/Rules.o )
src/Development/Shake/Internal/Core/Rules.hs:107:70:
Not in scope: `Map.unionWithKey'
Perhaps you meant `Map.unionWith' (imported from Data.HashMap.Strict)
cabal: Error: some packages failed to install:
shake-0.16.1 failed during the building phase. The exception was:
ExitFailure 1
Does anyone has an Idea?
Kind regards
I had to install a newer version of ghc in order to update unordered-containers to 0.2.9 (0.2.8 was not enogh)
Yes you are right, at that time I had two versions and I took an incorrect version 0.2.8-version. I was first using a pretty old pre-installed version (I think it was a 7.6.3 version). Thanks a lot for the update.
I have now tested shake with my project (using build.ninja as a start). Unfortunately it did not work with those targets generated with CMAKE_AUTORCC. For all those targets, I get the following error:
> shake -VV
# Project
# CMakeFiles/Project.dir/CMakeFiles/Project.dir/qrc_resources.cpp.o
# CMakeFiles/Project.dir/qrc_resources.cpp
# CMakeFiles/Project_automoc CMakeFiles/Project.dir/qrc_resources.cpp
Automatic rcc for target Project
cd /home/... && /opt/kcmake34/bin/cmake -E cmake_autogen /home/...CMakeFiles/Project_automoc.dir/ ""
shake: Error when running Shake build system:
* Project
* CMakeFiles/Project.dir/CMakeFiles/Project.dir/qrc_resources.cpp.o
* CMakeFiles/Project.dir/qrc_resources.cpp
Prelude.!!: index too large
I have reduced the problem to the following simple standalone build.ninja:
ninja_required_version = 1.5
build test : phony a b
rule CUSTOM_COMMAND
command = $COMMAND
build a b : CUSTOM_COMMAND
COMMAND = cd
With ninja, this works without an error. With shake I get:
# cd (for a b)
shake: Error when running Shake build system:
* b
Prelude.!!: index too large
This is caused by Internal/Rules/Files.hs, Line 187. I have no idea what to change.
Best, Lukas