Closed peti closed 9 years ago
@wkennington, @ttuegel it appears this breakage was caused by your ncurses
re-factoring. Prior to the staging
merge, ncurses
provided libncurses.so.5
, but that path now appears to be gone, hence the broken ghc
build.
@peti The ncurses refactoring is due to @wkennington. I had to bring back libncurses.so.5
so that older GHCs would at least build; I don't know why it is found at build time but not runtime.
Hmm, I looked on ncurses, and it confused me that the links have such a strange date. I thought it impossible, as nix is supposed to normalize them AFAIK, but even after --check
I get the same:
$ ls -l ./result/lib
total 1852
-r--r--r-- 35 root root 18 Jan 1 1970 libcurses.so
-r--r--r-- 35 root root 18 Jan 1 1970 libcursesw.so
lrwxrwxrwx 33 root root 10 May 15 2012 libform.a -> libformw.a
-r--r--r-- 33 root root 15 Jan 1 1970 libform.so
-r--r--r-- 2 root root 135124 Jan 1 1970 libformw.a
lrwxrwxrwx 64 root root 13 May 15 2012 libformw.so -> libformw.so.5
lrwxrwxrwx 32 root root 15 May 15 2012 libformw.so.5 -> libformw.so.5.9
-r-xr-xr-x 2 root root 79968 Jan 1 1970 libformw.so.5.9
lrwxrwxrwx 33 root root 10 May 15 2012 libmenu.a -> libmenuw.a
-r--r--r-- 33 root root 15 Jan 1 1970 libmenu.so
-r--r--r-- 2 root root 69062 Jan 1 1970 libmenuw.a
lrwxrwxrwx 64 root root 13 May 15 2012 libmenuw.so -> libmenuw.so.5
lrwxrwxrwx 32 root root 15 May 15 2012 libmenuw.so.5 -> libmenuw.so.5.9
-r-xr-xr-x 2 root root 38273 Jan 1 1970 libmenuw.so.5.9
lrwxrwxrwx 33 root root 13 May 15 2012 libncurses.a -> libncursesw.a
lrwxrwxrwx 2 root root 15 Jan 1 1970 libncurses++.a -> libncurses++w.a
-r--r--r-- 35 root root 18 Jan 1 1970 libncurses.so
-r--r--r-- 2 root root 167678 Jan 1 1970 libncurses++w.a
-r--r--r-- 2 root root 811852 Jan 1 1970 libncursesw.a
lrwxrwxrwx 64 root root 16 May 15 2012 libncursesw.so -> libncursesw.so.5
lrwxrwxrwx 32 root root 18 May 15 2012 libncursesw.so.5 -> libncursesw.so.5.9
-r-xr-xr-x 2 root root 456146 Jan 1 1970 libncursesw.so.5.9
lrwxrwxrwx 33 root root 11 May 15 2012 libpanel.a -> libpanelw.a
-r--r--r-- 33 root root 16 Jan 1 1970 libpanel.so
-r--r--r-- 10 root root 27426 Jan 1 1970 libpanelw.a
lrwxrwxrwx 64 root root 14 May 15 2012 libpanelw.so -> libpanelw.so.5
lrwxrwxrwx 32 root root 16 May 15 2012 libpanelw.so.5 -> libpanelw.so.5.9
-r-xr-xr-x 2 root root 14100 Jan 1 1970 libpanelw.so.5.9
dr-xr-xr-x 1 root root 186 Jan 1 1970 pkgconfig
lrwxrwxrwx 33 root root 17 May 15 2012 terminfo -> ../share/terminfo
I've run into a similar looking issue with building GHC 7.4.2 to bootstrap 7.8.4 and 7.10.1:
$ git status
HEAD detached at f93a8ee
nothing to commit, working directory clean
$ nix-env -f . -i -A haskellngPackages.cabal2nix
replacing old ‘cabal2nix-1.73’
installing ‘cabal2nix-20150505’
these derivations will be built:
[...]
building path(s) ‘/nix/store/ygp6s44nxv4z7am2g8g52iwqkbgxj04h-ghc-7.4.2-binary’
unpacking sources
unpacking source archive /nix/store/4zj30pw1rzvqshnrcsl9dw1ahdxhlz0z-ghc-7.4.2-i386-unknown-linux.tar.bz2
source root is ghc-7.4.2
[....]
configuring
checking for path to top of build tree... /tmp/nix-build-ghc-7.4.2-binary.drv-0/ghc-7.4.2
ghc/stage2/build/tmp/ghc-stage2: error while loading shared libraries: libncurses.so.5: cannot open shared object file: No such file or directory
Can't work out build platform
builder for ‘/nix/store/vawns4div0z5cq1w1wvch0jgw7zq40fj-ghc-7.4.2-binary.drv’ failed with exit code 1
cannot build derivation ‘/nix/store/vdgwwldb3a8fwv9bvmrc21cqqmb0zidl-ghc-7.8.4.drv’: 1 dependencies couldn't be built
cannot build derivation ‘/nix/store/68pkhyfymp5vrbysyzgrsbd621gxvqyw-ghc-7.10.1.drv’: 1 dependencies couldn't be built
cannot build derivation ‘/nix/store/xqy54j75y81nanr4fzb3blniafjl9mh4-cabal2nix-20150505.drv’: 1 dependencies couldn't be built
error: build of ‘/nix/store/xqy54j75y81nanr4fzb3blniafjl9mh4-cabal2nix-20150505.drv’ failed
@wkennington, ping?
FYI I get the same error installing with nix-env and nixos-rebuild from the unstable channel, and with the latest git commit ( 8a53e1a )
@Warbo: it hasn't been solved yet on any branch AFAIK. Note that ncurses changes are a mass rebuild, I think, due some bogus build-time dependency chains, so it should go through staging.
I took a look but I have no idea how this is broken yet.
On Wed, May 20, 2015, 09:34 Vladimír Čunát notifications@github.com wrote:
@Warbo https://github.com/Warbo: it hasn't been solved yet on any branch AFAIK.
— Reply to this email directly or view it on GitHub https://github.com/NixOS/nixpkgs/issues/7810#issuecomment-103951599.
I ran git checkout 41b53577a8f2 -- pkgs/development/libraries/ncurses
and both cabal2nix and cabal-install worked.
Prior to that, I also tried naively making libncurses.so.5 a symlink to libncurses.so at the end of the postInstall, but that gave a "file too short" error.
IMHO, this error is rather serious. I would suggest reverting the ncurses
refactoring until a fix has been found.
Edit: Sorry, I didn't mean to close this ticket.
I assume the problem is that this line got dropped by ee78173b213059e6c885dc0c4d3bf4da7d3cb229:
ln -svf lib''${lib}w.so.5 $out/lib/lib$lib.so.5
I'm also in favor of reverting ee78173b213059e6c885dc0c4d3bf4da7d3cb229, also because I don't really like the configureFlags
handling style introduced in that commit.
Should be fixed by 5a89a87cc575f0d8b9f6cc20e8203c18ac30a8c0
@wkennington, thank you for fixing this issue!
The binary version of GHC 6.10.2 is broken in
master
. That compiler is used to bootstrap GHC 6.10.4 and 6.12.3, which means that those compilers (and their respective package sets) are now broken, too.The error seems relatively harmless. The build succeeds, but the resulting GHC binary doesn't work. Citing from http://hydra.cryp.to/build/815012/log/raw: