[GHC] #8725: make DESTDIR=... install broken

GHC ghc-devs at haskell.org
Sat Feb 1 10:40:10 UTC 2014


#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


More information about the ghc-tickets mailing list