Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 15 Dec 2017 19:05:24 +0100
From:      Jan Beich <jbeich@FreeBSD.org>
To:        Alexey Dokuchaev <danfe@FreeBSD.org>
Cc:        svn-ports-head@freebsd.org, svn-ports-all@freebsd.org, clusteradm@FreeBSD.org, ports-committers@freebsd.org
Subject:   Re: svn commit: r456402 - in head/lang/ocaml: . files
Message-ID:  <y3m3-hnob-wny@FreeBSD.org>
In-Reply-To: <20171215173736.GA92502@FreeBSD.org> (Alexey Dokuchaev's message of "Fri, 15 Dec 2017 17:37:36 %2B0000")
References:  <201712151531.vBFFV86t045131@repo.freebsd.org> <20171215170122.GA55820@FreeBSD.org> <d13f-kial-wny@FreeBSD.org> <20171215173736.GA92502@FreeBSD.org>

next in thread | previous in thread | raw e-mail | index | archive | help
Alexey Dokuchaev <danfe@FreeBSD.org> writes:

> On Fri, Dec 15, 2017 at 06:33:22PM +0100, Jan Beich wrote:
>
>> Alexey Dokuchaev <danfe@FreeBSD.org> writes:
>> > On Fri, Dec 15, 2017 at 03:31:08PM +0000, Alexey Dokuchaev wrote:
>> >
>> >> New Revision: 456402
>> >> URL: https://svnweb.freebsd.org/changeset/ports/456402
>> > ...
>> > I don't know why as(1), as /usr/bin/as typically, is not installed on
>> > ref11-aarch64.freebsd.org.  If that is by design, how assembler is called
>> > on FreeBSD/aarch64?  If it's not installed by default on aarch64, may
>> > I ask clusteradm@ (CC'ed) to install `devel/binutils' on ref11-aarch64 so
>> > I can proceed with porting `lang/ocaml' there?
>> 
>> FreeBSD aarch64 uses integrated assembler from Clang. If asm files are
>> compatible you can s/${AS} ${ASFLAGS}/${CC} -Wa,${ASFLAGS:ts,}/
>> However, I'm surprised you're testing in a dirty environment instead of:
>> 
>>   # -x (native-xtools) before FreeBSD 12.0 requires /usr/src to match jail
>>   $ svn checkout https://svn.freebsd.org/base/releng/11.1 /usr/src
>>   $ poudriere jail -cxj 111aarch64 -a arm64.aarch64 -v 11.1-RELEASE
>>   $ poudriere bulk -Ctj 111aarch64 lang/ocaml
>> 
>> or
>> 
>>   $ poudriere jail -cxj head-aarch64 -a arm64.aarch64 -v head -m svn+https
>>   $ poudriere bulk -Ctj head-aarch64 lang/ocaml
>
> Doesn't poudriere require root?

poudriere itself - yes, ports building - no (see BUILD_AS_NON_ROOT).

> I don't have my own aarch64 hardware;

Neither do I. poudriere can also be used interactively e.g.,

  $ poudriere testport -ij 111aarch64 lang/ocaml.

if you want to investigate more and don't have a ready fix yet.

> all I can use is ref*-aarch64.freebsd.org, and only as an unprivileged user.

poudriere can use qemu-user (at least on i386 and amd64) to emulate
aarch64, armv6, armv7, mips, mips64. However, emulation is slow thus
native-xtools are used to speed up the build via statically-linked host
binaries[1] for target architecture under /nxb-bin prepended in PATH.

EuroBSDCon 2014 had some presentations about this by sbruno and bapt:
https://www.youtube.com/watch?v=2J9Lz3pgnbA
https://www.youtube.com/watch?v=JfZIoyQhly4

--
[1] currently only those built as part of base e.g., sh, tar, cc, ld.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?y3m3-hnob-wny>