Rapsberry pi B & VirtualBox crosscompile

Mark Millard markmi at dsl-only.net
Tue Nov 15 04:26:34 UTC 2016


On 2016-Nov-14, at 5:19 PM, peter garshtja <peter.garshtja at ambient-md.com> wrote:

> Hi Krzysztof,
> 
> If you want to build packages for your arm system on x86 arch then check it
> here https://github.com/PetruGarstea/FreePI/wiki/Building-FreePI-packages
> 
> However freebsd 11 unofficial supports arm pkg repository.
> 
> Regards,
> Peter
> 
> On Nov 14, 2016 19:25, "Krzysztof Kowalski" <krisik28 at gmail.com> wrote:
> 
>> Hello there,
>> In few days I will get my 'brand new' RPi B. I would like to have on it
>> FreeBSD 10.3-RELEASE and build ports on it. But as we know, it has low
>> processor power so best way to bulid packages is to use distcc.
>> My question is;
>> Will it works, if I'll use FreeBSD 10.3-RELEASE x84_64, started in
>> VirtualBox with few CPU, to distcc with RPi? I mention that RPi & VB will
>> be connected by crossover ethernet (no switch and only WiFi router at the
>> house where I'll configure RPi).
>> Thanks in advance, best regards,
>> Krzysztof

One gotcha to using the pkg repository for those that buildworld themselves with
options like -mcpu= (such as -mcpu=corex-a7 for an RPI2B <= V1.1) is that the
software support for instructions that are missing in armv6 but present on the
specific processor/architecture are not always put in place by buildworld.

This leads to some pure armv6 software (such as from the pkg repository) failing
for lack of routines in the more specialized buildworld context: Undefined symbols
that a just-armv6 buildworld would define.

If the policy were for buildworld to build the routines despite instructions being
available for the -mcpu= or other more specific context specified for buildworld
then more pkg's from the repository might work for the more targeted buildworld's.

As I remember pkg itself can have this issue for -mcpu= and the like. But in that
case pkg-static should work fine because it does not depend on the buildworld
libraries for such routines: they are already built in.

Overall this is somewhat related to the likes of lang/gcc6 based compiles targeting
just armv6 needing -rpath use to avoid failing for things that are "internal
support" (even for arithmetic), like:

/usr/local/lib/gcc6/libstdc++.so.6: Undefined symbol "__aeabi_uldivmod"

where /lib/libgcc_s.so.1 does not implement the routine (depending on how buildworld
was done?) but /usr/local/lib/gcc6/libgcc_s.so.1 does implement.

===
Mark Millard
markmi at dsl-only.net



More information about the freebsd-arm mailing list