[GHC] #15257: Broken symlinks in lndir build tree

GHC ghc-devs at haskell.org
Mon Jun 11 08:30:44 UTC 2018


#15257: Broken symlinks in lndir build tree
-------------------------------------+-------------------------------------
           Reporter:  adamgundry     |             Owner:  (none)
               Type:  bug            |            Status:  new
           Priority:  normal         |         Milestone:  8.6.1
          Component:  Build System   |           Version:  8.5
           Keywords:                 |  Operating System:  Unknown/Multiple
       Architecture:                 |   Type of failure:  Building GHC
  Unknown/Multiple                   |  failed
          Test Case:                 |        Blocked By:
           Blocking:                 |   Related Tickets:
Differential Rev(s):                 |         Wiki Page:
-------------------------------------+-------------------------------------
 I routinely create separate build trees using lndir (per
 wiki:WorkingConventions/Git#Creatingabuildtreewithlndir). However it seems
 this is currently broken by the code to copy `fs.{c,h}` to various places
 in `./configure` (see Phab:D4416):

 {{{
 $ mkdir ghc-validate
 $ cd ghc-validate
 $ lndir ../ghc
 $ ln -s ../ghc/.git
 $ ./boot
 [...]
 $ ./configure
 [...]
 $ find . -name "fs.*" | xargs file
 ./rts/fs.c:                    broken symbolic link to
 ../../../ghc/utils/fs/fs.c
 ./rts/fs.h:                    broken symbolic link to
 ../../../ghc/utils/fs/fs.h
 ./utils/fs/fs.c:               symbolic link to ../../../ghc/utils/fs/fs.c
 ./utils/fs/fs.h:               symbolic link to ../../../ghc/utils/fs/fs.h
 ./utils/unlit/fs.c:            symbolic link to ../../../ghc/utils/fs/fs.c
 ./utils/unlit/fs.h:            symbolic link to ../../../ghc/utils/fs/fs.h
 ./utils/lndir/fs.c:            symbolic link to ../../../ghc/utils/fs/fs.c
 ./utils/lndir/fs.h:            symbolic link to ../../../ghc/utils/fs/fs.h
 ./libraries/base/include/fs.h: broken symbolic link to
 ../../../ghc/utils/fs/fs.h
 ./libraries/base/cbits/fs.c:   broken symbolic link to
 ../../../ghc/utils/fs/fs.c
 }}}
 This can be fixed by manually correcting the symlinks, but it is a bit of
 pain, especially for `./validate`.
 {{{
 ln -fs ../../ghc/utils/fs/fs.c rts/fs.c
 ln -fs ../../ghc/utils/fs/fs.h rts/fs.h
 ln -fs ../../../../ghc/utils/fs/fs.c libraries/base/include/fs.c
 ln -fs ../../../../ghc/utils/fs/fs.h libraries/base/include/fs.h
 ln -fs ../../../../ghc/utils/fs/fs.c libraries/base/cbits/fs.c
 }}}

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


More information about the ghc-tickets mailing list