build failure from ghc cvs

Jeremy Shaw jeremy.shaw at lindows.com
Sun Feb 1 21:33:40 EST 2004


Hello, 

I tried build GHC from 2/1/2004 cvs and it failed with the following error message:

main/SysTools.lhs:739:
    Ambiguous occurrence `rawSystem'
    It could refer to either `System.Cmd.rawSystem', imported from System.Cmd at main/SysTools.lhs:112
		          or `SysTools.rawSystem', defined at main/SysTools.lhs:785

main/SysTools.lhs:786: Variable not in scope: `withCString'

main/SysTools.lhs:787: Variable not in scope: `withMany'

main/SysTools.lhs:787: Variable not in scope: `withCString'

main/SysTools.lhs:788: Variable not in scope: `withArray0'

main/SysTools.lhs:788: Variable not in scope: `nullPtr'

main/SysTools.lhs:789: Variable not in scope: `throwErrnoIfMinus1'

main/SysTools.lhs:794:
    Type constructor or class not in scope: `CString'

main/SysTools.lhs:794:
    Type constructor or class not in scope: `Ptr'

main/SysTools.lhs:794:
    Type constructor or class not in scope: `CString'
<<ghc: 32696704 bytes, 9 GCs, 986470/1917080 avg/max bytes residency (2 samples), 17M in use, 0.00 INIT (0.00 elapsed), 0.27 MUT (0.40 elapsed), 0.10 GC (0.11 elapsed) :ghc>>
make[3]: *** [stage1/main/SysTools.o] Error 1
make[2]: *** [all] Error 1
make[2]: Leaving directory `/home/toadx/src/fptools/ghc'
make[1]: *** [build] Error 1
make[1]: Leaving directory `/home/toadx/src/fptools'
make: *** [build-stamp] Error 2




I tried building with 5.04 and 6.2. (but not 6.2.1 or higher).

I reverted SysTools.lhs to version 1.112 and the problem went
away. Here are the relevant cvs log entries and diffs.


----------------------------
revision 1.113
date: 2004/01/28 10:04:25;  author: simonpj;  state: Exp;  lines: +11 -3
	  ---------------------------------------
  	 Fix the WinME/98/95 double-backslash bug
	  ---------------------------------------

		Merge to stable branch, at least
		once we are sure it's right

Backslashes should not be escaped in command-line arguments for rawSystem,
on Win32.  This only actually causes failures on WinME/98/95, and we can'te
test that since we don't have it.  But this fix seems right regardless.

There are extensive new comments in libraries/base/System/Cmd.hs which
describe the issues.


Index: SysTools.lhs
===================================================================
RCS file: /cvs/fptools/ghc/compiler/main/SysTools.lhs,v
retrieving revision 1.112
retrieving revision 1.113
diff -r1.112 -r1.113
766a767,776
> --
> -- In GHC 6.2.1 there's a correct implementation of rawSystem in the
> -- library System.Cmd.  If we are compiling with an earlier version of
> -- GHC than this, we'd better have a copy of the correct implementation
> -- right here.
> 
> -- If you ever alter this code, you must alter 
> --	libraries/base/System/Cmd.hs
> -- at the same time!  There are also exensive comments in System.Cmd
> -- thare are not repeated here -- go look!
768d777
< #if __GLASGOW_HASKELL__ < 601
770c779
< -- This code is copied from System.Cmd on GHC 6.1.
---
> #if __GLASGOW_HASKELL__ < 621
813d821
< 	escape '\\' str = '\\' : '\\' : str


More information about the Glasgow-haskell-bugs mailing list