
#8725: make DESTDIR=... install broken ----------------------------------+---------------------------------------- Reporter: nomeata | Owner: Type: bug | Status: new Priority: high | Milestone: Component: Build System | Version: 7.6.3 Keywords: | Operating System: Unknown/Multiple Architecture: | Type of failure: Building GHC failed Unknown/Multiple | Test Case: Difficulty: Unknown | Blocking: Blocked By: | Related Tickets: | ----------------------------------+---------------------------------------- Hi, when the building the Debian package of GHC HEAD, I get this error: {{{ $ /usr/bin/make DESTDIR=/home/nomeata/dailies/2014-01-31/ghc-7.9.20140130/debian/tmp install [...] /home/nomeata/dailies/2014-01-31/ghc-7.9.20140130/debian/tmp/usr/lib/ghc /old-time-1.1.0.2 "inplace/bin/ghc-cabal" copy libraries/haskell98 dist-install "strip" '/home/nomeata/dailies/2014-01-31/ghc-7.9.20140130/debian/tmp' '/usr' '/usr/lib/ghc' '/usr/share/doc/ghc-doc/html/libraries' 'v p dyn' Installing library in /home/nomeata/dailies/2014-01-31/ghc-7.9.20140130/debian/tmp/usr/lib/ghc/haskell98-2.0.0.3 "inplace/bin/ghc-cabal" copy libraries/haskell2010 dist-install "strip" '/home/nomeata/dailies/2014-01-31/ghc-7.9.20140130/debian/tmp' '/usr' '/usr/lib/ghc' '/usr/share/doc/ghc-doc/html/libraries' 'v p dyn' Installing library in /home/nomeata/dailies/2014-01-31/ghc-7.9.20140130/debian/tmp/usr/lib/ghc/haskell2010-1.1.1.1 "/home/nomeata/dailies/2014-01-31/ghc-7.9.20140130/debian/tmp/usr/lib/ghc/lib/bin /ghc-pkg" --force --global-package-db "/home/nomeata/dailies/2014-01-31/ghc-7.9.20140130/debian/tmp/usr/lib/ghc/package.conf.d" update rts/dist/package.conf.install /home/nomeata/dailies/2014-01-31/ghc-7.9.20140130/debian/tmp/usr/lib/ghc/lib/bin /ghc-pkg: error while loading shared libraries: libHSterminfo-0.4.0.0-ghc7.9.20140130.so: cannot open shared object file: No such file or directory make[1]: *** [install_packages] Fehler 127 make: *** [install] Fehler 2 }}} The problem is that it is calling ghc-pkg at the installed position, where it cannot find its libraries. `/home/nomeata/dailies/2014-01-31/ghc-7.9.20140130/debian/tmp/usr/lib/ghc/bin /ghc-pkg` would also not work, as that refers to absolute paths which are not there yet. I guess it should continue using the binaries in `inplace/bin` just like for `ghc-cabal`. But that alone does not help: {{{ "inplace/bin/ghc-pkg" --force --global-package-db "/home/nomeata/dailies/2014-01-31/ghc-7.9.20140130/debian/tmp/usr/lib/ghc/package.conf.d" update rts/dist/package.conf.install Reading package info from "rts/dist/package.conf.install" ... done. rts-1.0: Warning: library-dirs: /usr/lib/ghc/rts-1.0 doesn't exist or isn't a directory rts-1.0: cannot find any of ["libHSrts.a","libHSrts.p_a","libHSrts- ghc7.9.20140130.so","libHSrts-ghc7.9.20140130.dylib","HSrts- ghc7.9.20140130.dll"] on library path (ignoring) "inplace/bin/ghc-cabal" register libraries/ghc-prim dist-install "/home/nomeata/dailies/2014-01-31/ghc-7.9.20140130/debian/tmp/usr/lib/ghc/lib/bin/ghc" "/home/nomeata/dailies/2014-01-31/ghc-7.9.20140130/debian/tmp/usr/lib/ghc/lib/bin /ghc-pkg" "/home/nomeata/dailies/2014-01-31/ghc-7.9.20140130/debian/tmp/usr/lib/ghc" '/home/nomeata/dailies/2014-01-31/ghc-7.9.20140130/debian/tmp' '/usr' '/usr/lib/ghc' '/usr/share/doc/ghc-doc/html/libraries' NO Warning: cannot determine version of /home/nomeata/dailies/2014-01-31/ghc-7.9.20140130/debian/tmp/usr/lib/ghc/lib/bin/ghc : "" Warning: cannot determine version of /home/nomeata/dailies/2014-01-31/ghc-7.9.20140130/debian/tmp/usr/lib/ghc/lib/bin /ghc-pkg : "" ghc-cabal: /home/nomeata/dailies/2014-01-31/ghc-7.9.20140130/debian/tmp/usr/lib/ghc/lib/bin /ghc-pkg: error while loading shared libraries: libHSterminfo-0.4.0.0-ghc7.9.20140130.so: cannot open shared object file: No such file or directory }}} It would be nice if this can be fixed before 7.8.1, packagers rely on `DESTDIR`. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/8725 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler