[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