[Haskell-iPhone] More arm-apple-darwin10-ghc trouble

Luke Iannini lukexipd at gmail.com
Mon Dec 23 00:47:30 UTC 2013


Hey Schell,

I think I see the issue — did you see the note in section 6 of
https://ghc.haskell.org/trac/ghc/wiki/Building/CrossCompiling/iOS regarding
the
jobs: $ncpus
option in ~/.cabal/config ?
If you've got that, nuke it and see if that fixes it.

I need to file a bug about that with the Cabal team.

I've also been meaning to warn — I am pretty sure the fat armv7s/armv7
binary approach taken by arm-apple-darwin10-ghc doesn't fully work yet (I
was convinced it did when I implemented it, but recent testing with armv7
and armv7s devices show missing symbols for one arch or the other). I
haven't had nearly the time to work on it and if anyone's looking for a way
to help with GHC iOS that's a great self-contained problem to work on : ).

If we can't get that approach to work (intercepting build commands and
lipoing things together on the fly), there's always the approach of
building one GHC for each armv7 and armv7s, but that's got its own pain
points since GHC calls both of those just "arm" internally and you have to
do some yucky stuff with directory management :/ (that's what I've done
here, and it works at least : )).

Hopefully I'll be out of the woods in my primary work soon and able to
devote more cycles help in cleaning these things up.

Cheers
Luke


On Sun, Dec 22, 2013 at 4:22 PM, Schell Scivally <efsubenovex at gmail.com>wrote:

> The primitive log is empty, nothing is printed to it. The version of
> vector I'm trying to build is 0.10.9.1, which is currently on hackage. I've
> also tried building primitive 0.5.2.0 by hand - cloning it from github and
> then running arm-apple-darwin10-cabal install and it stops at the same
> error. Nothing is printed to the log file. If I try each step separately
> (configure, build, install) I can configure fine and building gives this
> output:
>
> Building primitive-0.5.2.0...
>
> Preprocessing library primitive-0.5.2.0...
>
> [ 1 of 10] Compiling Data.Primitive.Internal.Compat (
> Data/Primitive/Internal/Compat.hs,
> dist-arm/build/Data/Primitive/Internal/Compat.o )
>
> [ 2 of 10] Compiling Data.Primitive.MachDeps ( Data/Primitive/MachDeps.hs,
> dist-arm/build/Data/Primitive/MachDeps.o )
>
> [ 3 of 10] Compiling Data.Primitive.Internal.Operations (
> Data/Primitive/Internal/Operations.hs,
> dist-arm/build/Data/Primitive/Internal/Operations.o )
>
> [ 4 of 10] Compiling Control.Monad.Primitive ( Control/Monad/Primitive.hs,
> dist-arm/build/Control/Monad/Primitive.o )
>
> [ 5 of 10] Compiling Data.Primitive.Types ( Data/Primitive/Types.hs,
> dist-arm/build/Data/Primitive/Types.o )
>
> [ 6 of 10] Compiling Data.Primitive.Array ( Data/Primitive/Array.hs,
> dist-arm/build/Data/Primitive/Array.o )
>
> [ 7 of 10] Compiling Data.Primitive.ByteArray (
> Data/Primitive/ByteArray.hs, dist-arm/build/Data/Primitive/ByteArray.o )
>
> [ 8 of 10] Compiling Data.Primitive.Addr ( Data/Primitive/Addr.hs,
> dist-arm/build/Data/Primitive/Addr.o )
>
> [ 9 of 10] Compiling Data.Primitive   ( Data/Primitive.hs,
> dist-arm/build/Data/Primitive.o )
>
> [10 of 10] Compiling Data.Primitive.MutVar ( Data/Primitive/MutVar.hs,
> dist-arm/build/Data/Primitive/MutVar.o )
>
> /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib:
> archive library: dist-arm/build/libHSprimitive-0.5.2.0.a will be fat and
> ar(1) will not be able to operate on it
> In-place registering primitive-0.5.2.0...
>
> And then installing gives:
>
> Resolving dependencies...
>
> Configuring primitive-0.5.2.0...
>
> Failed to install primitive-0.5.2.0
>
> Last 10 lines of the build log (
> /Users/schell/.cabal/logs/primitive-0.5.2.0.log ):
>
> cabal: Error: some packages failed to install:
>
> primitive-0.5.2.0 failed during the configure step. The exception was:
>
> ExitFailure 127
>
> To me it seems like the line
> "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib:
> archive library: dist-arm/build/libHSprimitive-0.5.2.0.a will be fat and
> ar(1) will not be able to operate on it" could be important? Does that
> sound like it may have something to do with the install failure?
>
>
>
> On Sun, Dec 22, 2013 at 2:49 PM, Carter Schonwald <
> carter.schonwald at gmail.com> wrote:
>
>> Oooooo.   What version of vector are you using?  It needs to be the one
>> for ghc HEAD.
>>
>>
>> On Sunday, December 22, 2013, Carter Schonwald wrote:
>>
>>> Could you also share the primitive log?  Seems like something is
>>> happening there.
>>> Can't you just build primitive by hand then vector?
>>>
>>> On Sunday, December 22, 2013, Schell Scivally wrote:
>>>
>>>> Ah, cool - I didn't know that the verbosity arg took a parameter. Here
>>>> is the full output: https://gist.github.com/schell/7c08631f52e1e6f54a39
>>>>
>>>>
>>>> On Sun, Dec 22, 2013 at 1:13 PM, Carter Schonwald <
>>>> carter.schonwald at gmail.com> wrote:
>>>>
>>>>> The -v flag is for cabal.  Be sure to post a link to the full output.
>>>>>
>>>>>
>>>>> On Sunday, December 22, 2013, Schell Scivally wrote:
>>>>>
>>>>>> Hey guys, I thought I had fixed my issues by rebuilding HEAD but it
>>>>>> looks like I just went in a circle and now I'm back at the same problem
>>>>>> from my first message:
>>>>>> http://www.haskell.org/pipermail/iphone/2013-December/000345.html
>>>>>>
>>>>>> I'm trying to cabal install vector but it's failing while installing
>>>>>> primitive. The log file shows no error, so it looks like it's silently
>>>>>> erring. My setup is here:
>>>>>> https://gist.github.com/schell/f3a737171ce2f6b1119c
>>>>>> Just for posterity I'll post the output from
>>>>>> `arm-apple-darwin10-cabal install vector`:
>>>>>>
>>>>>> Resolving dependencies...
>>>>>>
>>>>>> Configuring primitive-0.5.1.0...
>>>>>>
>>>>>> Failed to install primitive-0.5.1.0
>>>>>>
>>>>>> Last 10 lines of the build log (
>>>>>> /Users/schell/.cabal/logs/primitive-0.5.1.0.log ):
>>>>>>
>>>>>> cabal: Error: some packages failed to install:
>>>>>>
>>>>>> primitive-0.5.1.0 failed during the configure step. The exception was:
>>>>>>
>>>>>> ExitFailure 127
>>>>>>
>>>>>> vector-0.10.9.1 depends on primitive-0.5.1.0 which failed to install.
>>>>>>
>>>>>> The build log is empty.
>>>>>> Furthermore, for a while I was trying to use cabal like
>>>>>> `arm-apple-darwin10-cabal --config-file=arm.config install vector`,
>>>>>> pointing it to a custom cabal file (one that was just autogenerated the
>>>>>> first time I issued the command). This looked like it was working, but it
>>>>>> says that the package is already installed. If I don't include the
>>>>>> --config-file option it errs like above.
>>>>>>
>>>>>> Using arm-apple-darwin10-ghc to build my project is failing because
>>>>>> it can't find Data.Vector.Storable but I can't seem to get cabal to install
>>>>>> it in the correct location.
>>>>>>
>>>>>> --
>>>>>> Schell Scivally
>>>>>> http://blog.efnx.com
>>>>>> http://github.com/schell
>>>>>> http://twitter.com/schellsan
>>>>>>
>>>>>
>>>>
>>>>
>>>> --
>>>> Schell Scivally
>>>> http://blog.efnx.com
>>>> http://github.com/schell
>>>> http://twitter.com/schellsan
>>>>
>>>
>
>
> --
> Schell Scivally
> http://blog.efnx.com
> http://github.com/schell
> http://twitter.com/schellsan
>
> _______________________________________________
> iPhone mailing list
> iPhone at haskell.org
> http://www.haskell.org/mailman/listinfo/iphone
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.haskell.org/pipermail/iphone/attachments/20131222/9f659347/attachment.html>


More information about the iPhone mailing list