[prev in list] [next in list] [prev in thread] [next in thread] 

List:       sbcl-devel
Subject:    Re: [Sbcl-devel] Cross-compile for ARM
From:       Jeffrey Cunningham <jeffrey () jkcunningham ! com>
Date:       2019-03-21 20:25:49
Message-ID: 493345b4e0d00dd9062eecb6fad3f61f8e84555a.camel () jkcunningham ! com
[Download RAW message or body]

[Attachment #2 (multipart/alternative)]


That worked. Took awhile, but once it finished I get SBCL 1.5.0.104-
794e8c3b8-dirty running on the ARM.I spent some of the build time
reading through the make-config.sh script. Looks like I could have
called that on the HOST end to pretty much do everything. I'll try that
next time.
So after it finished compiling on the host, it said "No tests failed."
of the 13 pending tests of 13 test total. 
If no one is already building and testing on this device when new
versions are coming out I'll be happy to do so.
--Jeff

On Thu, 2019-03-21 at 12:13 -0700, Jeffrey Cunningham wrote:
> Thank you for your reply. The ARM has a working copy of SBCL on it
> (1.3.7.debian). Compiling only the C-code on the ARM is definitely
> what I had in mind. 
> It looks like calling "sh cross-make.sh head pi@..
> /home/pi/src/lisp/sbcl" runs make-config.sh on the ARM which produces
> four files in it's output directory. But the scp command which
> follows only copies output/build-id.inc back to the host. The host
> didn't yet have an output directory, so that copy renamed the file to
> "output" instead of move it into the directory. Then make-host-1.sh
> tries to source output/build-config which doesn't exist. 
> So I figured there were two possibilities here: either the
> output/build-config should have been copied from the ARM to output on
> the host. Or more likely it should be the host's own build-config. So
> I'm guessing I needed to run make-config.sh on the host before
> calling the cross-make.sh script. This creates the output script on
> the host also, so more evidence this is correct. It has been running
> for about fifteen minutes now. We'll see how it goes.
> Thanks again.
> --Jeff
> 
> Re: [Sbcl-devel] Cross-compile for ARMFrom: Douglas Katzman <dougk@go
> ...> - 2019-03-20 19:08:10Attachments: Message as HTML
> I'll start with two observations:1) cross-make might not do
> everything it should; it works for me but onlybecause the use-case
> for which cross-make was intended is that of thetarget *already*
> having a working lisp implementation
> 2) the "real" recipe for cross-building is whatever the comments say
> in'make.sh', except that even those are inadequate, as can be
> inferred by thefact that 'cross-make' (when is works right) copies
> strictly more filesthan the comments in 'make.sh' suggest need to be
> copied back and forth.
> I choose not to do a fully native build on slow targets, but I let
> thetarget generate its own configThe instructions in 'make.sh' say
> "carefully emulate that by hand"You'd be best off paying attention to
> cross-make only in as much as seeingwhat files it copies.
> To answer your direct question: make-host-1 and make-host-2 are on
> themachine doing the compiling of Lisp.  Only the C code should be
> compiled onthe ARM, unless you also have a C cross-compiler.
> _______________________________________________Sbcl-devel mailing 
> listSbcl-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/sbcl-devel

[Attachment #5 (text/html)]

<html dir="ltr"><head></head><body style="text-align:left; direction:ltr;"><div>That \
worked. Took awhile, but once it finished I get SBCL 1.5.0.104-794e8c3b8-dirty \
running on the ARM.</div><div>I spent some of the build time reading through the \
make-config.sh script. Looks like I could have called that on the HOST end to pretty \
much do everything. I'll try that next time.</div><div><br></div><div>So after it \
finished compiling on the host, it said "No tests failed." of the 13 pending tests of \
13 test total. </div><div><br></div><div>If no one is already building and testing on \
this device when new versions are coming out I'll be happy to do \
so.</div><div><br></div><div>--Jeff</div><div><br></div><div><br></div><div><br></div><div>On \
Thu, 2019-03-21 at 12:13 -0700, Jeffrey Cunningham wrote:</div><blockquote \
type="cite" style="margin:0 0 0 .8ex; border-left:2px #729fcf \
solid;padding-left:1ex"><pre>Thank you for your reply. The ARM has a working copy of \
SBCL on it (1.3.7.debian). Compiling only the C-code on the ARM is definitely what I \
had in mind. </pre><br><pre>It looks like calling "sh cross-make.sh head pi@.. \
/home/pi/src/lisp/sbcl" runs make-config.sh on the ARM which produces four files in \
it's output directory. But the scp command which follows only copies \
output/build-id.inc back to the host. The host didn't yet have an output directory, \
so that copy renamed the file to "output" instead of move it into the directory. Then \
make-host-1.sh tries to source output/build-config which doesn't exist. \
</pre><br><pre>So I figured there were two possibilities here: either the \
output/build-config should have been copied from the ARM to output on the host. Or \
more likely it should be the host's own build-config. So I'm guessing I needed to run \
make-config.sh on the host before calling the cross-make.sh script. This creates the \
output script on the host also, so more evidence this is correct. It has been running \
for about fifteen minutes now. We'll see how it goes.</pre><br><pre>Thanks \
again.</pre><br><pre>--Jeff</pre><br><br><pre>Re: [Sbcl-devel] Cross-compile for \
ARM</pre><pre>From: Douglas Katzman &lt;</pre><a \
href="mailto:dougk@go"><pre>dougk@go</pre></a><pre>...&gt; - 2019-03-20 \
19:08:10</pre><pre>Attachments: Message as HTML</pre><br><pre>I'll start with two \
observations:</pre><pre>1) cross-make might not do everything it should; it works for \
me but only</pre><pre>because the use-case for which cross-make was intended is that \
of the</pre><pre>target *already* having a working lisp \
implementation</pre><br><pre>2) the "real" recipe for cross-building is whatever the \
comments say in</pre><pre>'make.sh', except that even those are inadequate, as can be \
inferred by the</pre><pre>fact that 'cross-make' (when is works right) copies \
strictly more files</pre><pre>than the comments in 'make.sh' suggest need to be \
copied back and forth.</pre><br><pre>I choose not to do a fully native build on slow \
targets, but I let the</pre><pre>target generate its own config</pre><pre>The \
instructions in 'make.sh' say "carefully emulate that by hand"</pre><pre>You'd be \
best off paying attention to cross-make only in as much as seeing</pre><pre>what \
files it copies.</pre><br><pre>To answer your direct question: make-host-1 and \
make-host-2 are on the</pre><pre>machine doing the compiling of Lisp.  Only the C \
code should be compiled on</pre><pre>the ARM, unless you also have a C \
cross-compiler.</pre> \
<pre>_______________________________________________</pre><pre>Sbcl-devel mailing \
list</pre><a href="mailto:Sbcl-devel@lists.sourceforge.net"><pre>Sbcl-devel@lists.sourceforge.net</pre></a><pre><br></pre><a \
href="https://lists.sourceforge.net/lists/listinfo/sbcl-devel"><pre>https://lists.sour \
ceforge.net/lists/listinfo/sbcl-devel</pre></a><pre><br></pre></blockquote></body></html>






_______________________________________________
Sbcl-devel mailing list
Sbcl-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/sbcl-devel


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic