More windows woe

Edward Z. Yang ezyang at MIT.EDU
Wed Sep 4 11:56:38 CEST 2013


My latest error:

librarieshaskelineSystemConsoleHaskelineBackendWin32.hsc:432:47:
    Ambiguous occurrence `Handler'
    It could refer to either `System.Console.Haskeline.Backend.Win32.Handler',
                             defined at librarieshaskelineSystemConsoleHaskelineBackendWin32.hs
c:430:6   
                          or `System.Console.Haskeline.Monads.Handler',
                             imported from `System.Console.Haskeline.Monads' at librarieshaskel
ineSystemConsoleHaskelineBackendWin32.hsc:20:1-38
                             (and originally defined in `System.Console.Haskeline.MonadExceptio
n')       
          
librarieshaskelineSystemConsoleHaskelineBackendWin32.hsc:432:69:
    Ambiguous occurrence `Handler'
    It could refer to either `System.Console.Haskeline.Backend.Win32.Handler',
                             defined at librarieshaskelineSystemConsoleHaskelineBackendWin32.hs
c:430:6   
                          or `System.Console.Haskeline.Monads.Handler',
                             imported from `System.Console.Haskeline.Monads' at librarieshaskel
ineSystemConsoleHaskelineBackendWin32.hsc:20:1-38                                                                                                                                              
                             (and originally defined in `System.Console.Haskeline.MonadExceptio                                                                                                
n')                                                                                                                                                                                            
                                                                                                                                                                                               
librarieshaskelineSystemConsoleHaskelineBackendWin32.hsc:435:15:                                                                                                                               
    Ambiguous occurrence `Handler'                                                                                                                                                             
    It could refer to either `System.Console.Haskeline.Backend.Win32.Handler',                                                                                                                 
                             defined at librarieshaskelineSystemConsoleHaskelineBackendWin32.hs                                                                                                
c:430:6                                                                                                                                                                                        
                          or `System.Console.Haskeline.Monads.Handler',                                                                                                                        
                             imported from `System.Console.Haskeline.Monads' at librarieshaskel                                                                                                
ineSystemConsoleHaskelineBackendWin32.hsc:20:1-38                                                                                                                                              
                             (and originally defined in `System.Console.Haskeline.MonadExceptio                                                                                                
n')                                                                                                                                                                                            
make[1]: *** [libraries/haskeline/dist-install/build/System/Console/Haskeline/Backend/Win32.o]                                                                                                 
Error 1                                                                                                                                                                                        
make: *** [all] Error 2

Excerpts from Simon Marlow's message of Wed Sep 04 02:44:18 -0700 2013:
> Sorry about that; I'm on it, fix coming soon.
> 
> Cheers,
> Simon
> 
> On 03/09/13 15:33, Simon Peyton-Jones wrote:
> > Simon Marlow: please help!
> > At the moment windows builds are hosed, which is a Bad Situation.
> >
> > Actually it turns out that what want is
> >
> >    debugBelch("Checking whether to unload %S\n", oc->fileName));
> >
> > That is, use "%S" rather than "%s" as format specifier for wide chars.
> >
> > Sadly, this works on Windows, but not on Linux:
> > rts/CheckUnload.c:260:13:
> >       error: format ‘%S’ expects argument of type ‘wchar_t *’, but argument 2 has type ‘pathchar *’ [-Werror=format]
> >
> >
> > So what I need guidance on, please!, is what the approved way to deal with this is.  I suppose that I could identify each use of %s on a filepath and say
> >
> > #ifdef mingw32_HOST_OS
> >    debugBelch("Checking whether to unload %S\n", oc->fileName));
> > #else
> >    debugBelch("Checking whether to unload %s\n", oc->fileName));
> > #endif
> >
> > But that seems deeply unsatisfactory doesn't it?
> >
> > If not that, then what?
> >
> >
> > Simon
> >
> >
> >
> > | -----Original Message-----
> > | From: Edward Z. Yang [mailto:ezyang at MIT.EDU]
> > | Sent: 28 August 2013 20:59
> > | To: Simon Peyton-Jones
> > | Cc: ghc-devs at haskell.org
> > | Subject: Re: More windows woe
> > |
> > | My guess is the printf's need to be replaced with swprintf's.
> > |
> > | Edward
> > |
> > | Excerpts from Simon Peyton-Jones's message of Wed Aug 28 01:25:26 -0700
> > | 2013:
> > | > OK, so now my windows build is getting further, but it now falls over
> > | here.  This one looks more straightforward!  Can anyone help?
> > | >
> > | > Simon
> > | >
> > | > "inplace/bin/ghc-stage1.exe" -optc-Werror -optc-Wall -optc-Wall -optc-
> > | Wextra -optc-Wstrict-prototypes -optc-Wmissing-prototypes -optc-
> > | Wmissing-declarations -optc-Winline -optc-Waggregate-return -optc-
> > | Wpointer-arith -optc-Wmissing-noreturn -optc-Wnested-externs -optc-
> > | Wredundant-decls -optc-Iincludes -optc-Iincludes/dist -optc-
> > | Iincludes/dist-derivedconstants/header -optc-Iincludes/dist-
> > | ghcconstants/header -optc-Irts -optc-Irts/dist/build -optc-
> > | DCOMPILING_RTS -optc-fno-strict-aliasing -optc-fno-common -optc-O2 -
> > | optc-fomit-frame-pointer -optc-fno-omit-frame-pointer -optc-g -optc-O0 -
> > | optc-DRtsWay=\"rts_debug\" -static -optc-DDEBUG -ticky -DTICKY_TICKY  -
> > | H32m -O -Werror -Wall -H64m -O0 -Iincludes -Iincludes/dist -
> > | Iincludes/dist-derivedconstants/header -Iincludes/dist-
> > | ghcconstants/header -Irts -Irts/dist/build -DCOMPILING_RTS -package-name
> > | rts -dcmm-lint      -i -irts -irts/dist/build -irts/dist/build/autogen -
> > | Irts/dist/build -Irts/dist/build/autogen           -O2 -O0    -c
> > | rts/CheckUnload.c -o rts/dist/build/CheckUnload.debug_o
> > | > cc1.exe: warnings being treated as errors
> > | > rts\CheckUnload.c: In function 'checkUnload':
> > | >
> > | > rts\CheckUnload.c:257:7:
> > | >      error: format '%s' expects type 'char *', but argument 2 has type
> > | 'pathchar *'
> > | >
> > | > rts\CheckUnload.c:293:11:
> > | >      error: format '%s' expects type 'char *', but argument 2 has type
> > | 'pathchar *'
> > | >
> > | > rts\CheckUnload.c:297:11:
> > | >      error: format '%s' expects type 'char *', but argument 2 has type
> > | 'pathchar *'
> > | > bash-3.1$
> >




More information about the ghc-devs mailing list