Please describe the problem.

I'm sorry for barking up the same tree once again but the change of resolver to LTS 19 (now lts-19.33) still causes stack builds to fail on Windows with a plan construction problem. Joey pinned Win32 as Win32-2.11.1.0 in extra-deps and while that might be sufficient on Linux, on Windows stack seems to be rather picky and wants to have none of it. In fact my bumbling around with editing stack.yaml trying to placate the Haskell Stack gods has only found a single solution to the predicament and that is to pin Win32 as Win32-2.9.0.0 (sic! -- due to the dependencies for haskeline) and do similarly with a few other GHC boot packages including Cabal. This setup then builds and tests just fine. (There is a patch to stack.yaml below.)

I know Win32-2.9.0.0 is a bit long in the tooth (although, who knows, maybe it works equally well for git-annex' purposes?) but I wonder do we have a choice if we want to keep aws-0.24 in the configuration?

What steps will reproduce the problem?

stack setup && stack build. Observe the following output:

Error: [S-4804]
       Stack failed to construct a build plan.

       While constructing the build plan, Stack encountered the following errors:

       In the dependencies for Glob-0.10.2:
           directory needed, but this GHC boot package has been pruned (issue #4510); you need to
                     add the package explicitly to extra-deps (latest matching version is 1.3.8.0)
       needed due to git-annex-10.20230214 -> Glob-0.10.2

       In the dependencies for Win32-notify-0.3.0.3:
           directory needed, but this GHC boot package has been pruned (issue #4510); you need to
                     add the package explicitly to extra-deps (latest matching version is 1.3.8.0)
       needed due to git-annex-10.20230214 -> Win32-notify-0.3.0.3

       In the dependencies for aeson-2.0.3.0:
           time must match >=1.6.0.1 && <1.13, but this GHC boot package has been pruned (issue
                #4510); you need to add the package explicitly to extra-deps (latest matching
                version is 1.12.2)
       needed due to git-annex-10.20230214 -> aeson-2.0.3.0

       In the dependencies for alex-3.2.7.1:
           directory needed, but this GHC boot package has been pruned (issue #4510); you need to
                     add the package explicitly to extra-deps (latest matching version is 1.3.8.0)
       needed due to git-annex-10.20230214 -> alex-3.2.7.1

       In the dependencies for attoparsec-iso8601-1.0.2.1:
           time must match >=1.6.0.1 && <1.13, but this GHC boot package has been pruned (issue
                #4510); you need to add the package explicitly to extra-deps (latest matching
                version is 1.12.2)
       needed due to git-annex-10.20230214 -> attoparsec-iso8601-1.0.2.1

       In the dependencies for aws-0.24:
           directory must match >=1.0 && <2.0, but this GHC boot package has been pruned (issue
                     #4510); you need to add the package explicitly to extra-deps (latest matching
                     version is 1.3.8.0)
           time must match >=1.4.0 && <2.0, but this GHC boot package has been pruned (issue
                #4510); you need to add the package explicitly to extra-deps (latest matching
                version is 1.12.2)
       needed due to git-annex-10.20230214 -> aws-0.24

       In the dependencies for cabal-doctest-1.0.9:
           Cabal must match >=1.10 && <3.10, but the Stack configuration has no specified
                 version (latest matching version is 3.8.1.0)
           directory needed, but this GHC boot package has been pruned (issue #4510); you need to
                     add the package explicitly to extra-deps (latest matching version is 1.3.8.0)
       needed due to git-annex-10.20230214 -> cabal-doctest-1.0.9

       In the dependencies for clientsession-0.9.1.2:
           directory must match >=1, but this GHC boot package has been pruned (issue #4510); you
                     need to add the package explicitly to extra-deps (latest matching version is
                     1.3.8.0)
       needed due to git-annex-10.20230214 -> clientsession-0.9.1.2

       In the dependencies for concurrent-output-1.10.16:
           directory must match >=1.2.0 && <1.4.0, but this GHC boot package has been pruned (issue
                     #4510); you need to add the package explicitly to extra-deps (latest matching
                     version is 1.3.8.0)
           process must match >=1.6.0 && <1.7.0, but this GHC boot package has been pruned (issue
                   #4510); you need to add the package explicitly to extra-deps (latest matching
                   version is 1.6.17.0)
       needed due to git-annex-10.20230214 -> concurrent-output-1.10.16

       In the dependencies for conduit-1.3.4.3:
           directory needed, but this GHC boot package has been pruned (issue #4510); you need to
                     add the package explicitly to extra-deps (latest matching version is 1.3.8.0)
       needed due to git-annex-10.20230214 -> conduit-1.3.4.3

       In the dependencies for conduit-extra-1.3.6:
           directory needed, but this GHC boot package has been pruned (issue #4510); you need to
                     add the package explicitly to extra-deps (latest matching version is 1.3.8.0)
           process needed, but this GHC boot package has been pruned (issue #4510); you need to add
                   the package explicitly to extra-deps (latest matching version is 1.6.17.0)
       needed due to git-annex-10.20230214 -> conduit-extra-1.3.6

       In the dependencies for cookie-0.4.5:
           time must match >=1.5, but this GHC boot package has been pruned (issue #4510); you need
                to add the package explicitly to extra-deps (latest matching version is 1.12.2)
       needed due to git-annex-10.20230214 -> cookie-0.4.5

       In the dependencies for criterion-1.5.13.0:
           directory needed, but this GHC boot package has been pruned (issue #4510); you need to
                     add the package explicitly to extra-deps (latest matching version is 1.3.8.0)
           time needed, but this GHC boot package has been pruned (issue #4510); you need to add the
                package explicitly to extra-deps (latest matching version is 1.12.2)
       needed due to git-annex-10.20230214 -> criterion-1.5.13.0

       In the dependencies for easy-file-0.2.2:
           directory needed, but this GHC boot package has been pruned (issue #4510); you need to
                     add the package explicitly to extra-deps (latest matching version is 1.3.8.0)
           time needed, but this GHC boot package has been pruned (issue #4510); you need to add the
                package explicitly to extra-deps (latest matching version is 1.12.2)
       needed due to git-annex-10.20230214 -> easy-file-0.2.2

       In the dependencies for entropy-0.4.1.10:
           Cabal must match >=1.10 && <3.9, but the Stack configuration has no specified
                 version (latest matching version is 3.8.1.0)
           directory must match <1.4, but this GHC boot package has been pruned (issue #4510); you
                     need to add the package explicitly to extra-deps (latest matching version is
                     1.3.8.0)
           process must match <1.7, but this GHC boot package has been pruned (issue #4510); you
                   need to add the package explicitly to extra-deps (latest matching version is
                   1.6.17.0)
       needed due to git-annex-10.20230214 -> entropy-0.4.1.10

       In the dependencies for fast-logger-3.1.1:
           directory needed, but this GHC boot package has been pruned (issue #4510); you need to
                     add the package explicitly to extra-deps (latest matching version is 1.3.8.0)
       needed due to git-annex-10.20230214 -> fast-logger-3.1.1

       In the dependencies for feed-1.3.2.1:
           time must match <1.12, but this GHC boot package has been pruned (issue #4510); you need
                to add the package explicitly to extra-deps (latest matching version is 1.11.1.2)
       needed due to git-annex-10.20230214 -> feed-1.3.2.1

       In the dependencies for file-embed-0.0.15.0:
           directory must match >=1.0.0.3, but this GHC boot package has been pruned (issue
                     #4510); you need to add the package explicitly to extra-deps (latest matching
                     version is 1.3.8.0)
       needed due to git-annex-10.20230214 -> file-embed-0.0.15.0

       In the dependencies for git-annex-10.20230214(+assistant
       +benchmark
       -dbus
       -debuglocks
       +gitlfs
       -magicmime
       +pairing
       +production
       +torrentparser):
           Cabal must match <4.0, but the Stack configuration has no specified version (latest
                 matching version is 3.8.1.0)
           directory must match >=1.2.7.0, but this GHC boot package has been pruned (issue
                     #4510); you need to add the package explicitly to extra-deps (latest matching
                     version is 1.3.8.0)
           process must match >=1.6.3, but this GHC boot package has been pruned (issue #4510); you
                   need to add the package explicitly to extra-deps (latest matching version is
                   1.6.17.0)
           time must match >=1.5.0, but this GHC boot package has been pruned (issue #4510); you
                need to add the package explicitly to extra-deps (latest matching version is 1.12.2)
       needed since git-annex is a build target.

       In the dependencies for haskeline-0.8.2:
           Win32-2.11.1.0 from Stack configuration does not match >=2.1 && <2.10 || >=2.12 (latest
                          matching version is 2.13.4.0)
           directory must match >=1.1 && <1.4, but this GHC boot package has been pruned (issue
                     #4510); you need to add the package explicitly to extra-deps (latest matching
                     version is 1.3.8.0)
           process must match >=1.0 && <1.7, but this GHC boot package has been pruned (issue
                   #4510); you need to add the package explicitly to extra-deps (latest matching
                   version is 1.6.17.0)
       needed due to git-annex-10.20230214 -> haskeline-0.8.2

       In the dependencies for http-client-0.7.13.1:
           time must match >=1.2, but this GHC boot package has been pruned (issue #4510); you need
                to add the package explicitly to extra-deps (latest matching version is 1.12.2)
       needed due to git-annex-10.20230214 -> http-client-0.7.13.1

       In the dependencies for http-date-0.0.11:
           time needed, but this GHC boot package has been pruned (issue #4510); you need to add the
                package explicitly to extra-deps (latest matching version is 1.12.2)
       needed due to git-annex-10.20230214 -> http-date-0.0.11

       In the dependencies for libyaml-0.1.2:
           directory needed, but this GHC boot package has been pruned (issue #4510); you need to
                     add the package explicitly to extra-deps (latest matching version is 1.3.8.0)
       needed due to git-annex-10.20230214 -> libyaml-0.1.2

       In the dependencies for microstache-1.0.2.2:
           directory must match >=1.1.0.2 && <1.4, but this GHC boot package has been pruned (issue
                     #4510); you need to add the package explicitly to extra-deps (latest matching
                     version is 1.3.8.0)
       needed due to git-annex-10.20230214 -> microstache-1.0.2.2

       In the dependencies for mwc-random-0.15.0.2:
           time needed, but this GHC boot package has been pruned (issue #4510); you need to add the
                package explicitly to extra-deps (latest matching version is 1.12.2)
       needed due to git-annex-10.20230214 -> mwc-random-0.15.0.2

       In the dependencies for network-3.1.2.7:
           directory needed, but this GHC boot package has been pruned (issue #4510); you need to
                     add the package explicitly to extra-deps (latest matching version is 1.3.8.0)
       needed due to git-annex-10.20230214 -> network-3.1.2.7

       In the dependencies for optparse-applicative-0.16.1.0:
           process must match >=1.0 && <1.7, but this GHC boot package has been pruned (issue
                   #4510); you need to add the package explicitly to extra-deps (latest matching
                   version is 1.6.17.0)
       needed due to git-annex-10.20230214 -> optparse-applicative-0.16.1.0

       In the dependencies for path-pieces-0.2.1:
           time needed, but this GHC boot package has been pruned (issue #4510); you need to add the
                package explicitly to extra-deps (latest matching version is 1.12.2)
       needed due to git-annex-10.20230214 -> path-pieces-0.2.1

       In the dependencies for persistent-2.13.3.5:
           time must match >=1.6, but this GHC boot package has been pruned (issue #4510); you need
                to add the package explicitly to extra-deps (latest matching version is 1.12.2)
       needed due to git-annex-10.20230214 -> persistent-2.13.3.5

       In the dependencies for persistent-sqlite-2.13.1.0:
           time needed, but this GHC boot package has been pruned (issue #4510); you need to add the
                package explicitly to extra-deps (latest matching version is 1.12.2)
       needed due to git-annex-10.20230214 -> persistent-sqlite-2.13.1.0

       In the dependencies for resource-pool-0.2.3.2:
           time needed, but this GHC boot package has been pruned (issue #4510); you need to add the
                package explicitly to extra-deps (latest matching version is 1.12.2)
       needed due to git-annex-10.20230214 -> resource-pool-0.2.3.2

       In the dependencies for shakespeare-2.0.30:
           directory must match >=1.2, but this GHC boot package has been pruned (issue #4510); you
                     need to add the package explicitly to extra-deps (latest matching version is
                     1.3.8.0)
           process must match >=1.0, but this GHC boot package has been pruned (issue #4510); you
                   need to add the package explicitly to extra-deps (latest matching version is
                   1.6.17.0)
           time must match >=1, but this GHC boot package has been pruned (issue #4510); you need to
                add the package explicitly to extra-deps (latest matching version is 1.12.2)
       needed due to git-annex-10.20230214 -> shakespeare-2.0.30

       In the dependencies for silently-1.2.5.3:
           directory needed, but this GHC boot package has been pruned (issue #4510); you need to
                     add the package explicitly to extra-deps (latest matching version is 1.3.8.0)
       needed due to git-annex-10.20230214 -> silently-1.2.5.3

       In the dependencies for streaming-commons-0.2.2.5:
           directory needed, but this GHC boot package has been pruned (issue #4510); you need to
                     add the package explicitly to extra-deps (latest matching version is 1.3.8.0)
           process needed, but this GHC boot package has been pruned (issue #4510); you need to add
                   the package explicitly to extra-deps (latest matching version is 1.6.17.0)
       needed due to git-annex-10.20230214 -> streaming-commons-0.2.2.5

       In the dependencies for terminal-size-0.3.3:
           process needed, but this GHC boot package has been pruned (issue #4510); you need to add
                   the package explicitly to extra-deps (latest matching version is 1.6.17.0)
       needed due to git-annex-10.20230214 -> terminal-size-0.3.3

       In the dependencies for th-compat-0.1.4:
           directory must match >=1.1.0.0 && <1.4, but this GHC boot package has been pruned (issue
                     #4510); you need to add the package explicitly to extra-deps (latest matching
                     version is 1.3.8.0)
       needed due to git-annex-10.20230214 -> th-compat-0.1.4

       In the dependencies for time-compat-1.9.6.1:
           time must
                match >=1.5 && <1.7 || >=1.8 && <1.9 || >=1.9.2 && <1.9.4 || >=1.10 && <1.10.1 || >=1.11 && <1.11.2 || >=1.12 && <1.13,
                but this GHC boot package has been pruned (issue #4510); you need to add the package
                explicitly to extra-deps (latest matching version is 1.12.2)
       needed due to git-annex-10.20230214 -> time-compat-1.9.6.1

       In the dependencies for time-locale-compat-0.1.1.5(-old-locale):
           time must match >=1.5, but this GHC boot package has been pruned (issue #4510); you need
                to add the package explicitly to extra-deps (latest matching version is 1.12.2)
       needed due to git-annex-10.20230214 -> time-locale-compat-0.1.1.5

       In the dependencies for typed-process-0.2.10.1:
           process must match >=1.2, but this GHC boot package has been pruned (issue #4510); you
                   need to add the package explicitly to extra-deps (latest matching version is
                   1.6.17.0)
       needed due to git-annex-10.20230214 -> typed-process-0.2.10.1

       In the dependencies for unix-compat-0.5.4:
           directory must match >=1.2 && <1.4, but this GHC boot package has been pruned (issue
                     #4510); you need to add the package explicitly to extra-deps (latest matching
                     version is 1.3.8.0)
           time must match >=1.0 && <1.13, but this GHC boot package has been pruned (issue
                #4510); you need to add the package explicitly to extra-deps (latest matching
                version is 1.12.2)
       needed due to git-annex-10.20230214 -> unix-compat-0.5.4

       In the dependencies for unliftio-0.2.23.0:
           directory needed, but this GHC boot package has been pruned (issue #4510); you need to
                     add the package explicitly to extra-deps (latest matching version is 1.3.8.0)
           process must match >=1.2.0.0, but this GHC boot package has been pruned (issue
                   #4510); you need to add the package explicitly to extra-deps (latest matching
                   version is 1.6.17.0)
           time needed, but this GHC boot package has been pruned (issue #4510); you need to add the
                package explicitly to extra-deps (latest matching version is 1.12.2)
       needed due to git-annex-10.20230214 -> unliftio-0.2.23.0

       In the dependencies for uuid-1.3.15:
           time must match >=1.4 && <1.13, but this GHC boot package has been pruned (issue
                #4510); you need to add the package explicitly to extra-deps (latest matching
                version is 1.12.2)
       needed due to git-annex-10.20230214 -> uuid-1.3.15

       In the dependencies for wai-app-static-3.1.7.4:
           directory must match >=1.0.1, but this GHC boot package has been pruned (issue
                     #4510); you need to add the package explicitly to extra-deps (latest matching
                     version is 1.3.8.0)
           time must match >=1.1.4, but this GHC boot package has been pruned (issue #4510); you
                need to add the package explicitly to extra-deps (latest matching version is 1.12.2)
       needed due to git-annex-10.20230214 -> wai-app-static-3.1.7.4

       In the dependencies for wai-extra-3.1.12.1:
           directory must match >=1.2.7.0, but this GHC boot package has been pruned (issue
                     #4510); you need to add the package explicitly to extra-deps (latest matching
                     version is 1.3.8.0)
           time must match >=1.1.4, but this GHC boot package has been pruned (issue #4510); you
                need to add the package explicitly to extra-deps (latest matching version is 1.12.2)
       needed due to git-annex-10.20230214 -> wai-extra-3.1.12.1

       In the dependencies for wai-logger-2.4.0:
           Cabal needed, but the Stack configuration has no specified version (latest matching
                 version is 3.8.1.0)
       needed due to git-annex-10.20230214 -> wai-logger-2.4.0

       In the dependencies for warp-3.3.21:
           time needed, but this GHC boot package has been pruned (issue #4510); you need to add the
                package explicitly to extra-deps (latest matching version is 1.12.2)
       needed due to git-annex-10.20230214 -> warp-3.3.21

       In the dependencies for x509-store-1.6.9:
           directory needed, but this GHC boot package has been pruned (issue #4510); you need to
                     add the package explicitly to extra-deps (latest matching version is 1.3.8.0)
       needed due to git-annex-10.20230214 -> x509-store-1.6.9

       In the dependencies for x509-system-1.6.7:
           directory needed, but this GHC boot package has been pruned (issue #4510); you need to
                     add the package explicitly to extra-deps (latest matching version is 1.3.8.0)
           process needed, but this GHC boot package has been pruned (issue #4510); you need to add
                   the package explicitly to extra-deps (latest matching version is 1.6.17.0)
       needed due to git-annex-10.20230214 -> x509-system-1.6.7

       In the dependencies for xml-conduit-1.9.1.1:
           Cabal needed, but the Stack configuration has no specified version (latest matching
                 version is 3.8.1.0)
       needed due to git-annex-10.20230214 -> xml-conduit-1.9.1.1

       In the dependencies for yaml-0.11.8.0:
           directory needed, but this GHC boot package has been pruned (issue #4510); you need to
                     add the package explicitly to extra-deps (latest matching version is 1.3.8.0)
       needed due to git-annex-10.20230214 -> yaml-0.11.8.0

       In the dependencies for yesod-1.6.2.1:
           directory needed, but this GHC boot package has been pruned (issue #4510); you need to
                     add the package explicitly to extra-deps (latest matching version is 1.3.8.0)
       needed due to git-annex-10.20230214 -> yesod-1.6.2.1

       In the dependencies for yesod-core-1.6.24.0:
           time must match >=1.5, but this GHC boot package has been pruned (issue #4510); you need
                to add the package explicitly to extra-deps (latest matching version is 1.12.2)
       needed due to git-annex-10.20230214 -> yesod-core-1.6.24.0

       In the dependencies for yesod-form-1.7.3:
           time must match >=1.1.4, but this GHC boot package has been pruned (issue #4510); you
                need to add the package explicitly to extra-deps (latest matching version is 1.12.2)
       needed due to git-annex-10.20230214 -> yesod-form-1.7.3

       In the dependencies for yesod-static-1.6.1.0:
           directory must match >=1.0, but this GHC boot package has been pruned (issue #4510); you
                     need to add the package explicitly to extra-deps (latest matching version is
                     1.3.8.0)
           process needed, but this GHC boot package has been pruned (issue #4510); you need to add
                   the package explicitly to extra-deps (latest matching version is 1.6.17.0)
       needed due to git-annex-10.20230214 -> yesod-static-1.6.1.0

# End of transcript or log.

What version of git-annex are you using? On what operating system?

git-annex version: 10.20230215-g648e59cac
build flags: Assistant Webapp Pairing TorrentParser Benchmark Feeds Testsuite S3 WebDAV
dependency versions: aws-0.24 bloomfilter-2.0.1.0 cryptonite-0.29 DAV-1.3.4 feed-1.3.2.1 ghc-9.0.2 http-client-0.7.13.1 persistent-sqlite-2.13.1.0 torrent-10000.1.1 uuid-1.3.15 yesod-1.6.2.1
key/value backends: SHA256E SHA256 SHA512E SHA512 SHA224E SHA224 SHA384E SHA384 SHA3_256E SHA3_256 SHA3_512E SHA3_512 SHA3_224E SHA3_224 SHA3_384E SHA3_384 SKEIN256E SKEIN256 SKEIN512E SKEIN512 BLAKE2B256E BLAKE2B256 BLAKE2B512E BLAKE2B512 BLAKE2B160E BLAKE2B160 BLAKE2B224E BLAKE2B224 BLAKE2B384E BLAKE2B384 BLAKE2BP512E BLAKE2BP512 BLAKE2S256E BLAKE2S256 BLAKE2S160E BLAKE2S160 BLAKE2S224E BLAKE2S224 BLAKE2SP256E BLAKE2SP256 BLAKE2SP224E BLAKE2SP224 SHA1E SHA1 MD5E MD5 WORM URL X*
remote types: git gcrypt p2p S3 bup directory rsync web bittorrent webdav adb tahoe glacier ddar git-lfs httpalso borg hook external
operating system: mingw32 x86_64
supported repository versions: 8 9 10
upgrade supported from repository versions: 2 3 4 5 6 7 8 9 10

A successful build that passes the testsuite on Windows is achieved with the patch to stack.yaml below.

Windows 10 version 22H2 (build 19045.2486), 64 bit.

Please provide any additional information below.

Apply the following patch to build on Windows:

diff --git a/stack.yaml b/stack.yaml
index c7fb4b099..f6a5e06e9 100644
--- a/stack.yaml
+++ b/stack.yaml
@@ -21,4 +21,8 @@ extra-deps:
 - network-multicast-0.3.2
 - sandi-0.5
 - torrent-10000.1.1
-- Win32-2.11.1.0
+- Win32-2.9.0.0
+- Cabal-3.6.3.0
+- directory-1.3.7.1
+- process-1.6.17.0
+- time-1.11.1.2

Have you had any luck using git-annex before? (Sometimes we get tired of reading bug reports all day and a lil' positive end note does wonders)

Git Annex is great. I use it several times a week with my multigigabyte backups, where it gives structure to my image-based backup routines, so you could say I'm a believer. :)

fixed --Joey