#5709: ghc-7.2 cannot find libraries in non-standard locations ------------------------------+--------------------------------------------- Reporter: kosmikus | Owner: Type: bug | Status: new Priority: normal | Component: Package system Version: 7.2.1 | Keywords: Os: Unknown/Multiple | Architecture: Unknown/Multiple Failure: Other | Testcase: Blockedby: | Blocking: Related: | ------------------------------+--------------------------------------------- The following is what I perceive to be a regression from ghc-7.0.4 to ghc-7.2.1 and ghc-7.2.2.
On NixOS, all packages are installed into separate directories in the Nix store. With ghc-7.0.4, the following works: {{{ $ ghc -package zlib -e "print ()" () $ ghc-pkg describe zlib | grep library-dirs -A 1 library-dirs: /nix/store/vnflri0w0fadiqwv1j6w6gxw00paav6a-haskell-zlib- ghc7.0.4-0.5.3.1-profiling/lib/zlib-0.5.3.1/ghc-7.0.4 /nix/store/0jmzlnayh2p06vlgmiiyaj3xppc6l9lr-zlib-1.2.5/lib $ strace ghc -package zlib -e "print ()" 2>&1 | grep libz.so stat64("/nix/store/vnflri0w0fadiqwv1j6w6gxw00paav6a-haskell-zlib- ghc7.0.4-0.5.3.1-profiling/lib/zlib-0.5.3.1/ghc-7.0.4/libz.so", 0xb5e94490) = -1 ENOENT (No such file or directory) stat64("/nix/store/0jmzlnayh2p06vlgmiiyaj3xppc6l9lr- zlib-1.2.5/lib/libz.so", {st_mode=S_IFREG|0555, st_size=91092, ...}) = 0 open("/nix/store/0jmzlnayh2p06vlgmiiyaj3xppc6l9lr-zlib-1.2.5/lib/libz.so", O_RDONLY) = 7 }}} However, if I try exactly the same with ghc-7.2.1, I get: {{{ $ ghc -package zlib -e "print ()" <command line>: can't load .so/.DLL for: libz.so (libz.so: cannot open shared object file: No such file or directory) $ ghc-pkg describe zlib | grep library-dirs -A 1 library-dirs: /nix/store/6zjd86g35dpxl5r6zrr67nnmf00qalkr-haskell-zlib- ghc7.2.1-0.5.3.1-profiling/lib/zlib-0.5.3.1/ghc-7.2.1 /nix/store/0jmzlnayh2p06vlgmiiyaj3xppc6l9lr-zlib-1.2.5/lib $ strace ghc -package zlib -e "print ()" 2>&1 | grep libz.so open("/nix/store/ri2nlzb1lsi0d1y7nb8dkhzhsnyd08k4-gmp-4.3.2/lib/libz.so", O_RDONLY) = -1 ENOENT (No such file or directory) open("/nix/store/nmliqd429c0s4sdlbk0394zdfx86gvf9-ncurses-5.7/lib/libz.so", O_RDONLY) = -1 ENOENT (No such file or directory) open("/nix/store/m9p1r0p6qlaw5wy5hnwpii323la3s8j3-glibc-2.12.2/lib/libz.so", O_RDONLY) = -1 ENOENT (No such file or directory) open("/nix/store/m9p1r0p6qlaw5wy5hnwpii323la3s8j3-glibc-2.12.2/lib/libz.so", O_RDONLY) = -1 ENOENT (No such file or directory) }}} The directories listed by strace seem to be the ones used for building GHC itself. The directories in the package configuration file seem to be ignored. -- Ticket URL: <http://hackage.haskell.org/trac/ghc/ticket/5709> GHC <http://www.haskell.org/ghc/> The Glasgow Haskell Compiler _______________________________________________ Glasgow-haskell-bugs mailing list Glasgow-haskell-bugs@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs