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>