[haskell-platform] #77: OS X: ghc broken on Snow Leopard
haskell-platform
haskell-platform at projects.haskell.org
Fri Jul 24 14:48:24 EDT 2009
#77: OS X: ghc broken on Snow Leopard
-------------------------------+--------------------------------------------
Reporter: askadar at gmail.com | Owner: dons
Type: defect | Status: new
Priority: critical | Milestone:
Component: GHC | Keywords:
-------------------------------+--------------------------------------------
I downloaded "haskell-platform-2009.2.0.1-beta1-i386.dmg and installed it
on a OS X 10.6 Snow Leopard seed. gcc in Snow Leopard defaults to x86_64.
This breaks even trivial builds with GHC since it passes either no or
incompatible flags. GHC should either produce proper x86_64 assembly or
pass "-arch i386" to force a 32-bit build. I'm filing this against Haskell
Platform and not GHC proper since I hope that this is just a packaging
issue.
An example follows.
== Trivial source: ==
{{{
$ cat Foo.hs
main = do
putStrLn "Foo!"
}}}
== Direct build broken: ==
{{{
$ ghc --make Foo.hs -v3
Glasgow Haskell Compiler, Version 6.10.3, for Haskell 98, stage 2 booted
by GHC version 6.10.1
Using package config file:
/Library/Frameworks/GHC.framework/Versions/610/usr/lib/ghc-6.10.3/./package.conf
hiding package base-3.0.3.1 to avoid conflict with later version
base-4.1.0.0
hiding package network-2.2.1 to avoid conflict with later version
network-2.2.1.1
hiding package time-1.1.2.4 to avoid conflict with later version
time-1.1.3
wired-in package ghc-prim mapped to ghc-prim-0.1.0.0
wired-in package integer mapped to integer-0.1.0.1
wired-in package base mapped to base-4.1.0.0
wired-in package rts mapped to rts-1.0
wired-in package haskell98 mapped to haskell98-1.0.1.0
wired-in package syb mapped to syb-0.1.0.1
wired-in package template-haskell mapped to template-haskell-2.3.0.1
wired-in package dph-seq mapped to dph-seq-0.3
wired-in package dph-par mapped to dph-par-0.3
Hsc static flags: -static
*** Chasing dependencies:
Chasing modules from: *Foo.hs
Stable obj: []
Stable BCO: []
Ready for upsweep
[NONREC
ModSummary {
ms_hs_date = Fri Jul 24 11:35:52 PDT 2009
ms_mod = main:Main,
ms_imps = []
ms_srcimps = []
}]
compile: input file Foo.hs
Created temporary directory: /var/folders/p5/p5hZ-
IyTHEamZkUAcT8VfU+++TM/-Tmp-//ghc15594_0
*** Checking old interface for main:Main:
[1 of 1] Compiling Main ( Foo.hs, Foo.o )
*** Parser:
*** Renamer/typechecker:
*** Desugar:
Result size = 10
*** Simplify:
Result size = 8
*** Tidy Core:
Result size = 8
*** CorePrep:
Result size = 10
*** Stg2Stg:
*** CodeGen:
*** CodeOutput:
*** Assembler:
gcc -I. -c /var/folders/p5/p5hZ-
IyTHEamZkUAcT8VfU+++TM/-Tmp-//ghc15594_0/ghc15594_0.s -o Foo.o
/var/folders/p5/p5hZ-
IyTHEamZkUAcT8VfU+++TM/-Tmp-/ghc15594_0/ghc15594_0.s:36:0:
suffix or operands invalid for `push'
/var/folders/p5/p5hZ-
IyTHEamZkUAcT8VfU+++TM/-Tmp-/ghc15594_0/ghc15594_0.s:83:0:
suffix or operands invalid for `push'
/var/folders/p5/p5hZ-
IyTHEamZkUAcT8VfU+++TM/-Tmp-/ghc15594_0/ghc15594_0.s:130:0:
suffix or operands invalid for `push'
/var/folders/p5/p5hZ-
IyTHEamZkUAcT8VfU+++TM/-Tmp-/ghc15594_0/ghc15594_0.s:156:0:
32-bit absolute addressing is not supported for x86-64
/var/folders/p5/p5hZ-
IyTHEamZkUAcT8VfU+++TM/-Tmp-/ghc15594_0/ghc15594_0.s:156:0:
cannot do signed 4 byte relocation
/var/folders/p5/p5hZ-
IyTHEamZkUAcT8VfU+++TM/-Tmp-/ghc15594_0/ghc15594_0.s:159:0:
32-bit absolute addressing is not supported for x86-64
/var/folders/p5/p5hZ-
IyTHEamZkUAcT8VfU+++TM/-Tmp-/ghc15594_0/ghc15594_0.s:159:0:
cannot do signed 4 byte relocation
*** Deleting temp files:
Deleting: /var/folders/p5/p5hZ-
IyTHEamZkUAcT8VfU+++TM/-Tmp-//ghc15594_0/ghc15594_0.s
*** Deleting temp dirs:
Deleting: /var/folders/p5/p5hZ-IyTHEamZkUAcT8VfU+++TM/-Tmp-//ghc15594_0
}}}
== Via-C build broken: ==
{{{
$ ghc --make Foo.hs -v3 -fvia-c
Glasgow Haskell Compiler, Version 6.10.3, for Haskell 98, stage 2 booted
by GHC version 6.10.1
Using package config file:
/Library/Frameworks/GHC.framework/Versions/610/usr/lib/ghc-6.10.3/./package.conf
hiding package base-3.0.3.1 to avoid conflict with later version
base-4.1.0.0
hiding package network-2.2.1 to avoid conflict with later version
network-2.2.1.1
hiding package time-1.1.2.4 to avoid conflict with later version
time-1.1.3
wired-in package ghc-prim mapped to ghc-prim-0.1.0.0
wired-in package integer mapped to integer-0.1.0.1
wired-in package base mapped to base-4.1.0.0
wired-in package rts mapped to rts-1.0
wired-in package haskell98 mapped to haskell98-1.0.1.0
wired-in package syb mapped to syb-0.1.0.1
wired-in package template-haskell mapped to template-haskell-2.3.0.1
wired-in package dph-seq mapped to dph-seq-0.3
wired-in package dph-par mapped to dph-par-0.3
Hsc static flags: -static
*** Chasing dependencies:
Chasing modules from: *Foo.hs
Stable obj: []
Stable BCO: []
Ready for upsweep
[NONREC
ModSummary {
ms_hs_date = Fri Jul 24 11:35:52 PDT 2009
ms_mod = main:Main,
ms_imps = []
ms_srcimps = []
}]
compile: input file Foo.hs
Created temporary directory: /var/folders/p5/p5hZ-
IyTHEamZkUAcT8VfU+++TM/-Tmp-//ghc15601_0
*** Checking old interface for main:Main:
[1 of 1] Compiling Main ( Foo.hs, Foo.o )
*** Parser:
*** Renamer/typechecker:
*** Desugar:
Result size = 10
*** Simplify:
Result size = 8
*** Tidy Core:
Result size = 8
*** CorePrep:
Result size = 10
*** Stg2Stg:
*** CodeGen:
*** CodeOutput:
*** C Compiler:
gcc -x c /var/folders/p5/p5hZ-
IyTHEamZkUAcT8VfU+++TM/-Tmp-//ghc15601_0/ghc15601_0.hc -o /var/folders/p5
/p5hZ-IyTHEamZkUAcT8VfU+++TM/-Tmp-//ghc15601_0/ghc15601_0.raw_s
-DDONT_WANT_WIN32_DLL_SUPPORT -mdynamic-no-pic -march=i686 -fno-defer-pop
-fomit-frame-pointer -fno-builtin -DSTOLEN_X86_REGS=4 -fwrapv -mno-omit-
leaf-frame-pointer -fno-unit-at-a-time -ffloat-store -fno-strict-aliasing
-v -S -Wimplicit -O -D__GLASGOW_HASKELL__=610 -DTABLES_NEXT_TO_CODE -I .
-I
/Library/Frameworks/GHC.framework/Versions/610/usr/lib/ghc-6.10.3/base-4.1.0.0/include
-I
/Library/Frameworks/GHC.framework/Versions/610/usr/lib/ghc-6.10.3/include
-I PAPI_INCLUDE_DIR
Using built-in specs.
Target: i686-apple-darwin10
Configured with: /var/tmp/gcc/gcc-5646~6/src/configure --disable-checking
--enable-werror --prefix=/usr --mandir=/share/man --enable-
languages=c,objc,c++,obj-c++ --program-transform-
name=/^[cg][^.-]*$/s/$/-4.2/ --with-slibdir=/usr/lib --build=i686-apple-
darwin10 --with-gxx-include-dir=/include/c++/4.2.1 --program-prefix=i686
-apple-darwin10- --host=x86_64-apple-darwin10 --target=i686-apple-darwin10
Thread model: posix
gcc version 4.2.1 (Apple Inc. build 5646)
/usr/libexec/gcc/i686-apple-darwin10/4.2.1/cc1 -quiet -v -I . -I
/Library/Frameworks/GHC.framework/Versions/610/usr/lib/ghc-6.10.3/base-4.1.0.0/include
-I
/Library/Frameworks/GHC.framework/Versions/610/usr/lib/ghc-6.10.3/include
-I PAPI_INCLUDE_DIR -imultilib x86_64 -D__DYNAMIC__
-DDONT_WANT_WIN32_DLL_SUPPORT -DSTOLEN_X86_REGS=4
-D__GLASGOW_HASKELL__=610 -DTABLES_NEXT_TO_CODE /var/folders/p5/p5hZ-
IyTHEamZkUAcT8VfU+++TM/-Tmp-//ghc15601_0/ghc15601_0.hc -quiet -dumpbase
ghc15601_0.hc -mmacosx-version-min=10.6.0 -mdynamic-no-pic -march=i686
-mno-omit-leaf-frame-pointer -m64 -auxbase-strip /var/folders/p5/p5hZ-
IyTHEamZkUAcT8VfU+++TM/-Tmp-//ghc15601_0/ghc15601_0.raw_s -O -Wimplicit
-version -fno-defer-pop -fomit-frame-pointer -fno-builtin -fwrapv -fno-
unit-at-a-time -ffloat-store -fno-strict-aliasing -o /var/folders/p5/p5hZ-
IyTHEamZkUAcT8VfU+++TM/-Tmp-//ghc15601_0/ghc15601_0.raw_s
ignoring nonexistent directory "/usr/lib/gcc/i686-apple-
darwin10/4.2.1/../../../../i686-apple-darwin10/include"
ignoring nonexistent directory "PAPI_INCLUDE_DIR"
#include "..." search starts here:
#include <...> search starts here:
.
/Library/Frameworks/GHC.framework/Versions/610/usr/lib/ghc-6.10.3/base-4.1.0.0/include
/Library/Frameworks/GHC.framework/Versions/610/usr/lib/ghc-6.10.3/include
/usr/local/include
/usr/lib/gcc/i686-apple-darwin10/4.2.1/include
/usr/include
/System/Library/Frameworks (framework directory)
/Library/Frameworks (framework directory)
End of search list.
/var/folders/p5/p5hZ-
IyTHEamZkUAcT8VfU+++TM/-Tmp-/ghc15601_0/ghc15601_0.hc:1:0:
error: CPU you selected does not support x86-64 instruction set
GNU C version 4.2.1 (Apple Inc. build 5646) (i686-apple-darwin10)
compiled by GNU C version 4.2.1 (Apple Inc. build 5646).
GGC heuristics: --param ggc-min-expand=150 --param ggc-min-heapsize=131072
*** Deleting temp files:
Deleting: /var/folders/p5/p5hZ-
IyTHEamZkUAcT8VfU+++TM/-Tmp-//ghc15601_0/ghc15601_0.raw_s /var/folders/p5
/p5hZ-IyTHEamZkUAcT8VfU+++TM/-Tmp-//ghc15601_0/ghc15601_0.hc
Warning: deleting non-existent /var/folders/p5/p5hZ-
IyTHEamZkUAcT8VfU+++TM/-Tmp-//ghc15601_0/ghc15601_0.raw_s
*** Deleting temp dirs:
Deleting: /var/folders/p5/p5hZ-IyTHEamZkUAcT8VfU+++TM/-Tmp-//ghc15601_0
}}}
--
Ticket URL: <http://trac.haskell.org/haskell-platform/ticket/77>
haskell-platform <http://trac.haskell.org/haskell-platform>
The Haskell Platform: a comprehensive and robust collection of Haskell libraries
More information about the Haskell-platform
mailing list