Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 25 Nov 2016 17:31:07 +0100
From:      diffusae <punasipuli@t-online.de>
To:        freebsd-arm@freebsd.org
Subject:   Re: Rapsberry pi B & VirtualBox crosscompile
Message-ID:  <8f1fee66-7521-1053-0cac-5a3c70a2c9ec@t-online.de>
In-Reply-To: <A6AB9BE3-71B2-4850-B259-9C89F0714890@dsl-only.net>
References:  <CACYFquPqH4NpX54UTWuAU7aiZ_Mr=NEyxaJh%2BVvvvypwLgT6wA@mail.gmail.com> <CALFUBVGfXB0d_mTtOAE_bCkN25aFk5=_biFQsdHo5=UZn9WJ0w@mail.gmail.com> <A6AB9BE3-71B2-4850-B259-9C89F0714890@dsl-only.net>

next in thread | previous in thread | raw e-mail | index | archive | help
Hi!

I've tried to build a local pkg repository with poudriere and
qemu-arm-static on amd64 for armv6 32bit (RPI-B). I am using FreeBSD
11.0-STABLE on both architectures. The build system runs in a VirtualBox
environment. For the most packages it works well and with the
native-xtools it's also quite fast. But there are some package which
won't be build anyway. Unfortunately with package dependencies I like to
build. For now, I've recognized it for the following packages: m4,
ruby22 and gcc, which has a memory exhausted error, the other packages
hang on configure (qemu-arm-static conftest) on different checks:

lang/gcc
(process:87381): GLib-ERROR (recursed) **: gmem.c:166: failed to
allocate 32 bytes{standard input}: Assembler messages:

This looks like a problem to build 32bit binaries on 64bit architecture,
but I am not sure.

devel/m4
checking for working C stack overflow detection... yes

lang/ruby22
checking for broken backtrace... make: Working in: /usr/ports/lang/ruby22

I can manually skip the the tests, if I modify the configure script and
the packages will be build. Also, if use gcc to compile ruby22
(USE_GCC?= yes) the package will be build. But I don't know how set a
variable in make.conf or Makefile to disable the specific configure
checks, so poudriere will run automatically with it.

I am not sure, if my setup is correct.

Thanks a lot

Regards,

On 15.11.2016 03:39, Mark Millard wrote:
> 
> 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
> 
> _______________________________________________
> freebsd-arm@freebsd.org mailing list
> https://lists.freebsd.org/mailman/listinfo/freebsd-arm
> To unsubscribe, send any mail to "freebsd-arm-unsubscribe@freebsd.org"
> 



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?8f1fee66-7521-1053-0cac-5a3c70a2c9ec>