[GHC] #10473: Haskell Platform generic linux installer creates incorrect symlinks for /usr/local/man/man1 (and probably /usr/local/share/doc) when directory does not already exist

GHC ghc-devs at haskell.org
Mon Jun 1 23:19:43 UTC 2015


#10473: Haskell Platform generic linux installer creates incorrect symlinks for
/usr/local/man/man1 (and probably /usr/local/share/doc) when directory does
not already exist
-------------------------------------+-------------------------------------
              Reporter:  brson       |             Owner:
                  Type:  bug         |            Status:  new
              Priority:  normal      |         Milestone:
             Component:  Compiler    |           Version:  7.10.1
              Keywords:              |  Operating System:  Linux
          Architecture:              |   Type of failure:  None/Unknown
  Unknown/Multiple                   |        Blocked By:
             Test Case:              |   Related Tickets:
              Blocking:              |
Differential Revisions:              |
-------------------------------------+-------------------------------------
 Following instructions here https://www.haskell.org/platform/linux.html
 for 'generic linux binaries'. After running activate-hs my
 /usr/local/man/man1 was a symlink to ghc.1 when it should be a directory
 *containing* ghc.1. This happens when the directory /usr/local/man/man1
 does not already exist.

 Running activate-hs with --verbose --dryrun shows why:

     ln -sf usr/local/haskell/ghc-7.8.3-x86_64/bin/HsColour
 usr/local/haskell/ghc-7.8.3-x86_64/bin/activate-hs
 usr/local/haskell/ghc-7.8.3-x86_64/bin/alex
 usr/local/haskell/ghc-7.8.3-x86_64/bin/cabal usr/local/hask
 ell/ghc-7.8.3-x86_64/bin/ghc
 usr/local/haskell/ghc-7.8.3-x86_64/bin/ghc-7.8.3
 usr/local/haskell/ghc-7.8.3-x86_64/bin/ghc-pkg
 usr/local/haskell/ghc-7.8.3-x86_64/bin/ghc-pkg-7.8.3
 usr/local/haskell/ghc-7.8.3-x86_64/
 bin/ghci usr/local/haskell/ghc-7.8.3-x86_64/bin/ghci-7.8.3
 usr/local/haskell/ghc-7.8.3-x86_64/bin/haddock
 usr/local/haskell/ghc-7.8.3-x86_64/bin/haddock-ghc-7.8.3
 usr/local/haskell/ghc-7.8.3-x86_64/bin/happy usr/l
 ocal/haskell/ghc-7.8.3-x86_64/bin/hp2ps
 usr/local/haskell/ghc-7.8.3-x86_64/bin/hpc
 usr/local/haskell/ghc-7.8.3-x86_64/bin/hsc2hs
 usr/local/haskell/ghc-7.8.3-x86_64/bin/runghc
 usr/local/haskell/ghc-7.8.3-x86_64/bin
 /runghc-7.8.3 usr/local/haskell/ghc-7.8.3-x86_64/bin/runhaskell
 /usr/local/bin
     ln -sf usr/local/haskell/ghc-7.8.3-x86_64/share/man/man1/ghc.1
 /usr/local/share/man/man1
     ln -sf usr/local/haskell/ghc-7.8.3-x86_64/share/doc/ghc
 /usr/local/share/doc
     usr/local/haskell/ghc-7.8.3-x86_64/bin/ghc-pkg register --verbose=0
 --force
 usr/local/haskell/ghc-7.8.3-x86_64/etc/registrations/GLURaw-1.4.0.1
     usr/local/haskell/ghc-7.8.3-x86_64/bin/ghc-pkg register --verbose=0
 --force usr/local/haskell/ghc-7.8.3-x86_64/etc/registrations/GLUT-2.5.1.1

 The second and third ln commands are incorrect. When there are multiple
 sources it treats the dest as a directory, but in these two instances
 there are only a single source so ln just creates man1 as a symlink.

 FWIW when this happens a subsequent install of Rust fails:
 https://github.com/rust-lang/rust-installer/issues/36. Rust v. Haskell:
 fight!

 ```

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


More information about the ghc-tickets mailing list