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

Eliot Miranda eliot.miranda at gmail.com
Fri Jun 24 17:00:03 UTC 2016



> On Jun 24, 2016, at 6:36 AM, David T. Lewis <lewis at mail.msen.com> wrote:
> 
> 
>> On Thu, Jun 23, 2016 at 11:52:48PM -0400, Phil (list) wrote:
>> 
>>> 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)
> 
> Also regarding the gcc version, it looks like the configure script is
> getting rather old. I see this in my config log:
> 
> g++: error: unrecognized command line option '-V'
> 
> This apparently had no ill effect on the build for Pi, but it's important
> because I think that the -V option has gone away in recent gcc versions,
> and that is what prevented me from being able to build Cog/Spur on my
> Intel Ubuntu laptop. I ran out of patience trying to rebuild the
> autotools configuration, and that is what finally prompted me to buy
> this Raspberry Pi :-)

With the architecture I've set up one should not attempt to rebuild the autotools configuration in a normal build.  You don't need to to add or remove plugins or to choose a specific VM.  You only need to when adding new configuration options, or a radically new directory hierarchy, or, as I did this week, changed the generated config.h to include VM_TARGET_CPU et al to replace the bogus VM_HOST_CPU (compiling an x86 vm on an x64 host should not produce a vm that claims to be an x64).

So just use mvm.  If you need to edit it, do so, all the levers you need are in
    mvm
    plugins.int
    plugins. ext
Part of the idea is to get away from the time consuming hell of running autoconf.

Anyway, soon we'll have gum makefiles for Linux, to match the other platforms, and this insanity will be history.

> 
> So ... I think that somebody with more patience than me is going to
> need to update the autotools build one of these days.
> 
> Dave
> 


More information about the Vm-dev mailing list