GHC base directory assumptions
GHC and ghc-pkg make some pretty hard assumptions about where they're running on Windows. They assume that they are always running from foo/bin/ghc.exe and that to find the lib folder they can drop bin/ghc.exe from the base path and append lib.
This is already false for the testsuite, which when testing the bindist has one test which puts the binaries in inplace/test spaces.
For some reason before this was either being skipped or mysteriously passing. But as of 2017.02.11 our luck ran out.
the testsuite triggers a failure such as:
[04:16:21][Step 3/6] ghc-pkg.exe: Can't find package database in C:/TeamCity/buildAgent/work/28754042a1be6052/inplace/test sp\lib
[04:16:22][Step 3/6] ghc-pkg.exe: Can't find package database in C:/TeamCity/buildAgent/work/28754042a1be6052/inplace/test sp\lib
[04:16:23][Step 3/6] Traceback (most recent call last):
[04:16:23][Step 3/6] File "../../driver/runtests.py", line 215, in <module>
[04:16:23][Step 3/6] pkginfo = str(getStdout([config.ghc_pkg, 'dump']))
[04:16:23][Step 3/6] File "/c/TeamCity/buildAgent/work/28754042a1be6052/testsuite/driver/testutil.py", line 23, in getStdout
[04:16:23][Step 3/6] raise Exception("Command failed: " + str(cmd_and_args))
[04:16:23][Step 3/6] Exception: Command failed: ['"/c/TeamCity/buildAgent/work/28754042a1be6052/inplace/test spaces/ghc-pkg.exe"', 'dump']
[04:16:23][Step 3/6] make: *** [../../mk/test.mk:299: test] Error 1
[04:16:23][Step 3/6]
[04:16:23][Step 3/6] ==== STAGE 1 TESTS ====
[04:16:23][Step 3/6] cat: testsuite_summary_stage1.txt: No such file or directory
[04:16:23][Step 3/6] Process exited with code 1
Let's soften the assumption and just check that ../lib exists instead.
Trac metadata
| Trac field | Value |
|---|---|
| Version | 8.0.2 |
| Type | Bug |
| TypeOfFailure | OtherFailure |
| Priority | normal |
| Resolution | Unresolved |
| Component | Compiler |
| Test case | |
| Differential revisions | |
| BlockedBy | |
| Related | |
| Blocking | |
| CC | |
| Operating system | |
| Architecture |