Re: [MLton] Status of arm64-darwin mlton ?

Bernard Berthomieu <[email protected]> Wed, 27 Jul 2022 16:56:33 +0200
Newsgroups gmane.comp.lang.ml.mlton.devel
Message-ID <[email protected]>
This is a multi-part message in MIME format.
--===============2281723997293038801==
Content-Type: multipart/alternative;
 boundary="------------spzO51LFWK0ExlBR5X8TltjI"
Content-Language: en-US

This is a multi-part message in MIME format.
--------------spzO51LFWK0ExlBR5X8TltjI
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

Thanks Matthew for the summary,

I attempted today Christopher's solution (the latter).
I could build an amd64 mlton generating arm64 code,
and an arm64 mlton presumably generating arm64 code.

The first seems to works, I'll test it soon on non trivial programs.
The second fails from the start, even though "Build of MLton succeeded"
was printed.
I'm reading the discussions to see if I missed something.
In both cases, I'm using the current git sources.

Best,
   Bernard.

On 22/07/2022 16:48, Matthew Fluet wrote:
> There is some discussion in the GitHub issues:
> https://github.com/MLton/mlton/issues/438
> What seemed to work best is to use the `remote-bootstrap` target from 
> an amd64-{darwin,linux} machine that SSHes into the arm64-darwin machine.
>
> An older discussion 
> (https://sourceforge.net/p/mlton/mailman/mlton-user/thread/d40764ee-7d1b-41e0-a101-caafe3483879%40www.fastmail.com/#msg37185161) 
> had some success bootstrapping using Rosetta, but there are two tricks:
>  * An amd64 executable that (indirectly) invokes `cc` defaults to 
> generating amd64 code, but for bootstrapping, we want the amd64 MLton 
> to generate an arm64 MLton.  I think that this was worked around in 
> the current sources by explicitly passing `-arch arm64` when the 
> target is `arm64-darwin`.
> * You need to arrange for the "old" (amd64) MLton to find and 
> dynamically link to an amd64 version of GMP, while the "new" (arm64) 
> MLton will need to find and dynamically link to an arm64 version of GMP.
>
> -Matthew
>
>
> On Wed, Jul 20, 2022 at 1:43 PM Bernard Berthomieu 
> <[email protected]> wrote:
>
>     Hello,
>
>     I might have  soon a limited time access to  an Apple Silicon MacBook,
>     that I  would like to use  to produce an arm64-darwin  version of some
>     software I'm maintaining.
>
>     I've seen from the CHANGELOG that some progress has been made but what
>     is the current status of the port of mlton on target arm64-darwin ? In
>     particular,  does  mlton for  arm64-darwin  bootstrap  from mlton for
>     amd64-darwin on a M1  (thanks to Rosetta2) or do I have to build a
>     cross
>     compiler ?
>
>     Also, if someone succeeded in  building a native arm64-darwin mlton or
>     a cross-compiler  from amd64-darwin, would  you mind sharing it  for a
>     try ?
>
>     Many thanks for any hints.
>        Bernard.
>
>
>
>     _______________________________________________
>     MLton-devel mailing list
>     [email protected]; [email protected]
>     https://lists.sourceforge.net/lists/listinfo/mlton-devel
>
>
>
> _______________________________________________
> MLton-devel mailing list
> [email protected];[email protected]
> https://lists.sourceforge.net/lists/listinfo/mlton-devel

--------------spzO51LFWK0ExlBR5X8TltjI
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: 8bit

<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    Thanks Matthew for the summary,<br>
    <br>
    I attempted today Christopher's solution (the latter).<br>
    I could build an amd64 mlton generating arm64 code,<br>
    and an arm64 mlton presumably generating arm64 code.<br>
    <br>
    The first seems to works, I'll test it soon on non trivial programs.<br>
    The second fails from the start, even though "Build of MLton
    succeeded"<br>
    was printed.<br>
    I'm reading the discussions to see if I missed something.<br>
    In both cases, I'm using the current git sources.<br>
    <br>
    Best,<br>
      Bernard. <br>
    <br>
    <div class="moz-cite-prefix">On 22/07/2022 16:48, Matthew Fluet
      wrote:<br>
    </div>
    <blockquote type="cite"
cite="mid:CAMrhFL6VK5oP=bN=CMXQMjipKCBNRh7WeOGhcN6ob+N=aRwuCQ@mail.gmail.com">
      <meta http-equiv="content-type" content="text/html; charset=UTF-8">
      <div dir="ltr">
        <div class="gmail_default"
          style="font-family:arial,sans-serif;font-size:large">There is
          some discussion in the GitHub issues:</div>
        <div class="gmail_default"
          style="font-family:arial,sans-serif;font-size:large">  <a
            href="https://github.com/MLton/mlton/issues/438"
            target="_blank" moz-do-not-send="true"
            class="moz-txt-link-freetext">https://github.com/MLton/mlton/issues/438</a></div>
        <div class="gmail_default"
          style="font-family:arial,sans-serif;font-size:large">What
          seemed to work best is to use the `remote-bootstrap` target
          from an amd64-{darwin,linux} machine that SSHes into the
          arm64-darwin machine.</div>
        <div class="gmail_default"
          style="font-family:arial,sans-serif;font-size:large"><br>
        </div>
        <div class="gmail_default"
          style="font-family:arial,sans-serif;font-size:large">An older
          discussion (<a
href="https://sourceforge.net/p/mlton/mailman/mlton-user/thread/d40764ee-7d1b-41e0-a101-caafe3483879%40www.fastmail.com/#msg37185161"
            moz-do-not-send="true" class="moz-txt-link-freetext">https://sourceforge.net/p/mlton/mailman/mlton-user/thread/d40764ee-7d1b-41e0-a101-caafe3483879%40www.fastmail.com/#msg37185161</a>)
          had some success bootstrapping using Rosetta, but there are
          two tricks:</div>
        <div class="gmail_default"
          style="font-family:arial,sans-serif;font-size:large"> * An
          amd64 executable that (indirectly) invokes `cc` defaults to
          generating amd64 code, but for bootstrapping, we want the
          amd64 MLton to generate an arm64 MLton.  I think that this was
          worked around in the current sources by explicitly passing
          `-arch arm64` when the target is `arm64-darwin`.</div>
        <div class="gmail_default"
          style="font-family:arial,sans-serif;font-size:large">* You
          need to arrange for the "old" (amd64) MLton to find and
          dynamically link to an amd64 version of GMP, while the "new"
          (arm64) MLton will need to find and dynamically link to an
          arm64 version of GMP.</div>
        <div class="gmail_default"
          style="font-family:arial,sans-serif;font-size:large"><br>
        </div>
        <div class="gmail_default"
          style="font-family:arial,sans-serif;font-size:large">-Matthew<br>
        </div>
        <div class="gmail_default"
          style="font-family:arial,sans-serif;font-size:large"><br>
        </div>
      </div>
      <br>
      <div class="gmail_quote">
        <div dir="ltr" class="gmail_attr">On Wed, Jul 20, 2022 at 1:43
          PM Bernard Berthomieu &lt;<a
            href="mailto:[email protected]" target="_blank"
            moz-do-not-send="true" class="moz-txt-link-freetext">[email protected]</a>&gt;
          wrote:<br>
        </div>
        <blockquote class="gmail_quote" style="margin:0px 0px 0px
          0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Hello,<br>
          <br>
          I might have  soon a limited time access to  an Apple Silicon
          MacBook,<br>
          that I  would like to use  to produce an arm64-darwin  version
          of some<br>
          software I'm maintaining.<br>
          <br>
          I've seen from the CHANGELOG that some progress has been made
          but what<br>
          is the current status of the port of mlton on target
          arm64-darwin ? In<br>
          particular,  does  mlton for  arm64-darwin  bootstrap  from
          mlton for<br>
          amd64-darwin on a M1  (thanks to Rosetta2) or do I have to
          build a cross<br>
          compiler ?<br>
          <br>
          Also, if someone succeeded in  building a native arm64-darwin
          mlton or<br>
          a cross-compiler  from amd64-darwin, would  you mind sharing
          it  for a<br>
          try ?<br>
          <br>
          Many thanks for any hints.<br>
             Bernard.<br>
          <br>
          <br>
          <br>
          _______________________________________________<br>
          MLton-devel mailing list<br>
          <a href="mailto:[email protected]"
            target="_blank" moz-do-not-send="true"
            class="moz-txt-link-freetext">[email protected]</a>;
          <a href="mailto:[email protected]" target="_blank"
            moz-do-not-send="true" class="moz-txt-link-freetext">[email protected]</a><br>
          <a
            href="https://lists.sourceforge.net/lists/listinfo/mlton-devel"
            rel="noreferrer" target="_blank" moz-do-not-send="true"
            class="moz-txt-link-freetext">https://lists.sourceforge.net/lists/listinfo/mlton-devel</a><br>
        </blockquote>
      </div>
      <br>
      <fieldset class="moz-mime-attachment-header"></fieldset>
      <br>
      <fieldset class="moz-mime-attachment-header"></fieldset>
      <pre class="moz-quote-pre" wrap="">_______________________________________________
MLton-devel mailing list
<a class="moz-txt-link-abbreviated moz-txt-link-freetext" href="mailto:[email protected]">[email protected]</a>; <a class="moz-txt-link-abbreviated moz-txt-link-freetext" href="mailto:[email protected]">[email protected]</a>
<a class="moz-txt-link-freetext" href="https://lists.sourceforge.net/lists/listinfo/mlton-devel">https://lists.sourceforge.net/lists/listinfo/mlton-devel</a>
</pre>
    </blockquote>
    <br>
  </body>
</html>

--------------spzO51LFWK0ExlBR5X8TltjI--


--===============2281723997293038801==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline


--===============2281723997293038801==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
MLton-devel mailing list
[email protected]; [email protected]
https://lists.sourceforge.net/lists/listinfo/mlton-devel

--===============2281723997293038801==--