#5357: ghc-7.2.1-rc1 broke unregisterised build
----------------------------------+-----------------------------------------
  Reporter:  slyfox               |          Owner:       
      Type:  bug                  |         Status:  new  
  Priority:  highest              |      Milestone:  7.2.1
 Component:  Compiler             |        Version:       
Resolution:                       |       Keywords:       
  Testcase:                       |      Blockedby:       
Difficulty:                       |             Os:  Linux
  Blocking:                       |   Architecture:  alpha
   Failure:  Building GHC failed  |  
----------------------------------+-----------------------------------------
Changes (by dterei):

  * status:  closed => new
  * resolution:  fixed =>


Comment:

 Reopening as the unregisterised build is pretty broken in HEAD.

 First error I get is:
 {{{
 /tmp/ghc30253_0/ghc30253_0.hc:1004:2:
      error: ‘free’ redeclared as different kind of symbol

 /tmp/ghc30253_0/ghc30253_0.hc:473:1:
      note: previous declaration of ‘free’ was here
 }}}

 C code in question is:
 {{{
 EI_(free);
 StgWord base_ForeignziMarshalziAlloc_finalizzerFree_closure[] = {
 (W_)&base_GHCziPtr_FunPtr_static_info,
 (W_)&free
 };

 // [ ... snip ...]

 FN_(base_ForeignziMarshalziAlloc_zdwccall_entry) {
 W_ _c1O6;
 FB_
 _c1O6 = *Sp;
 Sp=Sp+1;
 ;EF_(free);
 {void (*ghcFunPtr)(void *);
 ghcFunPtr = ((void (*)(void *))(W_)&free);
 ghcFunPtr((void *)_c1O6);;}
 JMP_(*((P_)(*Sp)));
 FE_
 }
 }}}
 This error seems to be caused by the fact that free is imported twice in
 Foreign/Marshall/Alloc
 {{{
 foreign import ccall unsafe "stdlib.h free"    _free    :: Ptr a -> IO ()

 -- | A pointer to a foreign function equivalent to 'free', which may be
 -- used as a finalizer (cf 'Foreign.ForeignPtr.ForeignPtr') for storage
 -- allocated with 'malloc', 'mallocBytes', 'realloc' or 'reallocBytes'.
 foreign import ccall unsafe "stdlib.h &free" finalizerFree :: FinalizerPtr
 a
 }}}

 After coming up with a hacky way to fix that error I get this second
 error:
 {{{
 /tmp/ghc9007_0/ghc9007_0.hc:16360:1:
      error: static declaration of
 ‘bytestringzm0zi9zi2zi0_DataziByteStringziChar8_zdwlines_entry’ follows
 non-static declaration

 /tmp/ghc9007_0/ghc9007_0.hc:16314:1:
      note: previous declaration of
 ‘bytestringzm0zi9zi2zi0_DataziByteStringziChar8_zdwlines_entry’ was here
 }}}

 C code in question for that error is:
 {{{
 IF_(bytestringzm0zi9zi2zi0_DataziByteStringziChar8_zdwlines_entry);
 FN_(bytestringzm0zi9zi2zi0_DataziByteStringziChar8_zdwlines_slow) {
 FB_Sp=Sp+0;
 JMP_((W_)&bytestringzm0zi9zi2zi0_DataziByteStringziChar8_zdwlines_entry);
 FE_
 }

 // [... snip ...]

 FN_(bytestringzm0zi9zi2zi0_DataziByteStringziChar8_zdwlines_entry) {W_
 _c6uU;W_ _c6uV;
 W_ _s4XO;
 }}}

 As well as getting this bug fixed is it possible Ian to get an
 unregisterized build bot running? Every time I try using the
 unregisterized build it seems to have bitrotted since no one really
 monitors it.

-- 
Ticket URL: <http://hackage.haskell.org/trac/ghc/ticket/5357#comment:6>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler

_______________________________________________
Glasgow-haskell-bugs mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs

Reply via email to