[GHC] #10131: improve error message for build on noexec-mounted device

#10131: improve error message for build on noexec-mounted device -------------------------------------+------------------------------------- Reporter: lspitzner | Owner: Type: feature | Status: new request | Milestone: Priority: normal | Version: 7.8.4 Component: Compiler | Operating System: Unknown/Multiple Keywords: | Type of failure: Other Architecture: | Blocked By: Unknown/Multiple | Related Tickets: Test Case: | Blocking: | Differential Revisions: | -------------------------------------+------------------------------------- i was building (in a sandbox) on a ramdisk that was accidentally mounted with the noexec flag. for example during the install of `vector`, you get an error like Loading package primitive-0.5.4.0 ... <command line>: can't load .so/.DLL for: somepath/.cabal-sandbox/lib/x86_64-linux- ghc-7.8.4/primitive-0.5.4.0/libHSprimitive-0.5.4.0-ghc7.8.4.so (somepath /.cabal-sandbox/lib/x86_64-linux- ghc-7.8.4/primitive-0.5.4.0/libHSprimitive-0.5.4.0-ghc7.8.4.so: failed to map segment from shared object) relevant output of `mount`: none on somepath type tmpfs (rw,nosuid,nodev,noexec,relatime,gid=103,user=lspitzner) this is by far no minimal test-case, but i hope my description of the problem is sufficient. if not, i can provide verbose output for my or other test-cases. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/10131 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#10131: improve error message for build on noexec-mounted device -------------------------------------+------------------------------------- Reporter: lspitzner | Owner: Type: feature request | Status: closed Priority: normal | Milestone: Component: Compiler | Version: 7.8.4 Resolution: invalid | Keywords: Operating System: Unknown/Multiple | Architecture: Type of failure: Other | Unknown/Multiple Blocked By: | Test Case: Related Tickets: | Blocking: | Differential Revisions: -------------------------------------+------------------------------------- Changes (by thomie): * status: new => closed * resolution: => invalid Comment: That message is coming from your OS (or maybe the linker, I'm not sure). Not from GHC. vector uses some fancy GHC optimization which requires loading a module using the GHCi machinery, which by default means loading its dependencies as shared libraries. And loading a shared library from a noexec mounted disk is not permitted. I made a pull request to let vector not use GHCi during compilation, which would have prevented your issue (at least `cabal install vector` on noexec mounted drive works now): https://github.com/haskell/vector/pull/83 -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/10131#comment:1 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#10131: improve error message for build on noexec-mounted device -------------------------------------+------------------------------------- Reporter: lspitzner | Owner: Type: feature request | Status: closed Priority: normal | Milestone: Component: Compiler | Version: 7.8.4 Resolution: invalid | Keywords: Operating System: Unknown/Multiple | Architecture: Type of failure: Other | Unknown/Multiple Blocked By: | Test Case: Related Tickets: | Blocking: | Differential Revisions: -------------------------------------+------------------------------------- Comment (by lspitzner): hmm ok; thanks! -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/10131#comment:2 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler
participants (1)
-
GHC