Closed v0d1ch closed 6 years ago
<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
That's an interesting failure mode, why would the dependencies be shadowed?
/cc @dcoutts
For the info my macOS version is 10.12.6 with xcode 8.3.3. This project builds on travis with osx 10.11 and xcode 7.3
Can you please post a -v3
log?
Sure if you can explain what a -v3 log is ?
Just run cabal new-build
with -v3
(highest verbosity option).
Thanks, that produced following output piped to file https://github.com/v0d1ch/slay/blob/master/cabal.txt and just printed this at the end
cabal new-build gtk -v3 > cabal.txt slay-3 | 0 < 09:31:56
src/Slay/Number.hsig:1:1: error:
• Could not find hi interface for signature ‘slay-core-0:Slay.Number’:
Failed to load interface for ‘Slay.Number’
Perhaps you haven't installed the profiling libraries for package ‘slay-core-0’?
Use -v to see a list of the files searched for.
• while checking that slay-number-integer-0:Slay.Number.Integer implements signature Slay.Number in slay-core-0[Slay.Number=slay-number-integer-0:Slay.Number.Integer]
|
1 | signature Slay.Number where
| ^
CallStack (from HasCallStack):
die', called at ./Distribution/Client/ProjectOrchestration.hs:782:8 in main:Distribution.Client.ProjectOrchestration
cabal: Failed to build
alex-3.2.1-a41f00c7ecd8ca475dcdb4351e9444f8324ee147637ec1087797b0615a1c3ff5.
Failed to build cairo-0.13.3.1 because it depends on cairo-0.13.3.1 which
itself failed to build.
Failed to build gio-0.13.3.1 because it depends on gio-0.13.3.1 which itself
failed to build.
Failed to build glib-0.13.4.1 because it depends on glib-0.13.4.1 which itself
failed to build.
Failed to build gtk2hs-buildtools-0.13.2.2 because it depends on
gtk2hs-buildtools-0.13.2.2 which itself failed to build.
Failed to build gtk3-0.14.6 because it depends on gtk3-0.14.6 which itself
failed to build.
Failed to build
hashtables-1.2.1.1-47d1b471acfd09d3f77992f03c59e046e1bca2f0d8c059fe797d8e8d0f84591c.
Failed to build
microlens-platform-0.3.9.0-b1428a38cf051c016a6e470fc4bd1312f1b69e5b5be5222cb434911e7ccbdb13.
Failed to build pango-0.13.3.1 because it depends on pango-0.13.3.1 which
itself failed to build.
Failed to build slay-cairo-0 because it depends on slay-cairo-0 which itself
failed to build.
Failed to build slay-cairo-0 because it depends on slay-cairo-0 which itself
failed to build.
Failed to build slay-core-0-inplace+GcW6fEY6Ri84eAK58O7WHY.
Failed to build slay-gtk-0 because it depends on slay-gtk-0 which itself
failed to build.
Failed to build slay-gtk-0 because it depends on slay-gtk-0 which itself
failed to build.
Hi,
I have also similar issue regarding shadow dependencies.
I am using Haskell Platform's generic on my Ubuntu guest (using virtualbox) of my Windows 10 machine.
the log of build (using -v3) is here :
source-repository head
type: git
location: git://github.com/bos/aeson.git
library
exposed-modules:
Data.Attoparsec.Time.Internal
Data.Attoparsec.Time
exposed: True
buildable: True
build-depends:
attoparsec >=0.13.0.1,
base >=4.5 && <5,
base-compat >=0.9.1 && <0.10,
text >=1.1.1.0,
time >=1.1.1.4
default-language: Haskell2010
hs-source-dirs: .
ghc-options: -Wall
Finalized build-depends: attoparsec >=0.13.0.1 && ==0.13.2.0, base >=4.5 && <5
&& ==4.10.0.0, base-compat >=0.9.1 && <0.10 && ==0.9.3, text >=1.1.1.0 &&
==1.2.2.2, time >=1.1.1.4 && ==1.8.0.2
Dependency attoparsec ==0.13.2.0: using attoparsec-0.13.2.0
Dependency base ==4.10.0.0: using base-4.10.0.0
Dependency base-compat ==0.9.3: using base-compat-0.9.3
Dependency text ==1.2.2.2: using text-1.2.2.2
Dependency time ==1.8.0.2: using time-1.8.0.2
Searching for alex in path.
Found alex at /usr/local/bin/alex
/usr/local/bin/alex --version
/usr/local/bin/alex is version 3.2.1
Searching for ar in path.
Found ar at /usr/bin/ar
Searching for c2hs in path.
Cannot find c2hs on the path
Searching for cpphs in path.
Cannot find cpphs on the path
Searching for doctest in path.
Cannot find doctest on the path
Searching for gcc in path.
Found gcc at /usr/bin/gcc
/usr/bin/gcc -dumpversion
/usr/bin/gcc is version 5.4.0
Searching for ghcjs in path.
Cannot find ghcjs on the path
Searching for ghcjs-pkg in path.
Cannot find ghcjs-pkg on the path
Searching for greencard in path.
Cannot find greencard on the path
looking for tool haddock near compiler in /usr/local/bin
candidate locations:
["/usr/local/bin/haddock-ghc-8.2.1","/usr/local/bin/haddock-8.2.1","/usr/local/bin/haddock","/usr/local/haskell/ghc-8.2.1-x86_64/bin/haddock-ghc-8.2.1","/usr/local/haskell/ghc-8.2.1-x86_64/bin/haddock-8.2.1","/usr/local/haskell/ghc-8.2.1-x86_64/bin/haddock"]
found haddock in /usr/local/bin/haddock-ghc-8.2.1
/usr/local/bin/haddock-ghc-8.2.1 --version
/usr/local/bin/haddock-ghc-8.2.1 is version 2.18.1
Searching for happy in path.
Found happy at /usr/local/bin/happy
/usr/local/bin/happy --version
/usr/local/bin/happy is version 1.19.5
Searching for hmake in path.
Cannot find hmake on the path
looking for tool hpc near compiler in /usr/local/bin
candidate locations:
["/usr/local/bin/hpc-ghc-8.2.1","/usr/local/bin/hpc-8.2.1","/usr/local/bin/hpc","/usr/local/haskell/ghc-8.2.1-x86_64/bin/hpc-ghc-8.2.1","/usr/local/haskell/ghc-8.2.1-x86_64/bin/hpc-8.2.1","/usr/local/haskell/ghc-8.2.1-x86_64/bin/hpc"]
found hpc in /usr/local/bin/hpc
/usr/local/bin/hpc version
/usr/local/bin/hpc is version 0.67
looking for tool hsc2hs near compiler in /usr/local/bin
candidate locations:
["/usr/local/bin/hsc2hs-ghc-8.2.1","/usr/local/bin/hsc2hs-8.2.1","/usr/local/bin/hsc2hs","/usr/local/haskell/ghc-8.2.1-x86_64/bin/hsc2hs-ghc-8.2.1","/usr/local/haskell/ghc-8.2.1-x86_64/bin/hsc2hs-8.2.1","/usr/local/haskell/ghc-8.2.1-x86_64/bin/hsc2hs"]
found hsc2hs in /usr/local/bin/hsc2hs
/usr/local/bin/hsc2hs --version
/usr/local/bin/hsc2hs is version 0.68.2
Searching for HsColour in path.
Found HsColour at /usr/local/bin/HsColour
/usr/local/bin/HsColour -version
/usr/local/bin/HsColour is version 1.24
Searching for jhc in path.
Cannot find jhc on the path
Searching for ld.gold in path.
Found ld.gold at /usr/bin/ld.gold
Environment: [("CLUTTER_IM_MODULE","xim"),("COMPIZ_BIN_PATH","/usr/bin/"),("COMPIZ_CONFIG_PROFILE","ubuntu-lowgfx"),("DBUS_SESSION_BUS_ADDRESS","unix:abstract=/tmp/dbus-HhzrkNR5RN"),("DEFAULTS_PATH","/usr/share/gconf/ubuntu.default.path"),("DESKTOP_SESSION","ubuntu"),("DISPLAY",":0"),("GDMSESSION","ubuntu"),("GDM_LANG","en_US"),("GNOME_DESKTOP_SESSION_ID","this-is-deprecated"),("GNOME_KEYRING_CONTROL",""),("GNOME_KEYRING_PID",""),("GPG_AGENT_INFO","/home/rizary/.gnupg/S.gpg-agent:0:1"),("GTK2_MODULES","overlay-scrollbar"),("GTK_IM_MODULE","ibus"),("GTK_MODULES","gail:atk-bridge:unity-gtk-module"),("HASKELL_DIST_DIR","dist"),("HOME","/home/rizary"),("IM_CONFIG_PHASE","1"),("INSTANCE",""),("JOB","unity-settings-daemon"),("LANG","en_US.UTF-8"),("LANGUAGE","en_US"),("LC_ADDRESS","id_ID.UTF-8"),("LC_IDENTIFICATION","id_ID.UTF-8"),("LC_MEASUREMENT","id_ID.UTF-8"),("LC_MONETARY","id_ID.UTF-8"),("LC_NAME","id_ID.UTF-8"),("LC_NUMERIC","id_ID.UTF-8"),("LC_PAPER","id_ID.UTF-8"),("LC_TELEPHONE","id_ID.UTF-8"),("LC_TIME","id_ID.UTF-8"),("LESSCLOSE","/usr/bin/lesspipe %s %s"),("LESSOPEN","| /usr/bin/lesspipe %s"),("LIBGL_ALWAYS_SOFTWARE","1"),("LOGNAME","rizary"),("LS_COLORS","rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=00:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arc=01;31:*.arj=01;31:*.taz=01;31:*.lha=01;31:*.lz4=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.tzo=01;31:*.t7z=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.dz=01;31:*.gz=01;31:*.lrz=01;31:*.lz=01;31:*.lzo=01;31:*.xz=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.alz=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.cab=01;31:*.jpg=01;35:*.jpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.m4a=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:*.oga=00;36:*.opus=00;36:*.spx=00;36:*.xspf=00;36:"),("MANDATORY_PATH","/usr/share/gconf/ubuntu.mandatory.path"),("OLDPWD","/home/rizary"),("PATH","/home/rizary/bin:/home/rizary/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin"),("PWD","/home/rizary/hackage-matrix-builder"),("QT4_IM_MODULE","xim"),("QT_ACCESSIBILITY","1"),("QT_IM_MODULE","ibus"),("QT_LINUX_ACCESSIBILITY_ALWAYS_ON","1"),("QT_QPA_PLATFORMTHEME","appmenu-qt5"),("SESSION","ubuntu"),("SESSIONTYPE","gnome-session"),("SHELL","/bin/bash"),("SHLVL","1"),("SSH_AUTH_SOCK","/run/user/1000/keyring/ssh"),("TERM","xterm-256color"),("UPSTART_EVENTS","xsession started"),("UPSTART_INSTANCE",""),("UPSTART_JOB","unity7"),("UPSTART_SESSION","unix:abstract=/com/ubuntu/upstart-session/1000/1014"),("USER","rizary"),("VTE_VERSION","4205"),("WINDOWID","54533747"),("XAUTHORITY","/home/rizary/.Xauthority"),("XDG_CONFIG_DIRS","/etc/xdg/xdg-ubuntu:/usr/share/upstart/xdg:/etc/xdg"),("XDG_CURRENT_DESKTOP","Unity"),("XDG_DATA_DIRS","/usr/share/ubuntu:/usr/share/gnome:/usr/local/share/:/usr/share/:/var/lib/snapd/desktop"),("XDG_GREETER_DATA_DIR","/var/lib/lightdm-data/rizary"),("XDG_RUNTIME_DIR","/run/user/1000"),("XDG_SEAT","seat0"),("XDG_SEAT_PATH","/org/freedesktop/DisplayManager/Seat0"),("XDG_SESSION_DESKTOP","ubuntu"),("XDG_SESSION_ID","c1"),("XDG_SESSION_PATH","/org/freedesktop/DisplayManager/Session0"),("XDG_SESSION_TYPE","x11"),("XDG_VTNR","7"),("XMODIFIERS","@im=ibus"),("_","/usr/local/bin/cabal")]
/usr/local/bin/ghc-8.2.1 -hide-all-packages -c /tmp/29434-1.c -o /tmp/29434-2.o
/usr/bin/ld.gold -x -r /tmp/29434-2.o -o /tmp/29434-3.o
Searching for lhc in path.
Cannot find lhc on the path
Searching for lhc-pkg in path.
Cannot find lhc-pkg on the path
Searching for pkg-config in path.
Found pkg-config at /usr/bin/pkg-config
/usr/bin/pkg-config --version
/usr/bin/pkg-config is version 0.29.1
looking for tool runghc near compiler in /usr/local/bin
candidate locations:
["/usr/local/bin/runghc-ghc-8.2.1","/usr/local/bin/runghc-8.2.1","/usr/local/bin/runghc","/usr/local/haskell/ghc-8.2.1-x86_64/bin/runghc-ghc-8.2.1","/usr/local/haskell/ghc-8.2.1-x86_64/bin/runghc-8.2.1","/usr/local/haskell/ghc-8.2.1-x86_64/bin/runghc"]
found runghc in /usr/local/bin/runghc-8.2.1
/usr/local/bin/runghc-8.2.1 --version
/usr/local/bin/runghc-8.2.1 is version 8.2.1
Searching for strip in path.
Found strip at /usr/bin/strip
/usr/bin/strip --version
/usr/bin/strip is version 2.26
Searching for tar in path.
Found tar at /bin/tar
/bin/tar --help
Searching for uhc in path.
Cannot find uhc on the path
Source component graph: component lib
Configured component graph:
component attoparsec-iso8601-1.0.0.0-2b05e22d4886be4f1130c416cab6dbcdecfdce970ef16132912224a3b1292452
include attoparsec-0.13.2.0-5dp4kBDsiGY4dQpLKbD5rk
include base-4.10.0.0
include base-compat-0.9.3-482e218f408df1334bb9fa79de9751329de164837b8fe05ab6e2724f3bdbe096
include text-1.2.2.2-EGUst8sqNAZCw1xLPcmcMH
include time-1.8.0.2
Linked component graph:
unit attoparsec-iso8601-1.0.0.0-2b05e22d4886be4f1130c416cab6dbcdecfdce970ef16132912224a3b1292452
include attoparsec-0.13.2.0-5dp4kBDsiGY4dQpLKbD5rk
include base-4.10.0.0
include base-compat-0.9.3-482e218f408df1334bb9fa79de9751329de164837b8fe05ab6e2724f3bdbe096
include text-1.2.2.2-EGUst8sqNAZCw1xLPcmcMH
include time-1.8.0.2
Data.Attoparsec.Time=attoparsec-iso8601-1.0.0.0-2b05e22d4886be4f1130c416cab6dbcdecfdce970ef16132912224a3b1292452:Data.Attoparsec.Time,Data.Attoparsec.Time.Internal=attoparsec-iso8601-1.0.0.0-2b05e22d4886be4f1130c416cab6dbcdecfdce970ef16132912224a3b1292452:Data.Attoparsec.Time.Internal
Ready component graph:
definite attoparsec-iso8601-1.0.0.0-2b05e22d4886be4f1130c416cab6dbcdecfdce970ef16132912224a3b1292452
depends attoparsec-0.13.2.0-5dp4kBDsiGY4dQpLKbD5rk
depends base-4.10.0.0
depends base-compat-0.9.3-482e218f408df1334bb9fa79de9751329de164837b8fe05ab6e2724f3bdbe096
depends text-1.2.2.2-EGUst8sqNAZCw1xLPcmcMH
depends time-1.8.0.2
Using Cabal-2.0.0.2 compiled by ghc-8.2
Using compiler: ghc-8.2.1
Using install prefix:
/home/rizary/.cabal/store/ghc-8.2.1/attoparsec-iso8601-1.0.0.0-2b05e22d4886be4f1130c416cab6dbcdecfdce970ef16132912224a3b1292452
Executables installed in:
/home/rizary/.cabal/store/ghc-8.2.1/attoparsec-iso8601-1.0.0.0-2b05e22d4886be4f1130c416cab6dbcdecfdce970ef16132912224a3b1292452/bin
Libraries installed in:
/home/rizary/.cabal/store/ghc-8.2.1/attoparsec-iso8601-1.0.0.0-2b05e22d4886be4f1130c416cab6dbcdecfdce970ef16132912224a3b1292452/lib
Dynamic Libraries installed in:
/home/rizary/.cabal/store/ghc-8.2.1/attoparsec-iso8601-1.0.0.0-2b05e22d4886be4f1130c416cab6dbcdecfdce970ef16132912224a3b1292452/lib
Private executables installed in:
/home/rizary/.cabal/store/ghc-8.2.1/attoparsec-iso8601-1.0.0.0-2b05e22d4886be4f1130c416cab6dbcdecfdce970ef16132912224a3b1292452/libexec
Data files installed in:
/home/rizary/.cabal/store/ghc-8.2.1/attoparsec-iso8601-1.0.0.0-2b05e22d4886be4f1130c416cab6dbcdecfdce970ef16132912224a3b1292452/share
Documentation installed in:
/home/rizary/.cabal/store/ghc-8.2.1/attoparsec-iso8601-1.0.0.0-2b05e22d4886be4f1130c416cab6dbcdecfdce970ef16132912224a3b1292452/share/doc
Configuration files installed in:
/home/rizary/.cabal/store/ghc-8.2.1/attoparsec-iso8601-1.0.0.0-2b05e22d4886be4f1130c416cab6dbcdecfdce970ef16132912224a3b1292452/etc
Using alex version 3.2.1 found on system at: /usr/local/bin/alex
Using ar found on system at: /usr/bin/ar
No c2hs found
No cpphs found
No doctest found
Using gcc version 5.4.0 found on system at: /usr/bin/gcc
Using ghc version 8.2.1 given by user at: /usr/local/bin/ghc-8.2.1
Using ghc-pkg version 8.2.1 given by user at: /usr/local/bin/ghc-pkg-8.2.1
No ghcjs found
No ghcjs-pkg found
No greencard found
Using haddock version 2.18.1 found on system at:
/usr/local/bin/haddock-ghc-8.2.1
Using happy version 1.19.5 found on system at: /usr/local/bin/happy
Using haskell-suite found on system at: haskell-suite-dummy-location
Using haskell-suite-pkg found on system at: haskell-suite-pkg-dummy-location
No hmake found
Using hpc version 0.67 found on system at: /usr/local/bin/hpc
Using hsc2hs version 0.68.2 found on system at: /usr/local/bin/hsc2hs
Using hscolour version 1.24 found on system at: /usr/local/bin/HsColour
No jhc found
Using ld found on system at: /usr/bin/ld.gold
No lhc found
No lhc-pkg found
Using pkg-config version 0.29.1 found on system at: /usr/bin/pkg-config
Using runghc version 8.2.1 found on system at: /usr/local/bin/runghc-8.2.1
Using strip version 2.26 found on system at: /usr/bin/strip
Using tar found on system at: /bin/tar
No uhc found
/usr/bin/gcc '-std=gnu99' -fno-stack-protector '-fuse-ld=gold' /tmp/29434-5.c -o /tmp/29434-6 '-D__GLASGOW_HASKELL__=802' '-Dlinux_BUILD_OS=1' '-Dx86_64_BUILD_ARCH=1' '-Dlinux_HOST_OS=1' '-Dx86_64_HOST_ARCH=1' -Idist/build/autogen -I. -I/usr/local/haskell/ghc-8.2.1-x86_64/lib/ghc-8.2.1/unix-2.7.2.2/include -I/usr/local/haskell/ghc-8.2.1-x86_64/lib/ghc-8.2.1/time-1.8.0.2/include -I/usr/local/haskell/ghc-8.2.1-x86_64/lib/primitive-0.6.2.0/include -I/usr/local/haskell/ghc-8.2.1-x86_64/lib/ghc-8.2.1/bytestring-0.10.8.2/include -I/usr/local/haskell/ghc-8.2.1-x86_64/lib/ghc-8.2.1/base-4.10.0.0/include -I/usr/local/haskell/ghc-8.2.1-x86_64/lib/ghc-8.2.1/integer-gmp-1.0.1.0/include -I/usr/local/haskell/ghc-8.2.1-x86_64/lib/ghc-8.2.1/include -L/home/rizary/.cabal/store/ghc-8.2.1/base-compat-0.9.3-482e218f408df1334bb9fa79de9751329de164837b8fe05ab6e2724f3bdbe096/lib -L/usr/local/haskell/ghc-8.2.1-x86_64/lib/ghc-8.2.1/unix-2.7.2.2 -L/usr/local/haskell/ghc-8.2.1-x86_64/lib/ghc-8.2.1/time-1.8.0.2 -L/usr/local/haskell/ghc-8.2.1-x86_64/lib/attoparsec-0.13.2.0 -L/usr/local/haskell/ghc-8.2.1-x86_64/lib/scientific-0.3.5.1 -L/usr/local/haskell/ghc-8.2.1-x86_64/lib/primitive-0.6.2.0 -L/usr/local/haskell/ghc-8.2.1-x86_64/lib/ghc-8.2.1/transformers-0.5.2.0 -L/usr/local/haskell/ghc-8.2.1-x86_64/lib/hashable-1.2.6.1 -L/usr/local/haskell/ghc-8.2.1-x86_64/lib/text-1.2.2.2 -L/usr/local/haskell/ghc-8.2.1-x86_64/lib/ghc-8.2.1/binary-0.8.5.1 -L/usr/local/haskell/ghc-8.2.1-x86_64/lib/integer-logarithms-1.0.2 -L/usr/local/haskell/ghc-8.2.1-x86_64/lib/ghc-8.2.1/containers-0.5.10.2 -L/usr/local/haskell/ghc-8.2.1-x86_64/lib/ghc-8.2.1/bytestring-0.10.8.2 -L/usr/local/haskell/ghc-8.2.1-x86_64/lib/ghc-8.2.1/deepseq-1.4.3.0 -L/usr/local/haskell/ghc-8.2.1-x86_64/lib/ghc-8.2.1/array-0.5.2.0 -L/usr/local/haskell/ghc-8.2.1-x86_64/lib/ghc-8.2.1/base-4.10.0.0 -L/usr/local/haskell/ghc-8.2.1-x86_64/lib/ghc-8.2.1/integer-gmp-1.0.1.0 -L/usr/local/haskell/ghc-8.2.1-x86_64/lib/ghc-8.2.1/ghc-prim-0.5.1.0 -L/usr/local/haskell/ghc-8.2.1-x86_64/lib/ghc-8.2.1/rts
Using internal setup method with build-type Simple and args:
["build","--verbose=3","--builddir=dist"]
Component build order: library
Environment: [("CLUTTER_IM_MODULE","xim"),("COMPIZ_BIN_PATH","/usr/bin/"),("COMPIZ_CONFIG_PROFILE","ubuntu-lowgfx"),("DBUS_SESSION_BUS_ADDRESS","unix:abstract=/tmp/dbus-HhzrkNR5RN"),("DEFAULTS_PATH","/usr/share/gconf/ubuntu.default.path"),("DESKTOP_SESSION","ubuntu"),("DISPLAY",":0"),("GDMSESSION","ubuntu"),("GDM_LANG","en_US"),("GNOME_DESKTOP_SESSION_ID","this-is-deprecated"),("GNOME_KEYRING_CONTROL",""),("GNOME_KEYRING_PID",""),("GPG_AGENT_INFO","/home/rizary/.gnupg/S.gpg-agent:0:1"),("GTK2_MODULES","overlay-scrollbar"),("GTK_IM_MODULE","ibus"),("GTK_MODULES","gail:atk-bridge:unity-gtk-module"),("HASKELL_DIST_DIR","dist"),("HOME","/home/rizary"),("IM_CONFIG_PHASE","1"),("INSTANCE",""),("JOB","unity-settings-daemon"),("LANG","en_US.UTF-8"),("LANGUAGE","en_US"),("LC_ADDRESS","id_ID.UTF-8"),("LC_IDENTIFICATION","id_ID.UTF-8"),("LC_MEASUREMENT","id_ID.UTF-8"),("LC_MONETARY","id_ID.UTF-8"),("LC_NAME","id_ID.UTF-8"),("LC_NUMERIC","id_ID.UTF-8"),("LC_PAPER","id_ID.UTF-8"),("LC_TELEPHONE","id_ID.UTF-8"),("LC_TIME","id_ID.UTF-8"),("LESSCLOSE","/usr/bin/lesspipe %s %s"),("LESSOPEN","| /usr/bin/lesspipe %s"),("LIBGL_ALWAYS_SOFTWARE","1"),("LOGNAME","rizary"),("LS_COLORS","rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=00:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arc=01;31:*.arj=01;31:*.taz=01;31:*.lha=01;31:*.lz4=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.tzo=01;31:*.t7z=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.dz=01;31:*.gz=01;31:*.lrz=01;31:*.lz=01;31:*.lzo=01;31:*.xz=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.alz=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.cab=01;31:*.jpg=01;35:*.jpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.m4a=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:*.oga=00;36:*.opus=00;36:*.spx=00;36:*.xspf=00;36:"),("MANDATORY_PATH","/usr/share/gconf/ubuntu.mandatory.path"),("OLDPWD","/home/rizary"),("PATH","/home/rizary/bin:/home/rizary/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin"),("PWD","/home/rizary/hackage-matrix-builder"),("QT4_IM_MODULE","xim"),("QT_ACCESSIBILITY","1"),("QT_IM_MODULE","ibus"),("QT_LINUX_ACCESSIBILITY_ALWAYS_ON","1"),("QT_QPA_PLATFORMTHEME","appmenu-qt5"),("SESSION","ubuntu"),("SESSIONTYPE","gnome-session"),("SHELL","/bin/bash"),("SHLVL","1"),("SSH_AUTH_SOCK","/run/user/1000/keyring/ssh"),("TERM","xterm-256color"),("UPSTART_EVENTS","xsession started"),("UPSTART_INSTANCE",""),("UPSTART_JOB","unity7"),("UPSTART_SESSION","unix:abstract=/com/ubuntu/upstart-session/1000/1014"),("USER","rizary"),("VTE_VERSION","4205"),("WINDOWID","54533747"),("XAUTHORITY","/home/rizary/.Xauthority"),("XDG_CONFIG_DIRS","/etc/xdg/xdg-ubuntu:/usr/share/upstart/xdg:/etc/xdg"),("XDG_CURRENT_DESKTOP","Unity"),("XDG_DATA_DIRS","/usr/share/ubuntu:/usr/share/gnome:/usr/local/share/:/usr/share/:/var/lib/snapd/desktop"),("XDG_GREETER_DATA_DIR","/var/lib/lightdm-data/rizary"),("XDG_RUNTIME_DIR","/run/user/1000"),("XDG_SEAT","seat0"),("XDG_SEAT_PATH","/org/freedesktop/DisplayManager/Seat0"),("XDG_SESSION_DESKTOP","ubuntu"),("XDG_SESSION_ID","c1"),("XDG_SESSION_PATH","/org/freedesktop/DisplayManager/Session0"),("XDG_SESSION_TYPE","x11"),("XDG_VTNR","7"),("XMODIFIERS","@im=ibus"),("_","/usr/local/bin/cabal")]
/usr/local/bin/ghc-pkg-8.2.1 init dist/package.conf.inplace -v2
GHC package manager version 8.2.1
writing cache dist/package.conf.inplace/package.cache
creating dist/build
creating dist/build/autogen
creating dist/build/autogen
Preprocessing library for attoparsec-iso8601-1.0.0.0..
Building library for attoparsec-iso8601-1.0.0.0..
creating dist/build
Environment: [("CLUTTER_IM_MODULE","xim"),("COMPIZ_BIN_PATH","/usr/bin/"),("COMPIZ_CONFIG_PROFILE","ubuntu-lowgfx"),("DBUS_SESSION_BUS_ADDRESS","unix:abstract=/tmp/dbus-HhzrkNR5RN"),("DEFAULTS_PATH","/usr/share/gconf/ubuntu.default.path"),("DESKTOP_SESSION","ubuntu"),("DISPLAY",":0"),("GDMSESSION","ubuntu"),("GDM_LANG","en_US"),("GNOME_DESKTOP_SESSION_ID","this-is-deprecated"),("GNOME_KEYRING_CONTROL",""),("GNOME_KEYRING_PID",""),("GPG_AGENT_INFO","/home/rizary/.gnupg/S.gpg-agent:0:1"),("GTK2_MODULES","overlay-scrollbar"),("GTK_IM_MODULE","ibus"),("GTK_MODULES","gail:atk-bridge:unity-gtk-module"),("HASKELL_DIST_DIR","dist"),("HOME","/home/rizary"),("IM_CONFIG_PHASE","1"),("INSTANCE",""),("JOB","unity-settings-daemon"),("LANG","en_US.UTF-8"),("LANGUAGE","en_US"),("LC_ADDRESS","id_ID.UTF-8"),("LC_IDENTIFICATION","id_ID.UTF-8"),("LC_MEASUREMENT","id_ID.UTF-8"),("LC_MONETARY","id_ID.UTF-8"),("LC_NAME","id_ID.UTF-8"),("LC_NUMERIC","id_ID.UTF-8"),("LC_PAPER","id_ID.UTF-8"),("LC_TELEPHONE","id_ID.UTF-8"),("LC_TIME","id_ID.UTF-8"),("LESSCLOSE","/usr/bin/lesspipe %s %s"),("LESSOPEN","| /usr/bin/lesspipe %s"),("LIBGL_ALWAYS_SOFTWARE","1"),("LOGNAME","rizary"),("LS_COLORS","rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=00:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arc=01;31:*.arj=01;31:*.taz=01;31:*.lha=01;31:*.lz4=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.tzo=01;31:*.t7z=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.dz=01;31:*.gz=01;31:*.lrz=01;31:*.lz=01;31:*.lzo=01;31:*.xz=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.alz=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.cab=01;31:*.jpg=01;35:*.jpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.m4a=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:*.oga=00;36:*.opus=00;36:*.spx=00;36:*.xspf=00;36:"),("MANDATORY_PATH","/usr/share/gconf/ubuntu.mandatory.path"),("OLDPWD","/home/rizary"),("PATH","/home/rizary/bin:/home/rizary/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin"),("PWD","/home/rizary/hackage-matrix-builder"),("QT4_IM_MODULE","xim"),("QT_ACCESSIBILITY","1"),("QT_IM_MODULE","ibus"),("QT_LINUX_ACCESSIBILITY_ALWAYS_ON","1"),("QT_QPA_PLATFORMTHEME","appmenu-qt5"),("SESSION","ubuntu"),("SESSIONTYPE","gnome-session"),("SHELL","/bin/bash"),("SHLVL","1"),("SSH_AUTH_SOCK","/run/user/1000/keyring/ssh"),("TERM","xterm-256color"),("UPSTART_EVENTS","xsession started"),("UPSTART_INSTANCE",""),("UPSTART_JOB","unity7"),("UPSTART_SESSION","unix:abstract=/com/ubuntu/upstart-session/1000/1014"),("USER","rizary"),("VTE_VERSION","4205"),("WINDOWID","54533747"),("XAUTHORITY","/home/rizary/.Xauthority"),("XDG_CONFIG_DIRS","/etc/xdg/xdg-ubuntu:/usr/share/upstart/xdg:/etc/xdg"),("XDG_CURRENT_DESKTOP","Unity"),("XDG_DATA_DIRS","/usr/share/ubuntu:/usr/share/gnome:/usr/local/share/:/usr/share/:/var/lib/snapd/desktop"),("XDG_GREETER_DATA_DIR","/var/lib/lightdm-data/rizary"),("XDG_RUNTIME_DIR","/run/user/1000"),("XDG_SEAT","seat0"),("XDG_SEAT_PATH","/org/freedesktop/DisplayManager/Seat0"),("XDG_SESSION_DESKTOP","ubuntu"),("XDG_SESSION_ID","c1"),("XDG_SESSION_PATH","/org/freedesktop/DisplayManager/Session0"),("XDG_SESSION_TYPE","x11"),("XDG_VTNR","7"),("XMODIFIERS","@im=ibus"),("_","/usr/local/bin/cabal")]
/usr/local/bin/ghc-8.2.1 --make -fbuilding-cabal-package -O -static -dynamic-too -dynosuf dyn_o -dynhisuf dyn_hi -outputdir dist/build -odir dist/build -hidir dist/build -stubdir dist/build -i -idist/build -i. -idist/build/autogen -idist/build/global-autogen -Idist/build/autogen -Idist/build/global-autogen -Idist/build -optP-include -optPdist/build/autogen/cabal_macros.h -this-unit-id attoparsec-iso8601-1.0.0.0-2b05e22d4886be4f1130c416cab6dbcdecfdce970ef16132912224a3b1292452 -hide-all-packages -Wmissing-home-modules -no-user-package-db -package-db /home/rizary/.cabal/store/ghc-8.2.1/package.db -package-db dist/package.conf.inplace -package-id attoparsec-0.13.2.0-5dp4kBDsiGY4dQpLKbD5rk -package-id base-4.10.0.0 -package-id base-compat-0.9.3-482e218f408df1334bb9fa79de9751329de164837b8fe05ab6e2724f3bdbe096 -package-id text-1.2.2.2-EGUst8sqNAZCw1xLPcmcMH -package-id time-1.8.0.2 -XHaskell2010 Data.Attoparsec.Time.Internal Data.Attoparsec.Time -Wall -O2
/usr/local/bin/ghc-8.2.1 returned ExitFailure 1
packages definitely up to date:
packages previously probably up to date:
packages now probably up to date:
packages newly up to date:
packages out to date: hackage-matrix-builder3-0.3-inplace-matrix-controller, hackage-matrix-builder3-0.3-inplace-matrix-lib, hackage-matrix-builder3-0.3-inplace-matrix-worker, hackage-matrix-builder3-0.3-inplace-matrix-worker-client
packages invalid due to dep change: attoparsec-iso8601-1.0.0.0-2b05e22d4886be4f1130c416cab6dbcdecfdce970ef16132912224a3b1292452, hackage-matrix-builder3-0.3-inplace-matrix-controller, hackage-matrix-builder3-0.3-inplace-matrix-lib, hackage-matrix-builder3-0.3-inplace-matrix-worker, hackage-matrix-builder3-0.3-inplace-matrix-worker-client, http-api-data-0.3.7.1-f7120fcd0528fe7b3140a5fd43e85ebccfdbad8b7006cebf8eb509e54078b2b6, servant-0.11-985524af6904e944e142187426973a4b4eb7ce902b9ed8ac6fbca9f36827adc9, servant-client-0.11-d8dc5e7f372c8a93275d499e680d098fc638e3b2a97f61006cbec9242c78a2c3, servant-snap-0.7.3-c52d7f8f00cce4e958efd60d26c357b612a8c594118e0823026fafc2dcee84fd, servant-snap-0.7.3-e4a8f941f3d8cd3e7ce7c1bcfa0daeebe9bd6583b68ee216cb3d9911d45f9e26
packages invalid due to build failure: attoparsec-iso8601-1.0.0.0-2b05e22d4886be4f1130c416cab6dbcdecfdce970ef16132912224a3b1292452
and without v3, i got the following error:
Configuring library for attoparsec-iso8601-1.0.0.0..
Preprocessing library for attoparsec-iso8601-1.0.0.0..
Building library for attoparsec-iso8601-1.0.0.0..
<command line>: cannot satisfy -package-id attoparsec-0.13.2.0-5dp4kBDsiGY4dQpLKbD5rk:
attoparsec-0.13.2.0-5dp4kBDsiGY4dQpLKbD5rk is unusable due to shadowed dependencies:
scientific-0.3.5.1-L0qYzdp0wpz8rO8gircNSR text-1.2.2.2-EGUst8sqNAZCw1xLPcmcMH
(use -v for more information)
cabal: Failed to build attoparsec-iso8601-1.0.0.0 (which is required by
exe:matrix-worker from hackage-matrix-builder3-0.3, exe:matrix-controller from
hackage-matrix-builder3-0.3 and others).
the plan.json is here: https://usercontent.irccloud-cdn.com/file/SagMK3Bk/plan.text
is this problem relevant to what OP is made here?
This Stack issue may be related: https://github.com/commercialhaskell/stack/issues/2781.
I just saw this reference from the Stack issue (thank you!). I initially heard about this problem from a user report trying to build Yesod. The failure log is:
The user reported to me using the newest Haskell Platform for Windows.
@23Skidoo I was able to knock this down to a minimal reproducing case using only Cabal-the-library (neither Stack nor cabal-install), which hopefully will make it easier to debug this:
https://github.com/snoyberg/stack-issue-2781
Let me know if you have any questions about that, happy to assist.
@snoyberg Thank you! I'll try to look into that once I'm back from ICFP.
Sounds great! Enjoy ICFP 🍻
Any objection to updating the title of this issue to mention "shadowed dependencies?" I think it will make it easier for others to find it (and thereby avoid duplicate reports).
@snoyberg Go ahead.
@23Skidoo If any help is needed in testing this on macOS just let me know, I am eager to work on pet project that uses cabal 2.0 :)
Here’s another log of running cabal new-build -v3
in the cabal repository itself. I’m on Archlinux 64bit.
Stack issue 2781 may be unrelated; please see my comment there on an explanation of why cabal-repro.sh does what it does.
If you are using Haskell Platform full Linux binary tarball, please take a look at the output of the following two commands, especially best right after you have a clean fresh install:
ghc -v
You should see much shadowing messages, despite clean fresh install.
ghc-pkg field vector abi-depends
You should see "primitive-...=inplace" which stands out odd compared to the other ones such as "base-...=hexstring". This is why GHC can't find the right primitive for vector, as an example. The word "shadowing" is GHC reusing an old error message from a time when real shadowing used to happen all the time.
I don't have Mac. If you are using Haskell Platform full Mac binary installer, please try the above, it may be exactly the same cause.
The Windows version doesn't have this problem. This is only because the abi-depends field doesn't even exist! This may be because strangely the Windows version was probably built by Cabal 1.x which didn't make the abi-depends field. (Oh the whole affair is strange already, why would "inplace" leak out into final products in the first place? I know one way, but it sounds crazy that anyone would do it.)
My conclusion is that Haskell Platform full binary Linux (and maybe Mac) comes broken in the first place. Nothing you can do. (Oh, you could go replace all those "inplace"s by the correct hexstrings... Remember to ghc-pkg --global recache
after!)
If both bugs occurred in settings of a full platform install, I can confirm that the full platform builds were doing the wrong thing as discussed in the referenced HP issue and the above comment. New builds will be out shortly, and in the meantime using the core platform is a workaround.
@ezyang Could you please confirm what I think the shadowed dependency error means:?
A
depends on Package B
B
gets installed, and is registered in the package database with ABI hash X
A
, but before we do that, we calculate the ABI hash of all its dependencies; this time, the hash for package B
turns out to be Y
, which does not correspond to the registered hash X
A
failsAny idea what could be the cause for this?
FWIW I've made a tiny patch to GHC to work around this, it merely disables all shadowed dependency checking. So far none of our code has segfaulted and all the tests pass with this new GHC. Obviously this isn't the correct solution though!
nixpkgs revision with this fix in: https://github.com/expipiplus1/nixpkgs/tree/ghc-shadow The patch for GHC: https://gist.github.com/6720ebc3db90f36031d651ca2e6507c4
The mechanics of shadowing are explained in the manual here: https://downloads.haskell.org/~ghc/latest/docs/html/users_guide/packages.html#package-databases
In GHC 8.2, we DO check ABI hashes to be consistent with what is recorded in abi-depends
. So, if a package says vector=inplace
in abi-depends, but the actual vector you have installed has ABI somehash
, then we will NOT consider the package valid.
I don't know how the package database got into this state to begin with, however.
@snoyberg I looked at your reproduction, and I think I understand what is happening: the problem seems to be that Cabal is not re-registering bar with corrected ABIs. After I trigger a failure in your repro, I see the following package database state:
name: foo
version: 0.1.0.0
abi: 0c70dddb3cf756c7ffdc6d8ef42918ad
but then:
name: bar
version: 0.1.0.0
abi-depends: base-4.10.0.0=e724eb86b295664364c842e5dbd26516
foo-0.1=da0bf0148ddd9699d3bd9801bd3f7a3f
The ABIs clearly don't match, so GHC rejects it.
By the way, since the unusable due to shadowed dependencies
error can arise from mismatched abi-hashes even when this isn't caused by shadowing as described in the manual, perhaps it can be changed to something that's clearer on the issue?
I think there is a related ticket which should be filed for GHC, which is to make it more clear why a package is shadowed.
So, it looks like the root cause is that Cabal only reads out ABIs from the database once during configure. So if the package database state changes (as it would if you reregister a package), you technically need to reconfigure. You can see this is the case because inplaceInstalledPackageInfo
in Cabal/Distribution/Simple/Build.hs
takes in arguments from lbi
and clbi
which have dependency info, which are computed during configure. So I see a few possible fixes:
cabal-repro.sh
, this corresponds to adding a configure
before the ill-fated build
.build
to re-read dependencies from the package database every time its run, so that when we register inplace we always do something accurate. I don't exactly know what the best way to do this in code is.abi-depends
, which would disable ABI-checking. But this is kicking the can down the road since if you actually properly installed the package, you would have the problem again.I don't have time to write a patch. Hopefully this is enough for someone else.
By the way, we didn't notice this problem with new-build because new-build never reinstalls a package in the store with a new ABI, it always picks a new IPID for it in that case. In terms of editing cabal-repro.sh, this corresponds to adding a configure before the ill-fated build.
I have noticed this problem with new-build
. The log in my comment above was created with new-build
.
OK, I stand corrected :)
"this does NOT apply for inplace; inplace packages don't have this problem because inplace packages get registered with 'inplace' ABI so you don't have reregister every time you edit something" -- I'm not so sure this is true. It used to be. But now I think that inplace packages have a full abi and also an inplace tag on it? So if something else depends on an =inplace abi, then it still checks that it matches now... I could be a bit wrong here, but its worth exploring.
Or perhaps I don't understand your above comment fully? There's a lot going on here...
When we do an inplace registration (this is a registration to the inplace package database in dist
), we don't compute an abi hash, instead, we just use inplace
as the ABI. So if there's an inplace package whose abi
is not inplace
, that is probably a bug.
@cocreature did your error occur on a system with a full linux hp install?
@gbaz No, just a minimal GHC bindist.
I should probably also add that the only way that I found to fix this was nuking ~/.cabal/store
, nuking dist-newstyle
was not sufficient. I’ve encountered this multiple times on different repos but I haven’t figured out what exactly is causing problems here.
@ezyang thanks for the analysis. Since regardless of upstream Cabal fix we'll want to work around this issue for older Cabals, I've written a workaround for Stack. For the curious: https://github.com/commercialhaskell/stack/pull/3503.
And for the record: yes, this appears to be a completely separate issue from the Haskell Platform bug, just with similar symptoms.
I think it might be best to solve this at the source. Here is the proposal I have filed for GHC: https://ghc.haskell.org/trac/ghc/ticket/14381
Just as an update, there is a patch on Phabricator now that (crudely) addresses this issue inside ghc-pkg
(we were hitting this at $WORK
), but it will not make it for the 8.2.2 release, unfortunately. (It does in fact fix @snoyberg's stack-issue-2781
problem, however, with some minor tweaks to the cabal-repro.sh
script). Ideally with a fix in place, Stack's workaround can eventually be removed in time (or feature gated to <= 8.2.2, maybe?)
See #14381 and Phabricator for more info. I'll work on getting this patch cleaned up for upstream as needed, but excited participants can, of course, apply it themselves and try it out.
@thoughtpolice Thanks for the update! I have opened https://github.com/commercialhaskell/stack/issues/3554 to track eventually disabling the workaround.
Not sure if this is the same issue, but we're getting this error message with a clean Nix build (so no mutated package database). Any idea what to look into?
I run stack 1.6.5 with resolver: nightly-2018-04-03 (installed with stack) and I see the is unusable due to shadowed dependencies
error msg a lot. My project has multiple packages depending in a DAG, each with an additional test
suite. stack test
fails with unusable
msg.
I was under the impression that the issue was (partially) fixed with 8.4.1, but it seems not to. When is a solution expected? This is a very disruptive problem!
@andrewufrank If you're able to build your own GHC, please see if https://phabricator.haskell.org/D4159 fixes it for you.
I will try - thank you! do you confirm, that 8.4.1 does not include the patch?
Correct, it has not been merged yet
too bad - it would have been valuable, if this had been communicated. thank you for the information!
I believe that this is fixed in 8.4.3+, see https://ghc.haskell.org/trac/ghc/ticket/14381.
I am trying to build a project with
cabal new-build
and I haveghc-8.2.1
andIt is failing to build alex (among some other packages but this one fails first)
The build log says
I also tried compiling with
-f-parsec
flag with no luck