[Vm-dev] Compiling squeak.cog.spur on Pi

Phil (list) pbpublist at gmail.com
Fri Jun 24 03:52:48 UTC 2016


On Thu, 2016-06-23 at 19:55 -0700, tim Rowledge wrote:
>  
> 
> > On 23-06-2016, at 7:35 PM, David T. Lewis <lewis at mail.msen.com>
> > wrote:
> > 
> > 
> > On Thu, Jun 23, 2016 at 10:19:23PM -0400, Phil (list) wrote:
> > > {snip}
> > > Yes, I ran into it as well... the build is hard-coded to build
> > > for the
> > > ARMv6 of the original Pi. ??Remove the line with the compiler
> > > flags??"-
> > > march=armv6 -mfpu=vfp -mfloat-abi=hard" in mvm. ??That fixed the
> > > issue
> > > for me for ARMv7 builds.
> > 
> > Phil,
> > 
> > Brilliant! I removed the -march=armv6 and it compiles now.\
> 
> That is both weird and in some sense wrong; Eliot & I use the armv6
> flag so far as  I know and don’t have this issue. I *did* have this
> problem a very long time ago though. The question is whether I can
> find any evidence of what I did to get  past it…
> 

IIRC, it has to do with the build of gcc that is installed for (most?)
ARMv7 distros.  Are you and Elliot using an armel or armhf based
installs or just the stock rpi install (which is ARMv6 hf I think)?
 Most of the ARM world (with the notable exception of rpi) is running
armhf these days which is where the problem seems to be (i.e. I was
able to build using the shipped mvm as-is on armel, but not armhf)

> First thing, try `sudo ./mvm`. If you’re using xrdp to connect to
> your Pi it makes some odd things happen to do with permissions.
> 
> And as for why changing that flag should have anything to do with the
> problem… frakkin’ insane unix nonsense yet again. Yup, the vm I built
> this lunchtime has the armv6 flag on. Built perfectly well aside from
> the sccs version number issue I mentioned before.
> 

The Linux world decided a while back that ARMv7 was the minimum for
hard float but then the rpi became a thing with its ARMv6 which, unlike
many/most other versions of the v6, included hard float.  So look at it
more as the Linux world viewing ARMv6 as being unsupported like the
Intel 486 or older (I think they even bumped that up to Pentium
recently)... i.e. it's unsupported by default on modern distros, but of
course you can still build a custom distro that supports it as they did
for the Pi.  So this puts the original Pi in the odd position of being
unsupported by any of the armhf distros where the Pi 2 and later can
run most of them.  But running a non-Raspberry armhf distro likely also
means that you have this issue of not being able to build ARMv6
binaries.


More information about the Vm-dev mailing list