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

Error: directory-1.2.1.0-[...] is shadowed by package directory-1.2.1.0-[...] #1025

Closed
bitemyapp opened this issue Sep 21, 2015 · 16 comments
Closed
Assignees
Milestone

Comments

@bitemyapp
Copy link
Contributor

Installing library in
/home/callen/work/bloodhound/.stack-work/install/x86_64-linux/lts-2.18/7.8.4/lib/x86_64-linux-ghc-7.8.4/bloodhound-0.8.0.0
Registering bloodhound-0.8.0.0...
Progress: 24/25
--  While building package doctest-0.10.1 using:
      /home/callen/.stack/setup-exe-cache/setup-Simple-Cabal-1.18.1.5-x86_64-linux-ghc-7.8.4 --builddir=.stack-work/dist/x86_64-linux/Cabal-1.18.1.5/ build --ghc-options -hpcdir .stack-work/dist/x86_64-linux/Cabal-1.18.1.5/hpc/.hpc/ -ddump-hi -ddump-to-file
    Process exited with code: ExitFailure 1
    Logs have been written to: /home/callen/work/bloodhound/.stack-work/logs/doctest-0.10.1.log

    Configuring doctest-0.10.1...
    Warning: This package indirectly depends on multiple versions of the same
    package. This is highly likely to cause a compile failure.
    package process-1.2.0.0 requires directory-1.2.1.0
    package doctest-0.10.1 requires directory-1.2.1.0
    package process-1.2.0.0 requires directory-1.2.1.0
    package hpc-0.6.0.1 requires directory-1.2.1.0
    package ghc-7.8.4 requires directory-1.2.1.0
    package Cabal-1.18.1.5 requires directory-1.2.1.0
    package ghc-7.8.4 requires process-1.2.0.0
    package Cabal-1.18.1.5 requires process-1.2.0.0
    package doctest-0.10.1 requires process-1.2.0.0
    package unix-2.7.0.1 requires time-1.4.2
    package hpc-0.6.0.1 requires time-1.4.2
    package ghc-7.8.4 requires time-1.4.2
    package directory-1.2.1.0 requires time-1.4.2
    package Cabal-1.18.1.5 requires time-1.4.2
    package unix-2.7.0.1 requires time-1.5.0.1
    package directory-1.2.1.0 requires time-1.5.0.1
    package process-1.2.0.0 requires unix-2.7.0.1
    package directory-1.2.1.0 requires unix-2.7.0.1
    package process-1.2.0.0 requires unix-2.7.0.1
    package ghc-7.8.4 requires unix-2.7.0.1
    package directory-1.2.1.0 requires unix-2.7.0.1
    package Cabal-1.18.1.5 requires unix-2.7.0.1
    Building doctest-0.10.1...
    Preprocessing library doctest-0.10.1...
    <command line>: cannot satisfy -package-id directory-1.2.1.0-012c0239af73dff37e458d712036a12e: 
        directory-1.2.1.0-012c0239af73dff37e458d712036a12e is shadowed by package directory-1.2.1.0-07cd1f59e3c6cac5e3e180019c59a115
        (use -v for more information)

https://github.com/bitemyapp/bloodhound/tree/aeson-0.10

Repro: stack test

stack clean and rm -rf .stack-work don't rectify it.

Incidentally, this mirrors a problem I was having at work as well on a very different sort of project but for the same upgrade (aeson-0.10).

@snoyberg
Copy link
Contributor

Can you test with stack master? I recently fixed a similar issue. On
mobile, I can't provide the link

On Tue, Sep 22, 2015, 2:58 AM Chris Allen notifications@github.com wrote:

Installing library in
/home/callen/work/bloodhound/.stack-work/install/x86_64-linux/lts-2.18/7.8.4/lib/x86_64-linux-ghc-7.8.4/bloodhound-0.8.0.0
Registering bloodhound-0.8.0.0...
Progress: 24/25
-- While building package doctest-0.10.1 using:
/home/callen/.stack/setup-exe-cache/setup-Simple-Cabal-1.18.1.5-x86_64-linux-ghc-7.8.4 --builddir=.stack-work/dist/x86_64-linux/Cabal-1.18.1.5/ build --ghc-options -hpcdir .stack-work/dist/x86_64-linux/Cabal-1.18.1.5/hpc/.hpc/ -ddump-hi -ddump-to-file
Process exited with code: ExitFailure 1
Logs have been written to: /home/callen/work/bloodhound/.stack-work/logs/doctest-0.10.1.log

Configuring doctest-0.10.1...
Warning: This package indirectly depends on multiple versions of the same
package. This is highly likely to cause a compile failure.
package process-1.2.0.0 requires directory-1.2.1.0
package doctest-0.10.1 requires directory-1.2.1.0
package process-1.2.0.0 requires directory-1.2.1.0
package hpc-0.6.0.1 requires directory-1.2.1.0
package ghc-7.8.4 requires directory-1.2.1.0
package Cabal-1.18.1.5 requires directory-1.2.1.0
package ghc-7.8.4 requires process-1.2.0.0
package Cabal-1.18.1.5 requires process-1.2.0.0
package doctest-0.10.1 requires process-1.2.0.0
package unix-2.7.0.1 requires time-1.4.2
package hpc-0.6.0.1 requires time-1.4.2
package ghc-7.8.4 requires time-1.4.2
package directory-1.2.1.0 requires time-1.4.2
package Cabal-1.18.1.5 requires time-1.4.2
package unix-2.7.0.1 requires time-1.5.0.1
package directory-1.2.1.0 requires time-1.5.0.1
package process-1.2.0.0 requires unix-2.7.0.1
package directory-1.2.1.0 requires unix-2.7.0.1
package process-1.2.0.0 requires unix-2.7.0.1
package ghc-7.8.4 requires unix-2.7.0.1
package directory-1.2.1.0 requires unix-2.7.0.1
package Cabal-1.18.1.5 requires unix-2.7.0.1
Building doctest-0.10.1...
Preprocessing library doctest-0.10.1...
<command line>: cannot satisfy -package-id directory-1.2.1.0-012c0239af73dff37e458d712036a12e:
    directory-1.2.1.0-012c0239af73dff37e458d712036a12e is shadowed by package directory-1.2.1.0-07cd1f59e3c6cac5e3e180019c59a115
    (use -v for more information)

https://github.com/bitemyapp/bloodhound/tree/aeson-0.10

Incidentally, this mirrors a problem I was having at work as well on a
totally different sort of project but for the same upgrade (aeson-0.10).


Reply to this email directly or view it on GitHub
#1025.

@bitemyapp
Copy link
Contributor Author

@snoyberg after a stack upgrade --git and rm -rf .stack-work

aeson-0.10.0.0: install
Progress: 17/25
--  While building package directory-1.2.1.0 using:
      /home/callen/.stack/programs/x86_64-linux/ghc-7.8.4/bin/runhaskell -clear-package-db -global-package-db -package-db=/home/callen/.stack/snapshots/x86_64-linux/lts-2.18/7.8.4/pkgdb/ -package-db=/home/callen/work/bloodhound/.stack-work/install/x86_64-linux/lts-2.18/7.8.4/pkgdb/ -hide-all-packages -package=Cabal-1.18.1.5 -package-id=array-0.5.0.0-470385a50d2b78598af85cfe9d988e1b -package-id=base-4.7.0.2-bfd89587617e381ae01b8dd7b6c7f1c1 -package-id=binary-0.7.1.0-f867dbbb69966feb9f5c4ef7695a70a5 -package-id=bytestring-0.10.4.0-d6f1d17d717e8652498cab8269a0acd5 -package-id=containers-0.5.5.1-d4bd887fb97aa3a46cbadc13709b7653 -package-id=deepseq-1.3.0.2-63a1ab91b7017a28bb5d04cb1b5d2d02 -package-id=filepath-1.3.0.2-25a474a9272ae6260626ce0d70ad1cab -package-id=ghc-prim-0.3.1.0-a24f9c14c632d75b683d0f93283aea37 -package-id=hoopl-3.10.0.1-267659e4b5b51c3d2e02f2a6d6f46936 -package-id=integer-gmp-0.5.1.0-26579559b3647acf4f01d5edd9491a46 -package-id=old-locale-1.0.0.6-50b0125c49f76af85dc7aa22975cdc34 -package-id=old-time-1.1.0.2-e3f776e97c1a6ff1770b04943a7ef7c6 -package-id=pretty-1.1.1.1-0984f47ffe93ef3983c80b96280f1c3a -package-id=template-haskell-2.9.0.0-6d27c2b362b15abb1822f2f34b9ae7f9 -package-id=terminfo-0.4.0.0-c1d02a7210b0d1bc250d87463b38b8d1 -package-id=time-1.5.0.1-f6fed0475a07fa693a3851340db7598a -package-id=transformers-0.3.0.0-6458c21515cab7c1cf21e53141557a1c -package-id=unix-2.7.0.1-262bd75c512e6c503b9caa2095871264 -package-id=xhtml-3000.2.1-6a3ed472b07e58fe29db22a5bc2bdb06 /tmp/stack4266/directory-1.2.1.0/Setup.hs --builddir=.stack-work/dist/x86_64-linux/Cabal-1.18.1.5/ configure --user --package-db=clear --package-db=global --package-db=/home/callen/.stack/snapshots/x86_64-linux/lts-2.18/7.8.4/pkgdb/ --package-db=/home/callen/work/bloodhound/.stack-work/install/x86_64-linux/lts-2.18/7.8.4/pkgdb/ --libdir=/home/callen/work/bloodhound/.stack-work/install/x86_64-linux/lts-2.18/7.8.4/lib --bindir=/home/callen/work/bloodhound/.stack-work/install/x86_64-linux/lts-2.18/7.8.4/bin --datadir=/home/callen/work/bloodhound/.stack-work/install/x86_64-linux/lts-2.18/7.8.4/share --libexecdir=/home/callen/work/bloodhound/.stack-work/install/x86_64-linux/lts-2.18/7.8.4/libexec --sysconfdir=/home/callen/work/bloodhound/.stack-work/install/x86_64-linux/lts-2.18/7.8.4/etc --docdir=/home/callen/work/bloodhound/.stack-work/install/x86_64-linux/lts-2.18/7.8.4/doc/directory-1.2.1.0 --htmldir=/home/callen/work/bloodhound/.stack-work/install/x86_64-linux/lts-2.18/7.8.4/doc/directory-1.2.1.0 --haddockdir=/home/callen/work/bloodhound/.stack-work/install/x86_64-linux/lts-2.18/7.8.4/doc/directory-1.2.1.0 --constraint=base==4.7.0.2 --constraint=filepath==1.3.0.2 --constraint=time==1.5.0.1 --constraint=unix==2.7.0.1
    Process exited with code: ExitFailure 1
    Logs have been written to: /home/callen/work/bloodhound/.stack-work/logs/directory-1.2.1.0.log

    <command line>: cannot satisfy -package Cabal-1.18.1.5: 
        Cabal-1.18.1.5-6478013104bde01737bfd67d34bbee0a is unusable due to missing or recursive dependencies:
          directory-1.2.1.0-07cd1f59e3c6cac5e3e180019c59a115 process-1.2.0.0-06c3215a79834ce4886ae686a0f81122 unix-2.7.0.1-f8658ba9ec1c4fba8a371a8e0f42ec6c
        (use -v for more information)


--  While building package network-2.6.2.1 using:
      /home/callen/.stack/programs/x86_64-linux/ghc-7.8.4/bin/runhaskell -clear-package-db -global-package-db -package-db=/home/callen/.stack/snapshots/x86_64-linux/lts-2.18/7.8.4/pkgdb/ -package-db=/home/callen/work/bloodhound/.stack-work/install/x86_64-linux/lts-2.18/7.8.4/pkgdb/ -hide-all-packages -package=Cabal-1.18.1.5 -package-id=array-0.5.0.0-470385a50d2b78598af85cfe9d988e1b -package-id=base-4.7.0.2-bfd89587617e381ae01b8dd7b6c7f1c1 -package-id=binary-0.7.1.0-f867dbbb69966feb9f5c4ef7695a70a5 -package-id=bytestring-0.10.4.0-d6f1d17d717e8652498cab8269a0acd5 -package-id=containers-0.5.5.1-d4bd887fb97aa3a46cbadc13709b7653 -package-id=deepseq-1.3.0.2-63a1ab91b7017a28bb5d04cb1b5d2d02 -package-id=filepath-1.3.0.2-25a474a9272ae6260626ce0d70ad1cab -package-id=ghc-prim-0.3.1.0-a24f9c14c632d75b683d0f93283aea37 -package-id=hoopl-3.10.0.1-267659e4b5b51c3d2e02f2a6d6f46936 -package-id=integer-gmp-0.5.1.0-26579559b3647acf4f01d5edd9491a46 -package-id=old-locale-1.0.0.6-50b0125c49f76af85dc7aa22975cdc34 -package-id=old-time-1.1.0.2-e3f776e97c1a6ff1770b04943a7ef7c6 -package-id=pretty-1.1.1.1-0984f47ffe93ef3983c80b96280f1c3a -package-id=template-haskell-2.9.0.0-6d27c2b362b15abb1822f2f34b9ae7f9 -package-id=terminfo-0.4.0.0-c1d02a7210b0d1bc250d87463b38b8d1 -package-id=time-1.4.2-9b3076800c33f8382c38628f35717951 -package-id=transformers-0.3.0.0-6458c21515cab7c1cf21e53141557a1c -package-id=unix-2.7.0.1-262bd75c512e6c503b9caa2095871264 -package-id=xhtml-3000.2.1-6a3ed472b07e58fe29db22a5bc2bdb06 /tmp/stack4266/network-2.6.2.1/Setup.hs --builddir=.stack-work/dist/x86_64-linux/Cabal-1.18.1.5/ configure --user --package-db=clear --package-db=global --package-db=/home/callen/.stack/snapshots/x86_64-linux/lts-2.18/7.8.4/pkgdb/ --package-db=/home/callen/work/bloodhound/.stack-work/install/x86_64-linux/lts-2.18/7.8.4/pkgdb/ --libdir=/home/callen/work/bloodhound/.stack-work/install/x86_64-linux/lts-2.18/7.8.4/lib --bindir=/home/callen/work/bloodhound/.stack-work/install/x86_64-linux/lts-2.18/7.8.4/bin --datadir=/home/callen/work/bloodhound/.stack-work/install/x86_64-linux/lts-2.18/7.8.4/share --libexecdir=/home/callen/work/bloodhound/.stack-work/install/x86_64-linux/lts-2.18/7.8.4/libexec --sysconfdir=/home/callen/work/bloodhound/.stack-work/install/x86_64-linux/lts-2.18/7.8.4/etc --docdir=/home/callen/work/bloodhound/.stack-work/install/x86_64-linux/lts-2.18/7.8.4/doc/network-2.6.2.1 --htmldir=/home/callen/work/bloodhound/.stack-work/install/x86_64-linux/lts-2.18/7.8.4/doc/network-2.6.2.1 --haddockdir=/home/callen/work/bloodhound/.stack-work/install/x86_64-linux/lts-2.18/7.8.4/doc/network-2.6.2.1 --constraint=base==4.7.0.2 --constraint=bytestring==0.10.4.0 --constraint=unix==2.7.0.1
    Process exited with code: ExitFailure 1
    Logs have been written to: /home/callen/work/bloodhound/.stack-work/logs/network-2.6.2.1.log

    <command line>: cannot satisfy -package Cabal-1.18.1.5: 
        Cabal-1.18.1.5-6478013104bde01737bfd67d34bbee0a is unusable due to missing or recursive dependencies:
          directory-1.2.1.0-07cd1f59e3c6cac5e3e180019c59a115 process-1.2.0.0-06c3215a79834ce4886ae686a0f81122 unix-2.7.0.1-f8658ba9ec1c4fba8a371a8e0f42ec6c
        (use -v for more information)

@snoyberg
Copy link
Contributor

That looks like you have a corrupted global package database. What's the output of:

stack exec ghc-pkg list directory -v
stack exec ghc-pkg list process -v
$(stack exec which ghc-pkg) list --no-user-package-db -v

@bitemyapp
Copy link
Contributor Author

$ stack exec ghc-pkg list directory -v
Version 0.1.4.1, Git revision 35aaaee88b0f7086d3dafd6c0b746e6445b1368e X86_64
2015-09-22 01:34:34.263562: [debug] Checking for project config at: /home/callen/work/bloodhound/stack.yaml @(stack_65VtIqytOxy3s4VxsQDc9w:Stack.Config src/Stack/Config.hs:511:9)
2015-09-22 01:34:34.263728: [debug] Loading project config file stack.yaml @(stack_65VtIqytOxy3s4VxsQDc9w:Stack.Config src/Stack/Config.hs:534:13)
2015-09-22 01:34:34.264572: [debug] Run process: ldd /home/callen/.local/bin/stack @(stack_65VtIqytOxy3s4VxsQDc9w:System.Process.Read src/System/Process/Read.hs:259:3)
2015-09-22 01:34:34.273805: [debug] Trying to decode /home/callen/.stack/build-plan-cache/x86_64-linux/lts-2.18.cache @(stack_65VtIqytOxy3s4VxsQDc9w:Data.Binary.VersionTagged src/Data/Binary/VersionTagged.hs:53:5)
2015-09-22 01:34:34.276321: [debug] Success decoding /home/callen/.stack/build-plan-cache/x86_64-linux/lts-2.18.cache @(stack_65VtIqytOxy3s4VxsQDc9w:Data.Binary.VersionTagged src/Data/Binary/VersionTagged.hs:62:13)
2015-09-22 01:34:34.276781: [debug] Run process: ghc --info @(stack_65VtIqytOxy3s4VxsQDc9w:System.Process.Read src/System/Process/Read.hs:259:3)
2015-09-22 01:34:34.305871: [debug] Run process: ghc --numeric-version @(stack_65VtIqytOxy3s4VxsQDc9w:System.Process.Read src/System/Process/Read.hs:259:3)
2015-09-22 01:34:34.321132: [debug] Run process: ghc-pkg --no-user-package-db field --simple-output Cabal version @(stack_65VtIqytOxy3s4VxsQDc9w:System.Process.Read src/System/Process/Read.hs:259:3)
2015-09-22 01:34:34.33445: [debug] Run process: ghc-pkg --no-user-package-db list --global @(stack_65VtIqytOxy3s4VxsQDc9w:System.Process.Read src/System/Process/Read.hs:259:3)
2015-09-22 01:34:34.345938: [debug] Run process: locale -a @(stack_65VtIqytOxy3s4VxsQDc9w:System.Process.Read src/System/Process/Read.hs:259:3)
2015-09-22 01:34:34.346979: [debug] Run process: ghc-pkg list directory @(stack_65VtIqytOxy3s4VxsQDc9w:Stack.Exec src/Stack/Exec.hs:52:5)
/home/callen/.stack/programs/x86_64-linux/ghc-7.8.4/lib/ghc-7.8.4/package.conf.d
   directory-1.2.1.0
/home/callen/.stack/snapshots/x86_64-linux/lts-2.18/7.8.4/pkgdb
/home/callen/work/bloodhound/.stack-work/install/x86_64-linux/lts-2.18/7.8.4/pkgdb
$ stack exec ghc-pkg list process -v
Version 0.1.4.1, Git revision 35aaaee88b0f7086d3dafd6c0b746e6445b1368e X86_64
2015-09-22 01:34:49.960852: [debug] Checking for project config at: /home/callen/work/bloodhound/stack.yaml @(stack_65VtIqytOxy3s4VxsQDc9w:Stack.Config src/Stack/Config.hs:511:9)
2015-09-22 01:34:49.960983: [debug] Loading project config file stack.yaml @(stack_65VtIqytOxy3s4VxsQDc9w:Stack.Config src/Stack/Config.hs:534:13)
2015-09-22 01:34:49.961695: [debug] Run process: ldd /home/callen/.local/bin/stack @(stack_65VtIqytOxy3s4VxsQDc9w:System.Process.Read src/System/Process/Read.hs:259:3)
2015-09-22 01:34:49.969503: [debug] Trying to decode /home/callen/.stack/build-plan-cache/x86_64-linux/lts-2.18.cache @(stack_65VtIqytOxy3s4VxsQDc9w:Data.Binary.VersionTagged src/Data/Binary/VersionTagged.hs:53:5)
2015-09-22 01:34:49.972131: [debug] Success decoding /home/callen/.stack/build-plan-cache/x86_64-linux/lts-2.18.cache @(stack_65VtIqytOxy3s4VxsQDc9w:Data.Binary.VersionTagged src/Data/Binary/VersionTagged.hs:62:13)
2015-09-22 01:34:49.972552: [debug] Run process: ghc --info @(stack_65VtIqytOxy3s4VxsQDc9w:System.Process.Read src/System/Process/Read.hs:259:3)
2015-09-22 01:34:49.998722: [debug] Run process: ghc --numeric-version @(stack_65VtIqytOxy3s4VxsQDc9w:System.Process.Read src/System/Process/Read.hs:259:3)
2015-09-22 01:34:50.012548: [debug] Run process: ghc-pkg --no-user-package-db field --simple-output Cabal version @(stack_65VtIqytOxy3s4VxsQDc9w:System.Process.Read src/System/Process/Read.hs:259:3)
2015-09-22 01:34:50.024154: [debug] Run process: ghc-pkg --no-user-package-db list --global @(stack_65VtIqytOxy3s4VxsQDc9w:System.Process.Read src/System/Process/Read.hs:259:3)
2015-09-22 01:34:50.035525: [debug] Run process: locale -a @(stack_65VtIqytOxy3s4VxsQDc9w:System.Process.Read src/System/Process/Read.hs:259:3)
2015-09-22 01:34:50.036619: [debug] Run process: ghc-pkg list process @(stack_65VtIqytOxy3s4VxsQDc9w:Stack.Exec src/Stack/Exec.hs:52:5)
/home/callen/.stack/programs/x86_64-linux/ghc-7.8.4/lib/ghc-7.8.4/package.conf.d
   process-1.2.0.0
/home/callen/.stack/snapshots/x86_64-linux/lts-2.18/7.8.4/pkgdb
/home/callen/work/bloodhound/.stack-work/install/x86_64-linux/lts-2.18/7.8.4/pkgdb
$ $(stack exec which ghc-pkg) list --no-user-package-db -v
Timestamp 2015-08-24 00:52:52.863987096 UTC for /home/callen/.stack/programs/x86_64-linux/ghc-7.8.4/lib/ghc-7.8.4/package.conf.d/package.cache
Timestamp 2015-08-24 00:52:52 UTC for /home/callen/.stack/programs/x86_64-linux/ghc-7.8.4/lib/ghc-7.8.4/package.conf.d (older than cache)
using cache: /home/callen/.stack/programs/x86_64-linux/ghc-7.8.4/lib/ghc-7.8.4/package.conf.d/package.cache
/home/callen/.stack/programs/x86_64-linux/ghc-7.8.4/lib/ghc-7.8.4/package.conf.d
   Cabal-1.18.1.5 (Cabal-1.18.1.5-6478013104bde01737bfd67d34bbee0a)
   array-0.5.0.0 (array-0.5.0.0-470385a50d2b78598af85cfe9d988e1b)
   base-4.7.0.2 (base-4.7.0.2-bfd89587617e381ae01b8dd7b6c7f1c1)
   bin-package-db-0.0.0.0 (bin-package-db-0.0.0.0-0f3da03684207f2dc4dce793df1db62e)
   binary-0.7.1.0 (binary-0.7.1.0-f867dbbb69966feb9f5c4ef7695a70a5)
   bytestring-0.10.4.0 (bytestring-0.10.4.0-d6f1d17d717e8652498cab8269a0acd5)
   containers-0.5.5.1 (containers-0.5.5.1-d4bd887fb97aa3a46cbadc13709b7653)
   deepseq-1.3.0.2 (deepseq-1.3.0.2-63a1ab91b7017a28bb5d04cb1b5d2d02)
   directory-1.2.1.0 (directory-1.2.1.0-07cd1f59e3c6cac5e3e180019c59a115)
   filepath-1.3.0.2 (filepath-1.3.0.2-25a474a9272ae6260626ce0d70ad1cab)
   ghc-7.8.4 (ghc-7.8.4-f10547222b1ab414f0d006c1a90df9e1)
   ghc-prim-0.3.1.0 (ghc-prim-0.3.1.0-a24f9c14c632d75b683d0f93283aea37)
   haskeline-0.7.1.2 (haskeline-0.7.1.2-2dd2f2fb537352f5367ae77fe47ab211)
   haskell2010-1.1.2.0 (haskell2010-1.1.2.0-05c8dd51009e08c6371c82972d40f55a)
   haskell98-2.0.0.3 (haskell98-2.0.0.3-045e8778b656db76e2c729405eee707b)
   hoopl-3.10.0.1 (hoopl-3.10.0.1-267659e4b5b51c3d2e02f2a6d6f46936)
   hpc-0.6.0.1 (hpc-0.6.0.1-cca17f12dab542e09c423a74a4590c5d)
   integer-gmp-0.5.1.0 (integer-gmp-0.5.1.0-26579559b3647acf4f01d5edd9491a46)
   old-locale-1.0.0.6 (old-locale-1.0.0.6-50b0125c49f76af85dc7aa22975cdc34)
   old-time-1.1.0.2 (old-time-1.1.0.2-e3f776e97c1a6ff1770b04943a7ef7c6)
   pretty-1.1.1.1 (pretty-1.1.1.1-0984f47ffe93ef3983c80b96280f1c3a)
   process-1.2.0.0 (process-1.2.0.0-06c3215a79834ce4886ae686a0f81122)
   rts-1.0 (builtin_rts)
   template-haskell-2.9.0.0 (template-haskell-2.9.0.0-6d27c2b362b15abb1822f2f34b9ae7f9)
   terminfo-0.4.0.0 (terminfo-0.4.0.0-c1d02a7210b0d1bc250d87463b38b8d1)
   time-1.4.2 (time-1.4.2-9b3076800c33f8382c38628f35717951)
   transformers-0.3.0.0 (transformers-0.3.0.0-6458c21515cab7c1cf21e53141557a1c)
   unix-2.7.0.1 (unix-2.7.0.1-f8658ba9ec1c4fba8a371a8e0f42ec6c)
   xhtml-3000.2.1 (xhtml-3000.2.1-6a3ed472b07e58fe29db22a5bc2bdb06)

@snoyberg
Copy link
Contributor

Sorry, I meant:

stack exec -- ghc-pkg list directory -v
stack exec -- ghc-pkg list process -v

@borsboom
Copy link
Contributor

borsboom commented Oct 6, 2015

Haven't heard back for a while, so closing. Feel free to reopen if this is still an issue.

@borsboom borsboom closed this as completed Oct 6, 2015
@bitemyapp
Copy link
Contributor Author

@borsboom no problem, sorry, I haven't had time to chase stuff like this down lately. If it resurfaces I'll run through the diagnostic procedure requested and re-open with that.

@bitemyapp bitemyapp reopened this Oct 7, 2015
@bitemyapp
Copy link
Contributor Author

Nope still having problems. I tried a stack clean before the build.

Failure:

[callen@chania ~/work/bloodhound aeson-0.10]
$ stack build
directory-1.2.1.0: configure
network-2.6.2.1: configure
Progres      
--  While building package network-2.6.2.1 using:
      /home/callen/.stack/programs/x86_64-linux/ghc-7.8.4/bin/runhaskell -clear-package-db -global-package-db -package-db=/home/callen/.stack/snapshots/x86_64-linux/lts-2.18/7.8.4/pkgdb/ -package-db=/home/callen/work/bloodhound/.stack-work/install/x86_64-linux/lts-2.18/7.8.4/pkgdb/ -hide-all-packages -package=Cabal-1.18.1.5 -package-id=array-0.5.0.0-470385a50d2b78598af85cfe9d988e1b -package-id=base-4.7.0.2-bfd89587617e381ae01b8dd7b6c7f1c1 -package-id=binary-0.7.1.0-f867dbbb69966feb9f5c4ef7695a70a5 -package-id=bytestring-0.10.4.0-d6f1d17d717e8652498cab8269a0acd5 -package-id=containers-0.5.5.1-d4bd887fb97aa3a46cbadc13709b7653 -package-id=deepseq-1.3.0.2-63a1ab91b7017a28bb5d04cb1b5d2d02 -package-id=filepath-1.3.0.2-25a474a9272ae6260626ce0d70ad1cab -package-id=ghc-prim-0.3.1.0-a24f9c14c632d75b683d0f93283aea37 -package-id=hoopl-3.10.0.1-267659e4b5b51c3d2e02f2a6d6f46936 -package-id=integer-gmp-0.5.1.0-26579559b3647acf4f01d5edd9491a46 -package-id=old-locale-1.0.0.6-50b0125c49f76af85dc7aa22975cdc34 -package-id=old-time-1.1.0.2-e3f776e97c1a6ff1770b04943a7ef7c6 -package-id=pretty-1.1.1.1-0984f47ffe93ef3983c80b96280f1c3a -package-id=template-haskell-2.9.0.0-6d27c2b362b15abb1822f2f34b9ae7f9 -package-id=terminfo-0.4.0.0-c1d02a7210b0d1bc250d87463b38b8d1 -package-id=time-1.4.2-9b3076800c33f8382c38628f35717951 -package-id=transformers-0.3.0.0-6458c21515cab7c1cf21e53141557a1c -package-id=unix-2.7.0.1-262bd75c512e6c503b9caa2095871264 -package-id=xhtml-3000.2.1-6a3ed472b07e58fe29db22a5bc2bdb06 /tmp/stack19644/network-2.6.2.1/Setup.hs --builddir=.stack-work/dist/x86_64-linux/Cabal-1.18.1.5/ configure --user --package-db=clear --package-db=global --package-db=/home/callen/.stack/snapshots/x86_64-linux/lts-2.18/7.8.4/pkgdb/ --package-db=/home/callen/work/bloodhound/.stack-work/install/x86_64-linux/lts-2.18/7.8.4/pkgdb/ --libdir=/home/callen/work/bloodhound/.stack-work/install/x86_64-linux/lts-2.18/7.8.4/lib --bindir=/home/callen/work/bloodhound/.stack-work/install/x86_64-linux/lts-2.18/7.8.4/bin --datadir=/home/callen/work/bloodhound/.stack-work/install/x86_64-linux/lts-2.18/7.8.4/share --libexecdir=/home/callen/work/bloodhound/.stack-work/install/x86_64-linux/lts-2.18/7.8.4/libexec --sysconfdir=/home/callen/work/bloodhound/.stack-work/install/x86_64-linux/lts-2.18/7.8.4/etc --docdir=/home/callen/work/bloodhound/.stack-work/install/x86_64-linux/lts-2.18/7.8.4/doc/network-2.6.2.1 --htmldir=/home/callen/work/bloodhound/.stack-work/install/x86_64-linux/lts-2.18/7.8.4/doc/network-2.6.2.1 --haddockdir=/home/callen/work/bloodhound/.stack-work/install/x86_64-linux/lts-2.18/7.8.4/doc/network-2.6.2.1 --constraint=base==4.7.0.2 --constraint=bytestring==0.10.4.0 --constraint=unix==2.7.0.1
    Process exited with code: ExitFailure 1
    Logs have been written to: /home/callen/work/bloodhound/.stack-work/logs/network-2.6.2.1.log

    <command line>: cannot satisfy -package Cabal-1.18.1.5: 
        Cabal-1.18.1.5-6478013104bde01737bfd67d34bbee0a is unusable due to missing or recursive dependencies:
          directory-1.2.1.0-07cd1f59e3c6cac5e3e180019c59a115 process-1.2.0.0-06c3215a79834ce4886ae686a0f81122 unix-2.7.0.1-f8658ba9ec1c4fba8a371a8e0f42ec6c
        (use -v for more information)


--  While building package directory-1.2.1.0 using:
      /home/callen/.stack/programs/x86_64-linux/ghc-7.8.4/bin/runhaskell -clear-package-db -global-package-db -package-db=/home/callen/.stack/snapshots/x86_64-linux/lts-2.18/7.8.4/pkgdb/ -package-db=/home/callen/work/bloodhound/.stack-work/install/x86_64-linux/lts-2.18/7.8.4/pkgdb/ -hide-all-packages -package=Cabal-1.18.1.5 -package-id=array-0.5.0.0-470385a50d2b78598af85cfe9d988e1b -package-id=base-4.7.0.2-bfd89587617e381ae01b8dd7b6c7f1c1 -package-id=binary-0.7.1.0-f867dbbb69966feb9f5c4ef7695a70a5 -package-id=bytestring-0.10.4.0-d6f1d17d717e8652498cab8269a0acd5 -package-id=containers-0.5.5.1-d4bd887fb97aa3a46cbadc13709b7653 -package-id=deepseq-1.3.0.2-63a1ab91b7017a28bb5d04cb1b5d2d02 -package-id=filepath-1.3.0.2-25a474a9272ae6260626ce0d70ad1cab -package-id=ghc-prim-0.3.1.0-a24f9c14c632d75b683d0f93283aea37 -package-id=hoopl-3.10.0.1-267659e4b5b51c3d2e02f2a6d6f46936 -package-id=integer-gmp-0.5.1.0-26579559b3647acf4f01d5edd9491a46 -package-id=old-locale-1.0.0.6-50b0125c49f76af85dc7aa22975cdc34 -package-id=old-time-1.1.0.2-e3f776e97c1a6ff1770b04943a7ef7c6 -package-id=pretty-1.1.1.1-0984f47ffe93ef3983c80b96280f1c3a -package-id=template-haskell-2.9.0.0-6d27c2b362b15abb1822f2f34b9ae7f9 -package-id=terminfo-0.4.0.0-c1d02a7210b0d1bc250d87463b38b8d1 -package-id=time-1.5.0.1-f6fed0475a07fa693a3851340db7598a -package-id=transformers-0.3.0.0-6458c21515cab7c1cf21e53141557a1c -package-id=unix-2.7.0.1-262bd75c512e6c503b9caa2095871264 -package-id=xhtml-3000.2.1-6a3ed472b07e58fe29db22a5bc2bdb06 /tmp/stack19644/directory-1.2.1.0/Setup.hs --builddir=.stack-work/dist/x86_64-linux/Cabal-1.18.1.5/ configure --user --package-db=clear --package-db=global --package-db=/home/callen/.stack/snapshots/x86_64-linux/lts-2.18/7.8.4/pkgdb/ --package-db=/home/callen/work/bloodhound/.stack-work/install/x86_64-linux/lts-2.18/7.8.4/pkgdb/ --libdir=/home/callen/work/bloodhound/.stack-work/install/x86_64-linux/lts-2.18/7.8.4/lib --bindir=/home/callen/work/bloodhound/.stack-work/install/x86_64-linux/lts-2.18/7.8.4/bin --datadir=/home/callen/work/bloodhound/.stack-work/install/x86_64-linux/lts-2.18/7.8.4/share --libexecdir=/home/callen/work/bloodhound/.stack-work/install/x86_64-linux/lts-2.18/7.8.4/libexec --sysconfdir=/home/callen/work/bloodhound/.stack-work/install/x86_64-linux/lts-2.18/7.8.4/etc --docdir=/home/callen/work/bloodhound/.stack-work/install/x86_64-linux/lts-2.18/7.8.4/doc/directory-1.2.1.0 --htmldir=/home/callen/work/bloodhound/.stack-work/install/x86_64-linux/lts-2.18/7.8.4/doc/directory-1.2.1.0 --haddockdir=/home/callen/work/bloodhound/.stack-work/install/x86_64-linux/lts-2.18/7.8.4/doc/directory-1.2.1.0 --constraint=base==4.7.0.2 --constraint=filepath==1.3.0.2 --constraint=time==1.5.0.1 --constraint=unix==2.7.0.1
    Process exited with code: ExitFailure 1
    Logs have been written to: /home/callen/work/bloodhound/.stack-work/logs/directory-1.2.1.0.log

    <command line>: cannot satisfy -package Cabal-1.18.1.5: 
        Cabal-1.18.1.5-6478013104bde01737bfd67d34bbee0a is unusable due to missing or recursive dependencies:
          directory-1.2.1.0-07cd1f59e3c6cac5e3e180019c59a115 process-1.2.0.0-06c3215a79834ce4886ae686a0f81122 unix-2.7.0.1-f8658ba9ec1c4fba8a371a8e0f42ec6c
        (use -v for more information)
s: 2/6%                           

Diagnostic:

[callen@chania ~/work/bloodhound aeson-0.10]
$ stack exec -- ghc-pkg list directory -v
Timestamp 2015-09-22 00:55:41.909380787 UTC for /home/callen/work/bloodhound/.stack-work/install/x86_64-linux/lts-2.18/7.8.4/pkgdb/package.cache
Timestamp 2015-09-22 00:55:41 UTC for /home/callen/work/bloodhound/.stack-work/install/x86_64-linux/lts-2.18/7.8.4/pkgdb (older than cache)
using cache: /home/callen/work/bloodhound/.stack-work/install/x86_64-linux/lts-2.18/7.8.4/pkgdb/package.cache
Timestamp 2015-09-21 23:47:52.713389333 UTC for /home/callen/.stack/snapshots/x86_64-linux/lts-2.18/7.8.4/pkgdb/package.cache
Timestamp 2015-09-21 23:47:52 UTC for /home/callen/.stack/snapshots/x86_64-linux/lts-2.18/7.8.4/pkgdb (older than cache)
using cache: /home/callen/.stack/snapshots/x86_64-linux/lts-2.18/7.8.4/pkgdb/package.cache
Timestamp 2015-08-24 00:52:52.863987096 UTC for /home/callen/.stack/programs/x86_64-linux/ghc-7.8.4/lib/ghc-7.8.4/package.conf.d/package.cache
Timestamp 2015-08-24 00:52:52 UTC for /home/callen/.stack/programs/x86_64-linux/ghc-7.8.4/lib/ghc-7.8.4/package.conf.d (older than cache)
using cache: /home/callen/.stack/programs/x86_64-linux/ghc-7.8.4/lib/ghc-7.8.4/package.conf.d/package.cache
/home/callen/.stack/programs/x86_64-linux/ghc-7.8.4/lib/ghc-7.8.4/package.conf.d
   directory-1.2.1.0 (directory-1.2.1.0-07cd1f59e3c6cac5e3e180019c59a115)
/home/callen/.stack/snapshots/x86_64-linux/lts-2.18/7.8.4/pkgdb
/home/callen/work/bloodhound/.stack-work/install/x86_64-linux/lts-2.18/7.8.4/pkgdb
[callen@chania ~/work/bloodhound aeson-0.10]

$ stack exec -- ghc-pkg list process -v
Timestamp 2015-09-22 00:55:41.909380787 UTC for /home/callen/work/bloodhound/.stack-work/install/x86_64-linux/lts-2.18/7.8.4/pkgdb/package.cache
Timestamp 2015-09-22 00:55:41 UTC for /home/callen/work/bloodhound/.stack-work/install/x86_64-linux/lts-2.18/7.8.4/pkgdb (older than cache)
using cache: /home/callen/work/bloodhound/.stack-work/install/x86_64-linux/lts-2.18/7.8.4/pkgdb/package.cache
Timestamp 2015-09-21 23:47:52.713389333 UTC for /home/callen/.stack/snapshots/x86_64-linux/lts-2.18/7.8.4/pkgdb/package.cache
Timestamp 2015-09-21 23:47:52 UTC for /home/callen/.stack/snapshots/x86_64-linux/lts-2.18/7.8.4/pkgdb (older than cache)
using cache: /home/callen/.stack/snapshots/x86_64-linux/lts-2.18/7.8.4/pkgdb/package.cache
Timestamp 2015-08-24 00:52:52.863987096 UTC for /home/callen/.stack/programs/x86_64-linux/ghc-7.8.4/lib/ghc-7.8.4/package.conf.d/package.cache
Timestamp 2015-08-24 00:52:52 UTC for /home/callen/.stack/programs/x86_64-linux/ghc-7.8.4/lib/ghc-7.8.4/package.conf.d (older than cache)
using cache: /home/callen/.stack/programs/x86_64-linux/ghc-7.8.4/lib/ghc-7.8.4/package.conf.d/package.cache
/home/callen/.stack/programs/x86_64-linux/ghc-7.8.4/lib/ghc-7.8.4/package.conf.d
   process-1.2.0.0 (process-1.2.0.0-06c3215a79834ce4886ae686a0f81122)
/home/callen/.stack/snapshots/x86_64-linux/lts-2.18/7.8.4/pkgdb
/home/callen/work/bloodhound/.stack-work/install/x86_64-linux/lts-2.18/7.8.4/pkgdb

@snoyberg
Copy link
Contributor

snoyberg commented Oct 8, 2015

This looks like another incarnation of #1110. I've just changed the default on master to the old behavior. Can you test out master and see what happens?

@bitemyapp
Copy link
Contributor Author

In-place registering bloodhound-0.8.0.0...
bloodhound-0.8.0.0: install
Installing library in
/home/callen/work/bloodhound/.stack-work/install/x86_64-linux/lts-2.18/7.8.4/lib/x86_64-linux-ghc-7.8.4/bloodhound-0.8.0.0
Registering bloodhound-0.8.0.0...
Completed all 6 actions.
[callen@chania ~/work/bloodhound aeson-0.10]
$ stack --version
Version 0.1.5.1, Git revision 33a03a2e159da77b9533845871fc87d211dd6776 x86_64

All good here hoss. Thank you sir :)

@bitemyapp
Copy link
Contributor Author

Noooooooooo 😢

[callen@chania ~/work/bloodhound aeson-0.10]
$ stack test
bloodhound-0.8.0.0: unregistering (local file changes)
bloodhound-0.8.0.0: configure
bloodhound-0.8.0.0: build
hspec-discover-2.1.7: configure
hspec-discover-2.1.7: build
doctest-0.10.1: configure
doctest-0.10.1: build
bloodhound-0.8.0.0: install
hspec-discover-2.1.7: install
hspec-2.1.7: configure
hspec-2.1.7: build
hspec-2.1.7: install
Progress: 4/ 
--  While building package doctest-0.10.1 using:
      /home/callen/.stack/setup-exe-cache/setup-Simple-Cabal-1.18.1.5-x86_64-linux-ghc-7.8.4 --builddir=.stack-work/dist/x86_64-linux/Cabal-1.18.1.5/ build --ghc-options " -ddump-hi -ddump-to-file"
    Process exited with code: ExitFailure 1
    Logs have been written to: /home/callen/work/bloodhound/.stack-work/logs/doctest-0.10.1.log

    Configuring doctest-0.10.1...
    Warning: This package indirectly depends on multiple versions of the same
    package. This is highly likely to cause a compile failure.
    package process-1.2.0.0 requires directory-1.2.1.0
    package doctest-0.10.1 requires directory-1.2.1.0
    package process-1.2.0.0 requires directory-1.2.1.0
    package hpc-0.6.0.1 requires directory-1.2.1.0
    package ghc-7.8.4 requires directory-1.2.1.0
    package Cabal-1.18.1.5 requires directory-1.2.1.0
    package ghc-7.8.4 requires process-1.2.0.0
    package Cabal-1.18.1.5 requires process-1.2.0.0
    package doctest-0.10.1 requires process-1.2.0.0
    package unix-2.7.0.1 requires time-1.4.2
    package hpc-0.6.0.1 requires time-1.4.2
    package ghc-7.8.4 requires time-1.4.2
    package directory-1.2.1.0 requires time-1.4.2
    package Cabal-1.18.1.5 requires time-1.4.2
    package unix-2.7.0.1 requires time-1.5.0.1
    package directory-1.2.1.0 requires time-1.5.0.1
    package process-1.2.0.0 requires unix-2.7.0.1
    package directory-1.2.1.0 requires unix-2.7.0.1
    package process-1.2.0.0 requires unix-2.7.0.1
    package ghc-7.8.4 requires unix-2.7.0.1
    package directory-1.2.1.0 requires unix-2.7.0.1
    package Cabal-1.18.1.5 requires unix-2.7.0.1
    Building doctest-0.10.1...
    Preprocessing library doctest-0.10.1...
    <command line>: cannot satisfy -package-id directory-1.2.1.0-012c0239af73dff37e458d712036a12e: 
        directory-1.2.1.0-012c0239af73dff37e458d712036a12e is shadowed by package directory-1.2.1.0-07cd1f59e3c6cac5e3e180019c59a115
        (use -v for more information)
5%                                                                                                    [callen@chania ~/work/bloodhound aeson-0.10]
$ stack --version
Version 0.1.5.1, Git revision 33a03a2e159da77b9533845871fc87d211dd6776 x86_64

ogodwhy.jpg

@bitemyapp
Copy link
Contributor Author

Persists after a stack clean and rerun of stack test. Sorry for the false-success-alarm @snoyberg :(

Nuked .stack-work, trying again.

Edit: no dice.

@snoyberg
Copy link
Contributor

snoyberg commented Oct 9, 2015

It seems to me that this commit is the problem:

bitemyapp/bloodhound@83857a2

Why do you need to override the time library? time is a dependency of Cabal, which is causing all of this wonky behavior.

@snoyberg
Copy link
Contributor

snoyberg commented Oct 9, 2015

A bit more research: this is actually an impossible build for Stack (or anything else) to perform. The ghc package cannot be reinstalled or rebuilt against different installed packages, and depends on time, directory and process. You've told Stack to rebuild time, which triggers a rebuild of both process and directory as well (since they depend on it). Ideally, Stack would like to rebuild ghc as well, but it can't.

The result: you end up with a build using the newly compiled time, process, and directory, and ghc package using the original time, process, and directory, resulting in the failure above.

I discussed this in more detail in this blog post: https://www.fpcomplete.com/blog/2014/05/lenient-lower-bounds

@snoyberg
Copy link
Contributor

snoyberg commented Oct 9, 2015

Minimal repo:

resolver: lts-3.8
packages: []
extra-deps:
- time-1.5.0.1
$ stack build doctest

@bitemyapp
Copy link
Contributor Author

@snoyberg

Why do you need to override the time library? time is a dependency of Cabal, which is causing all of this wonky behavior.

https://github.com/bos/aeson/blob/master/aeson.cabal#L104-L107

I'll try avoiding needing to specify that version of time when I get home tonight.

Thank you very much for helping me suss this out.

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

3 participants