[GHC] #8194: make install (at git ef01794) still fails

#8194: make install (at git ef01794) still fails --------------------------------+------------------------------------------ Reporter: guest | Owner: Type: bug | Status: new Priority: normal | Milestone: 7.8.1 Component: Build System | Version: 7.7 Keywords: | Operating System: Linux Architecture: x86 | Type of failure: Installing GHC failed Difficulty: Unknown | Test Case: Blocked By: | Blocking: Related Tickets: | --------------------------------+------------------------------------------ I think the last time `make install` worked for me was sometime in February or March 2013. The build succeeds but `make install` fails. mk/build.mk: {{{ BuildFlavour = perf V = 0 }}} Steps to reproduce: {{{ $ perl boot $ ./configure --prefix=/tmp/ghc/7.7.20130827 $ make $ make install [...] Installing library in /tmp/ghc/7.7.20130827/lib/ghc-7.7.20130827/haskell2010-1.1.1.0 "/tmp/ghc/7.7.20130827/lib/ghc-7.7.20130827/bin/ghc-pkg" --force --global-package-db "/tmp/ghc/7.7.20130827/lib/ghc-7.7.20130827/package.conf.d" update rts/dist/package.conf.install /tmp/ghc/7.7.20130827/lib/ghc-7.7.20130827/bin/ghc-pkg: error while loading shared libraries: libHSbin-package-db-0.0.0.0-ghc7.7.20130827.so: cannot open shared object file: No such file or directory make[1]: *** [install_packages] Error 127 make: *** [install] Error 2 }}} Related mailing list threads: * http://www.haskell.org/pipermail/ghc-devs/2013-August/002167.html * http://www.haskell.org/pipermail/ghc-devs/2013-April/000995.html * http://www.haskell.org/pipermail/ghc-devs/2013-March/000822.html -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/8194 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#8194: make install (at git ef01794) still fails ------------------------------------------+--------------------------- Reporter: guest | Owner: Type: bug | Status: new Priority: highest | Milestone: 7.8.1 Component: Build System | Version: 7.7 Resolution: | Keywords: Operating System: Linux | Architecture: x86 Type of failure: Installing GHC failed | Difficulty: Unknown Test Case: | Blocked By: Blocking: | Related Tickets: ------------------------------------------+--------------------------- Changes (by ezyang): * priority: normal => highest Comment: Probably this is due to dynamic GHC; after the shared libraries are installed ghc-pkg can no longer find them. The proper way to do this is to register the libraries with the system dynamic linker; someone should figure out how to do this in a packager friendly way. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/8194#comment:1 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#8194: make install (at git ef01794) still fails ------------------------------------------+--------------------------- Reporter: guest | Owner: Type: bug | Status: new Priority: highest | Milestone: 7.8.1 Component: Build System | Version: 7.7 Resolution: | Keywords: Operating System: Linux | Architecture: x86 Type of failure: Installing GHC failed | Difficulty: Unknown Test Case: | Blocked By: Blocking: | Related Tickets: ------------------------------------------+--------------------------- Comment (by guest): So you think some change in 7.7 caused this, right? I haven't heard of anyone else hit the same issue, and it would great if someone else could verify the issue with the same i386 toolchain. Should I modify build.mk to disable shared libs for now, or is that something you would discourage me from doing? -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/8194#comment:2 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#8194: make install (at git ef01794) still fails ------------------------------------------+--------------------------- Reporter: guest | Owner: Type: bug | Status: new Priority: highest | Milestone: 7.8.1 Component: Build System | Version: 7.7 Resolution: | Keywords: Operating System: Linux | Architecture: x86 Type of failure: Installing GHC failed | Difficulty: Unknown Test Case: | Blocked By: Blocking: | Related Tickets: ------------------------------------------+--------------------------- Comment (by rrnewton): I have the same problem. I assume everyone does then and the dynamic-libs switch is just a work-in-progress? -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/8194#comment:3 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#8194: make install (at git ef01794) still fails ------------------------------------------+--------------------------- Reporter: guest | Owner: Type: bug | Status: new Priority: highest | Milestone: 7.8.1 Component: Build System | Version: 7.7 Resolution: | Keywords: Operating System: Linux | Architecture: x86 Type of failure: Installing GHC failed | Difficulty: Unknown Test Case: | Blocked By: Blocking: | Related Tickets: ------------------------------------------+--------------------------- Comment (by ezyang): Well, I couldn't get GHC to build not dynamic-by-default. IIRC, we're planning on shipping 7.8 with dynamic-by-default GHC, so this is a major blocker on the way there. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/8194#comment:4 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#8194: make install (at git ef01794) still fails ------------------------------------------+--------------------------- Reporter: guest | Owner: Type: bug | Status: new Priority: highest | Milestone: 7.8.1 Component: Build System | Version: 7.7 Resolution: | Keywords: Operating System: Linux | Architecture: x86 Type of failure: Installing GHC failed | Difficulty: Unknown Test Case: | Blocked By: Blocking: | Related Tickets: ------------------------------------------+--------------------------- Comment (by bos): This is affecting me, too. I'm trying to use a perf build. The problem appears to be that we do not install any shared libraries for packages during "make install". {{{ ~/git/ghc $ ldd /usr/local/ghc/head/lib/ghc-7.7.20130912/bin/ghc-pkg linux-vdso.so.1 => (0x00007fff269fe000) libHSterminfo-0.3.2.5-ghc7.7.20130912.so => /usr/local/ghc/head/lib/ghc-7.7.20130912/bin/../terminfo-0.3.2.5/libHSterminfo-0.3.2.5-ghc7.7.20130912.so (0x00007f189275f000) libHSbin-package-db-0.0.0.0-ghc7.7.20130912.so => not found libHSbinary-0.7.1.0-ghc7.7.20130912.so => not found libHSCabal-1.18.0-ghc7.7.20130912.so => not found libHSprocess-1.2.0.0-ghc7.7.20130912.so => not found libHSpretty-1.1.1.0-ghc7.7.20130912.so => not found libHSdirectory-1.2.0.1-ghc7.7.20130912.so => not found libHSunix-2.7.0.0-ghc7.7.20130912.so => not found libHStime-1.4.1-ghc7.7.20130912.so => not found libHSold-locale-1.0.0.5-ghc7.7.20130912.so => not found libHSfilepath-1.3.0.2-ghc7.7.20130912.so => not found libHScontainers-0.5.3.1-ghc7.7.20130912.so => not found libHSbytestring-0.10.3.0-ghc7.7.20130912.so => not found libHSdeepseq-1.3.0.2-ghc7.7.20130912.so => not found libHSarray-0.4.0.2-ghc7.7.20130912.so => not found libHSbase-4.7.0.0-ghc7.7.20130912.so => not found libHSinteger-gmp-0.5.1.0-ghc7.7.20130912.so => not found libHSghc-prim-0.3.1.0-ghc7.7.20130912.so => not found }}} Sure enough, if I look for {{{libHSbin-package- db-0.0.0.0-ghc7.7.20130912.so}}} in the source tree, it's there, but there is no sign of it in {{{/usr/local/ghc/head/lib/ghc-7.7.20130912/bin- package-db-0.0.0.0}}} - the static libraries are there, but *not* the shared. {{{ ~/git/ghc $ ls /usr/local/ghc/head/lib/ghc-7.7.20130912/bin-package- db-0.0.0.0 Distribution libHSbin-package-db-0.0.0.0.a libHSbin-package-db-0.0.0.0_p.a }}} -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/8194#comment:5 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#8194: make install (at git ef01794) still fails ------------------------------------------+--------------------------- Reporter: guest | Owner: Type: bug | Status: new Priority: highest | Milestone: 7.8.1 Component: Build System | Version: 7.7 Resolution: | Keywords: Operating System: Linux | Architecture: x86 Type of failure: Installing GHC failed | Difficulty: Unknown Test Case: | Blocked By: Blocking: | Related Tickets: ------------------------------------------+--------------------------- Comment (by bos): The problem here is simple: {{{inplace/bin/ghc-cabal}}} does not know about shared libraries. Here is a simple, and ''incorrect'', patch that makes it unconditionally install shared libraries. With this hack in place, {{{make install}}} succeeds, and the installed code actually works. {{{ --- a/utils/ghc-cabal/Main.hs +++ b/utils/ghc-cabal/Main.hs @@ -172,7 +172,8 @@ doCopy directory distDir progs' <- configureProgram verbosity stripProgram' progs let lbi' = lbi { withPrograms = progs', - installDirTemplates = idts + installDirTemplates = idts, + withSharedLib = True } f pd lbi' us flags }}} The correct fix is probably to pass another parameter to {{{ghc-cabal}}} that tells it if we're building shared libraries, so that it can set {{{withSharedLib}}} appropriately. Weird followon observation: we copy ''two'' versions of many utilities into the install tree. There are statically linked versions in the main {{{bin}}} directory, and dynamically linked versions under {{{lib/ghc- VERSION/bin}}}. (It is the dynamically linked copy of {{{lib/ghc- VERSION/bin/ghc-pkg}}} that is crashing due to lack of shared libraries during the install.) I don't understand why there are two versions? -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/8194#comment:6 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#8194: make install (at git ef01794) still fails ------------------------------------------+--------------------------- Reporter: guest | Owner: hvr Type: bug | Status: new Priority: highest | Milestone: 7.8.1 Component: Build System | Version: 7.7 Resolution: | Keywords: Operating System: Linux | Architecture: x86 Type of failure: Installing GHC failed | Difficulty: Unknown Test Case: | Blocked By: Blocking: | Related Tickets: ------------------------------------------+--------------------------- Changes (by bos): * owner: => hvr -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/8194#comment:7 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#8194: make install (at git ef01794) still fails ------------------------------------------+--------------------------- Reporter: guest | Owner: hvr Type: bug | Status: patch Priority: highest | Milestone: 7.8.1 Component: Build System | Version: 7.7 Resolution: | Keywords: Operating System: Linux | Architecture: x86 Type of failure: Installing GHC failed | Difficulty: Unknown Test Case: | Blocked By: Blocking: | Related Tickets: ------------------------------------------+--------------------------- Changes (by bos): * status: new => patch Comment: Patch at http://lpaste.net/92952 - will push unless someone grumbles. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/8194#comment:8 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#8194: make install (at git ef01794) still fails ------------------------------------------+--------------------------- Reporter: guest | Owner: bos Type: bug | Status: patch Priority: highest | Milestone: 7.8.1 Component: Build System | Version: 7.7 Resolution: | Keywords: Operating System: Linux | Architecture: x86 Type of failure: Installing GHC failed | Difficulty: Unknown Test Case: | Blocked By: Blocking: | Related Tickets: ------------------------------------------+--------------------------- Changes (by bos): * owner: hvr => bos -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/8194#comment:9 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#8194: make install (at git ef01794) still fails
------------------------------------------+---------------------------
Reporter: guest | Owner: bos
Type: bug | Status: patch
Priority: highest | Milestone: 7.8.1
Component: Build System | Version: 7.7
Resolution: | Keywords:
Operating System: Linux | Architecture: x86
Type of failure: Installing GHC failed | Difficulty: Unknown
Test Case: | Blocked By:
Blocking: | Related Tickets:
------------------------------------------+---------------------------
Comment (by Bryan O'Sullivan

#8194: make install (at git ef01794) still fails ------------------------------------------+--------------------------- Reporter: guest | Owner: bos Type: bug | Status: closed Priority: highest | Milestone: 7.8.1 Component: Build System | Version: 7.7 Resolution: fixed | Keywords: Operating System: Linux | Architecture: x86 Type of failure: Installing GHC failed | Difficulty: Unknown Test Case: | Blocked By: Blocking: | Related Tickets: ------------------------------------------+--------------------------- Changes (by bos): * status: patch => closed * resolution: => fixed -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/8194#comment:11 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler
participants (1)
-
GHC