GHC iOS make binary-dist

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
4 messages Options
Reply | Threaded
Open this post in threaded view
|

GHC iOS make binary-dist

Luke Iannini
Hi folks,

I'm all set to release binaries for GHC iOS (arm and i386 simulator), but
didn't realize the "make binary-dist" machinery is broken for
cross-compilers.

I'm starting work on it but will be fumbling in the dark a bit so if anyone
has any knowledge or link or ideas on where to look, I'd love to hear them!

Here's the output of "make binary-dist" on a tree after a successful "make"
for arm-apple-darwin10 (which will "make install" perfectly).
http://lpaste.net/99475

Cheers
Luke
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.haskell.org/pipermail/ghc-devs/attachments/20140204/1e1fa199/attachment.html>

Reply | Threaded
Open this post in threaded view
|

GHC iOS make binary-dist

Luke Iannini
OK, I've made a bit of progress here.

Again, I have very little understanding of the binary-dist system so I hope
this isn't nonsense.

The utils/ghc-cabal/dist-install/build/tmp/ghc-cabal and
utils/ghc-pwd/dist-install/build/tmp/ghc-pwd
executables have .a extensions, which is a bug, but more importantly are
built for arm and thus can't be used.

lukexi at thopminkingscape:~/Code/ghc (ghc-7.8 *=)$ file
utils/ghc-cabal/dist-install/build/tmp/ghc-cabal.a
utils/ghc-cabal/dist-install/build/tmp/ghc-cabal.a: Mach-O executable arm

lukexi at thopminkingscape:~/Code/ghc (ghc-7.8 *=)$ file
utils/ghc-pwd/dist-install/build/tmp/ghc-pwd.a
utils/ghc-pwd/dist-install/build/tmp/ghc-pwd.a: Mach-O executable arm

So I tried switching them to the inplace/bin/ghc-cabal and
utils/ghc-pwd/dist-boot/ghc-pwd copies, respectively, with this patch:
http://lpaste.net/99485

This let me build the .tar.gz without errors, and ./configure it fine, but
make install fails here now.
"inplace/bin/ghc-cabal" register libraries/ghc-prim dist-install
"/usr/local/lib/arm-apple-darwin10ghc-7.8.20140129/bin/ghc"
"/usr/local/lib/arm-apple-darwin10ghc-7.8.20140129/bin/ghc-pkg"
"/usr/local/lib/arm-apple-darwin10ghc-7.8.20140129" '' '/usr/local'
'/usr/local/lib/arm-apple-darwin10ghc-7.8.20140129'
'/usr/local/share/doc/ghc/html/libraries' NO
ghc-cabal: Bad interface file: dist-install/build/GHC/CString.hi
magic number mismatch: old/corrupt interface file? (wanted 33214052, got
129742)

http://lpaste.net/99486

(looks like a missing dash in the CrossCompilePrefix as well but that's a
minor issue)

Does this offer any clues?

Cheers
Luke


On Tue, Feb 4, 2014 at 6:22 PM, Luke Iannini <lukexipd at gmail.com> wrote:

> Hi folks,
>
> I'm all set to release binaries for GHC iOS (arm and i386 simulator), but
> didn't realize the "make binary-dist" machinery is broken for
> cross-compilers.
>
> I'm starting work on it but will be fumbling in the dark a bit so if
> anyone has any knowledge or link or ideas on where to look, I'd love to
> hear them!
>
> Here's the output of "make binary-dist" on a tree after a successful
> "make" for arm-apple-darwin10 (which will "make install" perfectly).
> http://lpaste.net/99475
>
> Cheers
> Luke
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.haskell.org/pipermail/ghc-devs/attachments/20140204/d807bdd3/attachment.html>

Reply | Threaded
Open this post in threaded view
|

GHC iOS make binary-dist

Luke Iannini
Aha. Looks like the "target word size" is incorrect in the binary-dist
version.
Here's arm-apple-darwin10ghc --info (i.e., the binary-dist version)
http://lpaste.net/99489

and here's arm-apple-darwin10-ghc --info (from a working 'make install'ed
version)
http://lpaste.net/99490

A bad settings file, I guess. I'll see if I can fix that...
Cheers
Luke


On Tue, Feb 4, 2014 at 8:59 PM, Luke Iannini <lukexipd at gmail.com> wrote:

> OK, I've made a bit of progress here.
>
> Again, I have very little understanding of the binary-dist system so I
> hope this isn't nonsense.
>
> The utils/ghc-cabal/dist-install/build/tmp/ghc-cabal and utils/ghc-pwd/dist-install/build/tmp/ghc-pwd
> executables have .a extensions, which is a bug, but more importantly are
> built for arm and thus can't be used.
>
> lukexi at thopminkingscape:~/Code/ghc (ghc-7.8 *=)$ file
> utils/ghc-cabal/dist-install/build/tmp/ghc-cabal.a
> utils/ghc-cabal/dist-install/build/tmp/ghc-cabal.a: Mach-O executable arm
>
> lukexi at thopminkingscape:~/Code/ghc (ghc-7.8 *=)$ file
> utils/ghc-pwd/dist-install/build/tmp/ghc-pwd.a
> utils/ghc-pwd/dist-install/build/tmp/ghc-pwd.a: Mach-O executable arm
>
> So I tried switching them to the inplace/bin/ghc-cabal and
> utils/ghc-pwd/dist-boot/ghc-pwd copies, respectively, with this patch:
> http://lpaste.net/99485
>
> This let me build the .tar.gz without errors, and ./configure it fine, but
> make install fails here now.
> "inplace/bin/ghc-cabal" register libraries/ghc-prim dist-install
> "/usr/local/lib/arm-apple-darwin10ghc-7.8.20140129/bin/ghc"
> "/usr/local/lib/arm-apple-darwin10ghc-7.8.20140129/bin/ghc-pkg"
> "/usr/local/lib/arm-apple-darwin10ghc-7.8.20140129" '' '/usr/local'
> '/usr/local/lib/arm-apple-darwin10ghc-7.8.20140129'
> '/usr/local/share/doc/ghc/html/libraries' NO
> ghc-cabal: Bad interface file: dist-install/build/GHC/CString.hi
> magic number mismatch: old/corrupt interface file? (wanted 33214052, got
> 129742)
>
> http://lpaste.net/99486
>
> (looks like a missing dash in the CrossCompilePrefix as well but that's a
> minor issue)
>
> Does this offer any clues?
>
> Cheers
> Luke
>
>
> On Tue, Feb 4, 2014 at 6:22 PM, Luke Iannini <lukexipd at gmail.com> wrote:
>
>> Hi folks,
>>
>> I'm all set to release binaries for GHC iOS (arm and i386 simulator), but
>> didn't realize the "make binary-dist" machinery is broken for
>> cross-compilers.
>>
>> I'm starting work on it but will be fumbling in the dark a bit so if
>> anyone has any knowledge or link or ideas on where to look, I'd love to
>> hear them!
>>
>> Here's the output of "make binary-dist" on a tree after a successful
>> "make" for arm-apple-darwin10 (which will "make install" perfectly).
>> http://lpaste.net/99475
>>
>> Cheers
>> Luke
>>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.haskell.org/pipermail/ghc-devs/attachments/20140204/e51b2efa/attachment-0001.html>

Reply | Threaded
Open this post in threaded view
|

GHC iOS make binary-dist

Luke Iannini
After fixing that, and the prefix missing a "-", I've got a working make
install! Hurray!

I'll tidy this up and make a patch.

Cheers
Luke

On Tue, Feb 4, 2014 at 9:24 PM, Luke Iannini <lukexipd at gmail.com> wrote:

> Aha. Looks like the "target word size" is incorrect in the binary-dist
> version.
> Here's arm-apple-darwin10ghc --info (i.e., the binary-dist version)
> http://lpaste.net/99489
>
> and here's arm-apple-darwin10-ghc --info (from a working 'make install'ed
> version)
> http://lpaste.net/99490
>
> A bad settings file, I guess. I'll see if I can fix that...
> Cheers
> Luke
>
>
> On Tue, Feb 4, 2014 at 8:59 PM, Luke Iannini <lukexipd at gmail.com> wrote:
>
>> OK, I've made a bit of progress here.
>>
>> Again, I have very little understanding of the binary-dist system so I
>> hope this isn't nonsense.
>>
>> The utils/ghc-cabal/dist-install/build/tmp/ghc-cabal and utils/ghc-pwd/dist-install/build/tmp/ghc-pwd
>> executables have .a extensions, which is a bug, but more importantly are
>> built for arm and thus can't be used.
>>
>> lukexi at thopminkingscape:~/Code/ghc (ghc-7.8 *=)$ file
>> utils/ghc-cabal/dist-install/build/tmp/ghc-cabal.a
>> utils/ghc-cabal/dist-install/build/tmp/ghc-cabal.a: Mach-O executable arm
>>
>> lukexi at thopminkingscape:~/Code/ghc (ghc-7.8 *=)$ file
>> utils/ghc-pwd/dist-install/build/tmp/ghc-pwd.a
>> utils/ghc-pwd/dist-install/build/tmp/ghc-pwd.a: Mach-O executable arm
>>
>> So I tried switching them to the inplace/bin/ghc-cabal and
>> utils/ghc-pwd/dist-boot/ghc-pwd copies, respectively, with this patch:
>> http://lpaste.net/99485
>>
>> This let me build the .tar.gz without errors, and ./configure it fine,
>> but make install fails here now.
>> "inplace/bin/ghc-cabal" register libraries/ghc-prim dist-install
>> "/usr/local/lib/arm-apple-darwin10ghc-7.8.20140129/bin/ghc"
>> "/usr/local/lib/arm-apple-darwin10ghc-7.8.20140129/bin/ghc-pkg"
>> "/usr/local/lib/arm-apple-darwin10ghc-7.8.20140129" '' '/usr/local'
>> '/usr/local/lib/arm-apple-darwin10ghc-7.8.20140129'
>> '/usr/local/share/doc/ghc/html/libraries' NO
>> ghc-cabal: Bad interface file: dist-install/build/GHC/CString.hi
>> magic number mismatch: old/corrupt interface file? (wanted 33214052, got
>> 129742)
>>
>> http://lpaste.net/99486
>>
>> (looks like a missing dash in the CrossCompilePrefix as well but that's a
>> minor issue)
>>
>> Does this offer any clues?
>>
>> Cheers
>> Luke
>>
>>
>> On Tue, Feb 4, 2014 at 6:22 PM, Luke Iannini <lukexipd at gmail.com> wrote:
>>
>>> Hi folks,
>>>
>>> I'm all set to release binaries for GHC iOS (arm and i386 simulator),
>>> but didn't realize the "make binary-dist" machinery is broken for
>>> cross-compilers.
>>>
>>> I'm starting work on it but will be fumbling in the dark a bit so if
>>> anyone has any knowledge or link or ideas on where to look, I'd love to
>>> hear them!
>>>
>>> Here's the output of "make binary-dist" on a tree after a successful
>>> "make" for arm-apple-darwin10 (which will "make install" perfectly).
>>> http://lpaste.net/99475
>>>
>>> Cheers
>>> Luke
>>>
>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.haskell.org/pipermail/ghc-devs/attachments/20140204/14df0774/attachment.html>