Skip to content

Shadowed dependencies during builds with Cabal 2.0 WAS: cabal 2.0 and alex on macos #4728

Closed
@v0d1ch

Description

@v0d1ch

I am trying to build a project with cabal new-build and I have ghc-8.2.1 and

cabal-install version 2.0.0.0
compiled using version 2.0.0.2 of the Cabal library

It is failing to build alex (among some other packages but this one fails first)

─λ cabal new-build gtk                                                                                                [slay]-4 | 0 < 21:00:22

**********************************************************************

=== Configuration for cabal has been written to
    /Users/v0d1ch/.cabal/config

=== Executables will be installed in:
    /Users/v0d1ch/Library/Haskell/bin

    You may wish to place this on your PATH by adding the following
    line to your ~/.bash_profile:

    export PATH="$HOME/Library/Haskell/bin:$PATH"

=== When documentation is built, a master index to all documentation
    will be placed in:

    /Users/v0d1ch/Library/Haskell/doc/index.html

    You may wish to bookmark that file once it gets built (after the
    first cabal install).

**********************************************************************

Downloading the latest package list from hackage.haskell.org
Resolving dependencies...
In order, the following will be built (use -v for more details):
 - alex-3.2.1 (exe:alex) (requires download & build)
 - happy-1.19.5 (exe:happy) (requires download & build)
 - hashtables-1.2.1.1 (lib) (requires download & build)
 - microlens-0.4.8.1 (lib) --enable-library-profiling (requires download & build)
 - process-1.4.3.0 (lib) (requires download & build)
 - reflection-2.1.2 (lib) --enable-library-profiling (requires download & build)
 - transformers-compat-0.5.1.4 (lib) --enable-library-profiling (requires download & build)
 - utf8-string-1.0.1.1 (lib:utf8-string) --enable-library-profiling (requires download & build)
 - microlens-th-0.4.1.1 (lib) --enable-library-profiling (requires download & build)
 - microlens-ghc-0.4.8.0 (lib) --enable-library-profiling (requires download & build)
 - Cabal-1.24.2.0 (lib) (requires download & build)
 - slay-core-0 (lib) --enable-library-profiling (dependency rebuilt)
 - microlens-mtl-0.1.11.0 (lib) --enable-library-profiling (requires download & build)
 - gtk2hs-buildtools-0.13.2.2 (lib) (requires download & build)
 - slay-core-0 (lib with Slay.Number=slay-number-integer-0-inplace:Slay.Number.Integer) --enable-library-profiling (first run)
 - microlens-platform-0.3.9.0 (lib) --enable-library-profiling (requires download & build)
 - glib-0.13.4.1 (lib:glib) --enable-library-profiling (requires download & build)
 - cairo-0.13.3.1 (lib:cairo) --enable-library-profiling (requires download & build)
 - gio-0.13.3.1 (lib:gio) --enable-library-profiling (requires download & build)
 - pango-0.13.3.1 (lib:pango) --enable-library-profiling (requires download & build)
 - slay-cairo-0 (lib) --enable-library-profiling (first run)
 - gtk3-0.14.6 (lib:gtk3) --enable-library-profiling (requires download & build)
 - slay-cairo-0 (lib with Slay.Number=slay-number-integer-0-inplace:Slay.Number.Integer) --enable-library-profiling (first run)
 - slay-gtk-0 (lib) --enable-library-profiling (first run)
 - slay-gtk-0 (exe:slay-gtk-example) --enable-library-profiling (first run)
Downloading microlens-0.4.8.1...
Downloading transformers-compat-0.5.1.4...
Configuring microlens-0.4.8.1 (lib)...
Downloading microlens-mtl-0.1.11.0...
Configuring transformers-compat-0.5.1.4 (lib)...
Downloading utf8-string-1.0.1.1...
Downloading microlens-th-0.4.1.1...
Configuring utf8-string-1.0.1.1 (all, legacy fallback)...
Building microlens-0.4.8.1 (lib)...
Building transformers-compat-0.5.1.4 (lib)...
Downloading reflection-2.1.2...
Downloading process-1.4.3.0...
Configuring reflection-2.1.2 (lib)...
Building utf8-string-1.0.1.1 (all, legacy fallback)...
Downloading microlens-ghc-0.4.8.0...
Configuring process-1.4.3.0 (lib)...
Downloading hashtables-1.2.1.1...
Downloading microlens-platform-0.3.9.0...
Configuring hashtables-1.2.1.1 (lib)...
Building reflection-2.1.2 (lib)...
Downloading alex-3.2.1...
Downloading happy-1.19.5...
Configuring alex-3.2.1 (all, legacy fallback)...
Building hashtables-1.2.1.1 (lib)...
Downloading Cabal-1.24.2.0...
Configuring happy-1.19.5 (all, legacy fallback)...
Downloading gtk2hs-buildtools-0.13.2.2...
Downloading cairo-0.13.3.1...
Downloading glib-0.13.4.1...
Downloading gio-0.13.3.1...
Downloading pango-0.13.3.1...
Downloading gtk3-0.14.6...
Building process-1.4.3.0 (lib)...
Building alex-3.2.1 (all, legacy fallback)...
Building happy-1.19.5 (all, legacy fallback)...

Failed to build alex-3.2.1.
Build log (
/Users/v0d1ch/.cabal/logs/ghc-8.2.1/alex-3.2.1-a41f00c7ecd8ca475dcdb4351e9444f8324ee147637ec1087797b0615a1c3ff5.log
):
[1 of 1] Compiling Main             ( /Users/v0d1ch/code/slay/dist-newstyle/tmp/src-90077/alex-3.2.1/dist/setup/setup.hs, /Users/v0d1ch/code/slay/dist-newstyle/tmp/src-90077/alex-3.2.1/dist/setup/Main.o )
Linking /Users/v0d1ch/code/slay/dist-newstyle/tmp/src-90077/alex-3.2.1/dist/setup/setup ...
Configuring alex-3.2.1...
Preprocessing executable 'alex' for alex-3.2.1..
Building executable 'alex' for alex-3.2.1..
<command line>: cannot satisfy -package-id QuickCheck-2.10.0.1-DTIBC3CyU6p3h4xSnOjkg1:
    QuickCheck-2.10.0.1-DTIBC3CyU6p3h4xSnOjkg1 is unusable due to shadowed dependencies:
      random-1.1-DtLcP2Z2iOOC0RwcSmXjBK tf-random-0.5-ABDhxe3mXYlHUEE5hzgewx
    (use -v for more information)

Failed to build hashtables-1.2.1.1.
Build log (
/Users/v0d1ch/.cabal/logs/ghc-8.2.1/hashtables-1.2.1.1-47d1b471acfd09d3f77992f03c59e046e1bca2f0d8c059fe797d8e8d0f84591c.log
):
Configuring library for hashtables-1.2.1.1..
Preprocessing library for hashtables-1.2.1.1..
Building library for hashtables-1.2.1.1..
<command line>: cannot satisfy -package-id hashable-1.2.6.1-14fEJP30YhAG9w115PODz0:
    hashable-1.2.6.1-14fEJP30YhAG9w115PODz0 is unusable due to shadowed dependencies:
      text-1.2.2.2-EGUst8sqNAZCw1xLPcmcMH
    (use -v for more information)
cabal: Failed to build alex-3.2.1 (which is required by exe:slay-gtk-example
from slay-gtk-0). See the build log above for details.
Failed to build hashtables-1.2.1.1 (which is required by exe:slay-gtk-example
from slay-gtk-0). See the build log above for details.

The build log says

[1 of 1] Compiling Main             ( /Users/v0d1ch/code/slay/dist-newstyle/tmp/src-92232/alex-3.2.1/dist/setup/setup.hs, /Users/v0d1ch/code/slay/dist-newstyle/tmp/src-92232/alex-3.2.1/dist/setup/Main.o )
Linking /Users/v0d1ch/code/slay/dist-newstyle/tmp/src-92232/alex-3.2.1/dist/setup/setup ...
Configuring alex-3.2.1...
Preprocessing executable 'alex' for alex-3.2.1..
Building executable 'alex' for alex-3.2.1..
<command line>: cannot satisfy -package-id QuickCheck-2.10.0.1-DTIBC3CyU6p3h4xSnOjkg1: 
    QuickCheck-2.10.0.1-DTIBC3CyU6p3h4xSnOjkg1 is unusable due to shadowed dependencies:
      random-1.1-DtLcP2Z2iOOC0RwcSmXjBK tf-random-0.5-ABDhxe3mXYlHUEE5hzgewx
    (use -v for more information)

I also tried compiling with -f-parsec flag with no luck

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions