The workaround that worked for me (also ghc 6.4, also OSX 10.4.2) was
to do:
sudo gcc_select 3.3
to revert to the Panther gcc.
To undo this later, do sudo gcc_select 4.0
tom
On 12 Sep 2005, at 13:02, Guillaume wrote:
Le 10 sept. 2005 à 16:08, Zooko a écrit :
> /usr/bin/ld: Undefined symbols:
> ___DISCARD__
> collect2: ld returned 1 exit status
> make: *** [stringify] Error 1
This is a ghc bug. Where did you get yours?
I just managed to compile a ghc 6.4 without this error. The problem
is that ghc uses this fake function in one of its Haskell to
assembly stages as a separator between assembly blocks to prevent
gcc from merging them together; then it suppresses the calls to
clean the code. But gcc 4.0 (the one delivered for Tiger) adds
references that ghc forgets to clean. Thus you end up with a code
not using the function, but still depending on its presence.
What I did was compiling my ghc with an empty __DISCARD__ function
in libHSrts (just 'echo "void __DISCARD__() {}" > ghc/rts/
discard.c ; make; sudo make install' in the ghc root directory); my
darcs finished compiling half an hour ago, and 'make check' gave no
error (apart from an failure on pull just because the test script
expects a "permission denied" and gets a "Permission denied" instead).
What is curious is that your darcs' configure didn't complain on a
non-working ghc. Could it be that the "Hello world" test in
configure doesn't trigger the same ghc stages as in the real
compile stage?
(I just realized I had sent this mail to [EMAIL PROTECTED] yesterday,
which isn't as well broadcast as darcs-devel)
--
Guillaume
_______________________________________________
darcs-devel mailing list
[email protected]
http://www.abridgegame.org/cgi-bin/mailman/listinfo/darcs-devel
_______________________________________________
darcs-devel mailing list
[email protected]
http://www.abridgegame.org/cgi-bin/mailman/listinfo/darcs-devel