Opened 3 years ago

Closed 3 years ago

Last modified 3 years ago

#8615 closed bug (fixed)

All packages built with GHC / clang are failing

Reported by: sylvestre Owned by:
Priority: normal Milestone:
Component: Compiler Version: 7.6.3
Keywords: Cc:
Operating System: Unknown/Multiple Architecture: Unknown/Multiple
Type of failure: None/Unknown Test Case:
Blocked By: Blocking:
Related Tickets: Differential Rev(s):
Wiki Page:


I am trying to rebuild the Debian archive using clang instead of gcc. The biggest source of errors (622 over 2188 [1]) is related to GHC.

Clang does not implement the "-u" option [2]. This is causing most (all?) of the "GHC based" packages to fail to build.


/usr/lib/ghc/libHSrts.a(RtsStartup.o): In function `hs_exit_':
(.text+0x49): undefined reference to `base_GHCziTopHandler_flushStdHandles_closure'

Of course, if you think it is not GHC's fault at all or there is no workaround, don't hesitate to close this bug.

For example:

[1] [2]

Change History (5)

comment:1 Changed 3 years ago by carter

Resolution: fixed
Status: newclosed

GHC 7.6 wont build with clang, unless you backport a few patches from the ghc head.

ghc 7.7 / HEAD / soon 7.8 should build with clang HEAD (also the bug fix branch of clang 3.3 works too).

so while this concern is valid, the fixes are in the more current work on GHC. So i'm going to close it as "fixed" :)

comment:2 Changed 3 years ago by sylvestre

OK. Thanks :) Any chance you have the list of patches to backport to 7.6 ?

comment:3 Changed 3 years ago by carter

Darin Morrison has some in progress branches on this, though I think he'd LOVE some help finishing the work.

look at the 7.6.3 mavericks and the 7.6.3 mavericks + clang branches

comment:4 Changed 3 years ago by carter

@sylvestre, I think Darin's a bit burnt out on it, but if you want to carry the torch to the finish line so that 7.6 + clang / mavericks play nice, that'd be neat

NB:it may be a bit of work.

Last edited 3 years ago by carter (previous) (diff)

comment:5 Changed 3 years ago by sylvestre

The option has been implemented in LLVM and will be part of Clang 3.5: I think this bug can be closed

Note: See TracTickets for help on using tickets.