Date: Tue, 10 Dec 2019 01:34:15 +1100 From: Scott Aitken <freebsd-lists-5@thismonkey.com> To: freebsd-questions@freebsd.org Subject: Re: freebsd-questions Digest, Vol 809, Issue 1 Message-ID: <20191209143415.GA22252@thismonkey.com> In-Reply-To: <mailman.105.1575892802.31988.freebsd-questions@freebsd.org> References: <mailman.105.1575892802.31988.freebsd-questions@freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
> Scott Aitken <freebsd-lists-5@thismonkey.com> writes: > > >> Scott Aitken <freebsd-lists-5@thismonkey.com> writes: > >> > >> > Hi, > >> > > >> > So I wanted to install dns/dnscrypt-proxy2 on my Raspberry Pi running FreeBSD > >> > 12.0-RELEASE r341666 GENERIC arm. > >> > > >> > There's no package version, so I tried compiling. Unfortunately that didn't > >> > work as the Go dependency ran out of RAM compiling. And there's no package > >> > for Go... > >> > > >> > So I fired up a VM and installed ports-mgmt/poudriere. Set it all up and > >> > added dns/dnscrypt-proxy2 to my shopping list... > >> > > >> > Unfortunately it skipped lang/go: > >> > > >> > Code: > >> > [00:01:14] [01] [00:00:00] Building lang/go | go-1.13.4,1 > >> > [00:01:16] [01] [00:00:02] Finished lang/go | go-1.13.4,1: Ignored: fails to > >> > build with qemu-user-static > >> > [00:01:16] [01] [00:00:02] Skipping dns/dnscrypt-proxy2 | > >> > dnscrypt-proxy2-2.0.31_1: Dependent port lang/go | go-1.13.4,1 ignored > >> > > >> > Apparently Go 1.3 won't compile under the emulator (see PR 221297 for some > >> > background. > >> > > >> > Is it possible for go to cross-compile for arm on amd64? > >> > >> I don't know about cross-compiling, but I have built go from source on a > >> Raspberry Pi 2. In my case I was running 12.1-RELEASE, and I built > >> go-1.13.1,1 about 2 weeks ago. My typescript file doesn't show any > >> errors, and time showed a 28 minute build time and another 15 minutes to > >> create a binary package. That was after installing the go14 binary > >> package. > >> > >> -- > >> Carl Johnson carlj@peak.org > >> > > Hi Carl, > > > > I had no luck as I said. I killed every daemon I could and simply saw the > > memory in top approach zero after about 3 minutes into the build, and then > > the core dump. > > > > Other than OS and compiler options (of which I'm using the default) I can't > > think of why you had success whereas I didn't. > > > > This is my dmesg - are you using the same platform? > > > > FreeBSD 12.0-RELEASE r341666 GENERIC arm > > FreeBSD clang version 6.0.1 (tags/RELEASE_601/final 335540) (based on LLVM 6.0.1) > > VT: init without driver. > > CPU: ARM Cortex-A7 r0p5 (ECO: 0x00000000) > > CPU Features: > > Multiprocessing, Thumb2, Security, Virtualization, Generic Timer, VMSAv7, > > PXN, LPAE, Coherent Walk > > Optional instructions: > > SDIV/UDIV, UMULL, SMULL, SIMD(ext) > > LoUU:2 LoC:3 LoUIS:2 > > Cache level 1: > > 32KB/64B 4-way data cache WB Read-Alloc Write-Alloc > > 32KB/32B 2-way instruction cache Read-Alloc > > Cache level 2: > > 512KB/64B 8-way unified cache WB Read-Alloc Write-Alloc > > real memory = 0 (0 MB) > > avail memory = 957149184 (912 MB) > > No PSCI/SMCCC call function found > > FreeBSD/SMP: Multiprocessor System Detected: 4 CPUs > > I am running 12.1-RELEASE instead of the 12.0-RELEASE that you are > running, so that used LLVM 8.0.1 instead of LLVM 6.0.1, but otherwise my > dmesg is the same. I had actually used pkg to install go14 instead of > building it, and my understanding is that go builds using go14. The > other possibility I can think of is that maybe you are using -j4 or > similar with make, but I didn't. You might want to try an explicit -j1 > when building go to see if that works. > > I just realized that I had about 1.8GB of swap, so you might need to > setup a swap file or partition. I doubt that I used anything close to > that 1.8GB, but I never looked to see how much. > > I hope that helps. > -- > Carl Johnson carlj@peak.org Unfortunately I'm using an SD image from the FreeBSD website which doesn't have a swap partition, and then chews up any free space with 'growfs' on first boot. (Something to remember for next time - add swap before growfs runs). So I don't have any swap. I had forgotten about that when I first posted. (I could plug in a USB stick for swap). Still if anyone has had success in cross-compiling in Go for arm I'd I'd love to know. Scott
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20191209143415.GA22252>