
#7879: validate in build tree fails due to problem copying haddock resources to inplace -----------------------------+---------------------------------------------- Reporter: AndreasVoellmy | Owner: Type: bug | Status: new Priority: normal | Component: Build System Version: | Keywords: Os: Unknown/Multiple | Architecture: Unknown/Multiple Failure: Other | Blockedby: Blocking: | Related: -----------------------------+---------------------------------------------- Comment(by AndreasVoellmy): I think the problem is that the utils/haddock/resources/html directory is copied over to inplace using "cp -R". I verified that using cp -R plays badly with relative links: First make a couple directories and a file: $ mkdir src; cd src; mkdir dir1; cd dir1; mkdir dir2; cd dir2; echo hello
foo.txt; cd ../../.. $ ls src
Now make a target directory whose contents created using lndir with relative path; make sure everything is OK: $ mkdir tgt; cd tgt; lndir ../src; cd .. ../src/dir1: ../../src/dir1/dir2: $ ls src tgt $ ls -l tgt/dir1/dir2 total 8 lrwxr-xr-x 1 andreas staff 30 May 2 09:15 foo.txt -> ../../../src/dir1/dir2/foo.txt $ cat tgt/dir1/dir2/foo.txt hello Now cp -R dir2 up a level in the target; now the file is broken: $ cd tgt $ cp -R dir1/dir2 . $ ls dir1 dir2 $ ls -l dir2 total 8 lrwxr-xr-x 1 andreas staff 30 May 2 09:16 foo.txt -> ../../../src/dir1/dir2/foo.txt $ cat dir2/foo.txt cat: dir2/foo.txt: No such file or directory If we use cp -RL things are OK: $ rm -rf dir2 $ cp -RL dir1/dir2 . $ ls -l dir2 total 8 -rw-r--r-- 1 andreas staff 6 May 2 09:22 foo.txt $ cat dir2/foo.txt hello cp -R is indeed being used on lines 23 and 27 of utils/haddock/ghc.mk. Changing to cp -RL fixes the problem. -- Ticket URL: http://hackage.haskell.org/trac/ghc/ticket/7879#comment:1 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler