[Haskell-iPhone] Can anyone help me test GHC-iOS compiler?

Luke Iannini lukexipd at gmail.com
Sun Aug 11 23:45:11 CEST 2013


Thanks! That’s all identical to my procedure except that I’m using 10.9
DP5/Xcode 5 DP5, so I guess that must play some role, though I’m not sure
what.

Re: iPod Touch authorization, if you haven’t tried in a few days or so,
Apple’s now claiming everything’s back online finally
https://developer.apple.com/support/system-status/

Cheers
Luke


On Sun, Aug 11, 2013 at 5:37 PM, Stephen Blackheath [to GHC-iPhone] <
likeliest.complexions.stephen at blacksapphire.com> wrote:

> Luke,
>
> I didn't experience anything like you described. Here's as much detail as
> I can think of about what I did:
>
>  * Mac OS/X 10.8.4
>
>  * Xcode 4.6
>
>  * ghc-7.6.3 downloaded from http://haskell.org/ghc as the bootstrap
> compiler
>
>  * llvm - 3.0 built from source downloaded off the llvm site:
>
> Low Level Virtual Machine (http://llvm.org/):
>   llvm version 3.0
>   Optimized build.
>   Built Jan 31 2012 (09:33:35).
>   Host: x86_64-apple-darwin12.4.0
>   Host CPU: penryn
>
>   Registered Targets:
>     alpha    - Alpha [experimental]
>     arm      - ARM
>     ... and others ...
>
> Before I had a problem with not enough memory but I bought some more. So I
> got a cross compiler built, but wasn't able to test it, because I can't
> authorize my iPod Touch for development at the moment (Apple systems are
> down). So I can't verify that it produces iOS executables that work.
>
> The latest commit in the git log for GHC HEAD was this:
>
> commit e8aa8ccba0c40884765281b21ff8f4**411802dd41
> Author: Richard Eisenberg <eir at cis.upenn.edu>
> Date:   Fri Aug 2 15:47:03 2013 +0100
>
>     Implement "roles" into GHC.
>     ...
>
> I patched it as attached here (same patch as in my last email).
>
> The procedure I used was exactly the one described at
> http://ghc.haskell.org/trac/**ghc/wiki/Building/**CrossCompiling/iOS<http://ghc.haskell.org/trac/ghc/wiki/Building/CrossCompiling/iOS>
>
> Thanks for your work on this! That problem you're having is pretty weird!
>
>
> Steve
>
>
> On 11/08/13 20:14, Luke Iannini wrote:
>
>> And the truly final word for the moment : ) —
>> I built a tool to partially automate the indentation workaround for LLVM
>> 3.0 and it yields the same "co-processor offset out of
>> range"/"unsupported relocation on symbol LCPI65_0" errors LLVM 3.3/3.4
>> did when it finally gets to integer-simple/GHC/Integer/**Type.hs.
>>
>>
>> On Sun, Aug 11, 2013 at 3:06 AM, Luke Iannini <lukexipd at gmail.com
>> <mailto:lukexipd at gmail.com>> wrote:
>>
>>     OK! So just to summarize:
>>     Building GHC HEAD with LLVM 3.0 or 3.2 (using GHC 7.6.3 as the
>>     bootstrap) on OS X 10.9 DP5/Xcode 5 DP5 exhibits very strange
>>     behavior wherein layout-based code along with mixed-tabs-and-spaces
>>     code fails to parse correctly, with issues in hundreds of files in
>>     the GHC HEAD tree.
>>     I don't have a 10.8 machine to check if this is a 10.9 exclusive
>>     issue, so I'd love if someone can try using these binaries to build
>>     GHC HEAD:
>>     http://llvm.org/releases/3.0/**clang+llvm-3.0-x86_64-apple-**
>> darwin11.tar.gz<http://llvm.org/releases/3.0/clang+llvm-3.0-x86_64-apple-darwin11.tar.gz>
>>
>>     Building GHC HEAD with LLVM 3.3 or 3.4 works great as a regular
>>     compiler with the 10.9 workarounds I outlined in another thread, but
>>     fails when compiling as a cross-compiler (./configure
>>     --target=arm-apple-darwin10) with these errors:
>>     https://gist.github.com/**lukexi/2b129f34fa027172c5ee<https://gist.github.com/lukexi/2b129f34fa027172c5ee>
>>
>>     So I'm between a rock and a hard place at the moment.
>>
>>     The only (very tedious and slow) workaround I've found for the
>>     3.0/3.2 bug is to manually expand tabs to spaces, and to transform
>>     do x
>>         y
>>     into
>>     do
>>          x
>>          y
>>     (similarly for where and let blocks)
>>
>>     Cheers
>>     Luke
>>
>>
>>     On Sun, Aug 11, 2013 at 1:53 AM, Luke Iannini <lukexipd at gmail.com
>>     <mailto:lukexipd at gmail.com>> wrote:
>>
>>         Argh, sorry for the confusion: 3.2 *does* exhibit the issue. 3.3
>>         and 3.4 do not.
>>
>>
>>         On Sun, Aug 11, 2013 at 1:39 AM, Luke Iannini
>>         <lukexipd at gmail.com <mailto:lukexipd at gmail.com>> wrote:
>>
>>             Further investigation:
>>
>>             I grabbed 7.6.3 just to see if I somehow had a bad install
>>             of GHC, but the problem still occurred.
>>
>>             The problem only occurs with LLVM 3.0.
>>
>>             It is not related to cross-compilation or Stephen's patches:
>>             I tested this on multiple fresh clones with --with-gcc=clang.
>>
>>             LLVM 3.2, 3.3 and 3.4 do not exhibit the issue.
>>
>>             If anyone wants to try to reproduce, you can grab the LLVM
>>             3.0 binaries here Clang Binaries for MacOS X/x86-64
>>             <http://llvm.org/releases/3.0/**clang+llvm-3.0-x86_64-apple-*
>> *darwin11.tar.gz<http://llvm.org/releases/3.0/clang+llvm-3.0-x86_64-apple-darwin11.tar.gz>>
>> and
>>
>>             just drop them in your path.
>>
>>             (Stephen, I'm now trying your patch with LLVM 3.2)
>>
>>             Cheers
>>             Luke
>>
>>
>>             On Sat, Aug 10, 2013 at 8:11 PM, Luke Iannini
>>             <lukexipd at gmail.com <mailto:lukexipd at gmail.com>> wrote:
>>
>>                 The first error on a fresh checkout is
>>
>>                 "/usr/local/bin/ghc" -hisuf hi -osuf  o -hcsuf hc
>>                 -static  -H32m -O  -package-db
>>                 libraries/bootstrapping.conf  -hide-all-packages -i
>>                 -iutils/hsc2hs/. -iutils/hsc2hs/dist/build
>>                 -iutils/hsc2hs/dist/build/**autogen
>>                 -Iutils/hsc2hs/dist/build
>>                 -Iutils/hsc2hs/dist/build/**autogen     -optP-include
>>                 -optPutils/hsc2hs/dist/build/**autogen/cabal_macros.h
>>                 -package base-4.6.0.1 -package containers-0.5.0.0
>>                 -package directory-1.2.0.1 -package filepath-1.3.0.1
>>                 -package process-1.1.0.2 -XHaskell98 -XCPP
>>                 -XForeignFunctionInterface  -no-user-package-db
>>                 -rtsopts      -odir utils/hsc2hs/dist/build -hidir
>>                 utils/hsc2hs/dist/build -stubdir utils/hsc2hs/dist/build
>>                    -c utils/hsc2hs/./C.hs -o utils/hsc2hs/dist/build/C.o
>>
>>
>>                 utils/hsc2hs/C.hs:155:3:
>>
>>                      parse error (possibly incorrect indentation or
>>                 mismatched brackets)
>>
>>
>>                 There seem to be two classes of error: one is the layout
>>                 issue above, but other files can be fixed by simply
>>                 running 'expand' on them.
>>
>>
>>
>>                 On Sat, Aug 10, 2013 at 6:42 PM, Luke Iannini
>>                 <lukexipd at gmail.com <mailto:lukexipd at gmail.com>> wrote:
>>
>>                     Hi Stephen/all,
>>
>>                     I got LLVM 3.0 installed and started building again
>>                     but hit a very strange problem now wherein tons of
>>                     layout-based code (as in
>>                     http://en.wikibooks.org/wiki/**Haskell/Indentation<http://en.wikibooks.org/wiki/Haskell/Indentation>)
>> is
>>                     suddenly erroring out, e.g.
>>                     compiler/coreSyn/CoreUnfold.**lhs:481:2:
>>                          parse error (possibly incorrect indentation or
>>                     mismatched brackets)
>>                     (some files also seem to be triggered by mixed tabs
>>                     and spaces)
>>
>>                     I can fix the errors one by one by converting the
>>                     code to use more concrete indentation (like
>>                     do
>>                          thing1
>>                          thing2
>>                     )
>>                     but it's all over the tree.
>>
>>                     Anyone have any idea what might cause this?
>>
>>                     Cheers
>>                     Luke
>>
>>
>>                     On Fri, Aug 9, 2013 at 6:14 AM, Stephen Blackheath
>>                     [to GHC-iPhone]
>>                     <likeliest.complexions.**stephen at blacksapphire.com<likeliest.complexions.stephen at blacksapphire.com>
>>                     <mailto:likeliest.complexions.**
>> stephen at blacksapphire.com<likeliest.complexions.stephen at blacksapphire.com>
>> >>
>>
>>                     wrote:
>>
>>                         Luke,
>>
>>                         Try llvm version 3.0 - that's what I'm using,
>>                         and it definitely worked before. llvm-3.1 is
>>                         broken for GHC+ARM. As for llvm >= 3.2, I'm not
>>                         sure if it's been fixed yet, but it wasn't
>>                         working last time I tried a couple of months
>>                         ago. I think this was because llvm is getting
>>                         fussier about its input and GHC hasn't been
>>                         "tightened up" yet.
>>
>>                         It's really easy to build llvm from source.
>>
>>
>>                         Steve
>>
>>
>>                         On 09/08/13 20:35, Luke Iannini wrote:
>>
>>                             v3 output:
>>                             https://gist.github.com/__**
>> lukexi/7ca55b36269703236f1f<https://gist.github.com/__lukexi/7ca55b36269703236f1f>
>>
>>                             <https://gist.github.com/**
>> lukexi/7ca55b36269703236f1f<https://gist.github.com/lukexi/7ca55b36269703236f1f>
>> >
>>
>>
>>                             On Fri, Aug 9, 2013 at 4:34 AM, Luke Iannini
>>                             <lukexipd at gmail.com <mailto:
>> lukexipd at gmail.com>
>>                             <mailto:lukexipd at gmail.com
>>
>>                             <mailto:lukexipd at gmail.com>>> wrote:
>>
>>                                  OK, that got me past that one.
>>
>>                                  Now I'm stuck here during compilation
>>                             of integer-simple:
>>                             https://gist.github.com/__**
>> lukexi/d9f8bfd8bca56d5d0ee9<https://gist.github.com/__lukexi/d9f8bfd8bca56d5d0ee9>
>>
>>                             <https://gist.github.com/**
>> lukexi/d9f8bfd8bca56d5d0ee9<https://gist.github.com/lukexi/d9f8bfd8bca56d5d0ee9>
>> >
>>
>>                                  ("unsupported relocation on
>>                             symbol"/"co-processor offset out of range")
>>
>>
>>                                  On Fri, Aug 9, 2013 at 4:00 AM, Luke
>>                             Iannini <lukexipd at gmail.com
>>                             <mailto:lukexipd at gmail.com>
>>                                  <mailto:lukexipd at gmail.com
>>
>>                             <mailto:lukexipd at gmail.com>>> wrote:
>>
>>                                      OK, I'm underway on this.
>>
>>                                      First roadbump was:
>>
>>
>>                                      "inplace/bin/ghc-stage1" -static
>>                             -H32m -O -Iincludes
>>                                      -Iincludes/dist
>>                             -Iincludes/dist-__**derivedconstants/header
>>
>>                             -Iincludes/dist-ghcconstants/_**_header -Irts
>>
>>                             -Irts/dist/build
>>                                      -DCOMPILING_RTS -package-name rts
>>                             -dcmm-lint -i -irts
>>                                      -irts/dist/build
>>                             -irts/dist/build/autogen -Irts/dist/build
>>                                      -Irts/dist/build/autogen -O2 -c
>>                             rts/Apply.cmm -o
>>                                      rts/dist/build/Apply.o
>>
>>
>>
>>
>>                                      You are using a new version of LLVM
>>                             that hasn't been tested yet!
>>                                      We will try though...
>>                                      /usr/local/bin/llc: : error: unable
>>                             to get target for
>>                                      'arm-apple-darwin10', see --version
>>                             and --triple.
>>
>>
>>                                      which I figured out were because
>>                             the homebrew LLVM 3.4 only
>>                                      includes host platforms by default
>>                             (x86/x86-64)
>>                                      Reinstalling it with all-targets
>>                             enables them all:
>>                                      brew install llvm --with-clang
>>                             --all-targets --HEAD
>>
>>                                      Trying again now.
>>
>>
>>
>>
>>                                      On Thu, Aug 8, 2013 at 5:29 PM,
>>                             Luke Iannini <lukexipd at gmail.com
>>                             <mailto:lukexipd at gmail.com>
>>                                      <mailto:lukexipd at gmail.com
>>
>>                             <mailto:lukexipd at gmail.com>>> wrote:
>>
>>                                          Update: I've got GHC HEAD
>>                             building on 10.9 again, tonight
>>                                          I'll dive into the iOS patch!
>>                                          Cheers
>>                                          Luke
>>
>>
>>                                          On Wed, Aug 7, 2013 at 9:12 PM,
>>                             Carter Schonwald
>>                                          <carter.schonwald at gmail.com
>>                             <mailto:carter.schonwald@**gmail.com<carter.schonwald at gmail.com>
>> >
>>
>>                             <mailto:carter.schonwald at __gma**il.com<http://gmail.com>
>>
>>                             <mailto:carter.schonwald@**gmail.com<carter.schonwald at gmail.com>>>>
>> wrote:
>>
>>                                              if you're on 10.8, just DL
>>                             the 4.6 CLI tools to get
>>                                              things working again.
>>
>>                                              If you're on 10.9, you'll
>>                             need to use recent GHC head +
>>                                              CLANG HEAD, (ok, the most
>>                             recent XCODE 5 dev preview CLI
>>                                              tools may have all the
>>                             needed clang patches, but thats
>>                                              still needing its own
>>                             validation, orthogonal to the IOS
>>                                              related issues )
>>
>>
>>                                              On Tue, Aug 6, 2013 at 7:06
>>                             PM, Luke Iannini
>>                                              <lukexipd at gmail.com
>>                             <mailto:lukexipd at gmail.com>
>>                             <mailto:lukexipd at gmail.com
>>
>>                             <mailto:lukexipd at gmail.com>>> wrote:
>>
>>                                                  Hi Stephen,
>>
>>                                                  I installed 10.9 for
>>                             another project and thus am in
>>                                                  the middle of fixing up
>>                             my system to be able to
>>                                                  build GHC again, but I
>>                             think I'm close — as soon as
>>                                                  I have it going I'll
>>                             try this.
>>
>>                                                  In the meantime someone
>>                             still on 10.8 should
>>                                                  definitely try the patch!
>>
>>                                                  Hope you're great!
>>                                                  Luke
>>
>>
>>                                                  On Tue, Aug 6, 2013 at
>>                             6:42 PM, Stephen Blackheath
>>                                                  [to GHC-iPhone]
>>
>>                             <likeliest.complexions.__**
>> stephen at blacksapphire.com<likeliest.complexions.__stephen at blacksapphire.com>
>>                             <mailto:likeliest.complexions.**
>> stephen at blacksapphire.com<likeliest.complexions.stephen at blacksapphire.com>
>> >
>>
>>                             <mailto:likeliest.complexions.**
>> __stephen at blacksapphire.com<likeliest.complexions.__stephen at blacksapphire.com>
>>
>>                             <mailto:likeliest.complexions.**
>> stephen at blacksapphire.com<likeliest.complexions.stephen at blacksapphire.com>
>> >>>
>>
>>                                                  wrote:
>>
>>                                                      Hi all,
>>
>>                                                      A couple of months
>>                             ago I got some patches
>>                                                      applied to GHC
>>                             mainline for the ability to cross
>>                                                      compile to iOS.
>>                             I've been doing other things and
>>                                                      now I want to test
>>                             those changes. The trouble
>>                                                      is, I am having
>>                             Apple trouble and I can't get
>>                                                      Xcode to work.
>>
>>                                                      If anyone is
>>                             interested in testing it for me,
>>                                                      I'd appreciate it.
>>
>>                                                      The patch attached
>>                             here needs to be applied to
>>                                                      GHC head. Using
>>                             this, I was able to get the
>>                                                      cross compiler to
>>                             build. The instructions are here:
>>
>>                             http://ghc.haskell.org/trac/__**
>> __ghc/wiki/Building/____**CrossCompiling/iOS<http://ghc.haskell.org/trac/____ghc/wiki/Building/____CrossCompiling/iOS>
>>                             <http://ghc.haskell.org/trac/_**
>> _ghc/wiki/Building/__**CrossCompiling/iOS<http://ghc.haskell.org/trac/__ghc/wiki/Building/__CrossCompiling/iOS>
>> >
>>
>>
>>
>>                             <http://ghc.haskell.org/trac/_**
>> _ghc/wiki/Building/__**CrossCompiling/iOS<http://ghc.haskell.org/trac/__ghc/wiki/Building/__CrossCompiling/iOS>
>>                             <http://ghc.haskell.org/trac/**
>> ghc/wiki/Building/**CrossCompiling/iOS<http://ghc.haskell.org/trac/ghc/wiki/Building/CrossCompiling/iOS>
>> >>
>>
>>
>>                                                      Steve
>>
>>
>>                             ______________________________**
>> ___________________
>>
>>                                                      iPhone mailing list
>>                             iPhone at haskell.org
>>                             <mailto:iPhone at haskell.org>
>>                             <mailto:iPhone at haskell.org
>>                             <mailto:iPhone at haskell.org>>
>>
>>                             http://www.haskell.org/__**
>> mailman/listinfo/iphone<http://www.haskell.org/__mailman/listinfo/iphone>
>>                             <http://www.haskell.org/**
>> mailman/listinfo/iphone <http://www.haskell.org/mailman/listinfo/iphone>>
>>
>>
>>
>>
>>                             ______________________________**
>> ___________________
>>
>>                                                  iPhone mailing list
>>                             iPhone at haskell.org
>>                             <mailto:iPhone at haskell.org>
>>                             <mailto:iPhone at haskell.org
>>                             <mailto:iPhone at haskell.org>>
>>                             http://www.haskell.org/__**
>> mailman/listinfo/iphone<http://www.haskell.org/__mailman/listinfo/iphone>
>>                             <http://www.haskell.org/**
>> mailman/listinfo/iphone <http://www.haskell.org/mailman/listinfo/iphone>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.haskell.org/pipermail/iphone/attachments/20130811/e14d2733/attachment.htm>


More information about the iPhone mailing list