[GHC] #14483: getExecutablePath from System.Environment in base should follow symlinks properly.

GHC ghc-devs at haskell.org
Sat Nov 18 06:48:09 UTC 2017


#14483: getExecutablePath from System.Environment in base should follow symlinks
properly.
-------------------------------------+-------------------------------------
        Reporter:  angerman          |                Owner:  (none)
            Type:  bug               |               Status:  new
        Priority:  normal            |            Milestone:  8.6.1
       Component:  Compiler          |              Version:  8.3
      Resolution:                    |             Keywords:
Operating System:  Unknown/Multiple  |         Architecture:
                                     |  Unknown/Multiple
 Type of failure:  None/Unknown      |            Test Case:
      Blocked By:                    |             Blocking:
 Related Tickets:                    |  Differential Rev(s):
       Wiki Page:                    |
-------------------------------------+-------------------------------------

Comment (by angerman):

 Just to elaborate what is to be done here:

 1. Look at `getBaseDir :: IO (Maybe String)` in
 `compiler/main/SysTools.hs`, and
   integrate the symbolic link resolution logic from there in
   `getExecutablePath` in the `System.Environment` Module from the `base`
 package.

 2. If the `MIN_VERSION_base(...)` is high enough, use `getExecutablePath`
 also on Windows
    in `compiler/main/SysTools.hs`, `utils/ghc-pkg/Main.hs` and
 `utils/hsc2hs/Main.hs`.

 It looks like this should be rather easy, but requires someone with some
 windows exposure.

 Testcases in the testsuite for `getExecutablePath` would be a great bonus!

-- 
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/14483#comment:1>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler


More information about the ghc-tickets mailing list