首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Raspberry pi 1 model B中为FreeBSD交叉编译go应用程序

如何在Raspberry pi 1 model B中为FreeBSD交叉编译go应用程序
EN

Stack Overflow用户
提问于 2016-09-24 23:43:20
回答 1查看 2.3K关注 0票数 1

Raspberry Pi 1 model B上,我使用SD卡镜像RPI-B安装了FreeBSD 10.3

我可以启动,获取网络,ssh到其中,等等,所有似乎都是正常的和功能。这是dmesg输出的一部分:

代码语言:javascript
复制
FreeBSD 10.3-RELEASE #0 r297264: Fri Mar 25 08:01:14 UTC 2016
    root@releng1.nyi.freebsd.org:/usr/obj/arm.armv6/usr/src/sys/RPI-B arm
FreeBSD clang version 3.4.1 (tags/RELEASE_34/dot1-final 208032) 20140512
VT: init without driver.
CPU: ARM1176JZ-S rev 7 (ARM11J core)
 Supported features: ARM_ISA THUMB2 JAZELLE ARMv4 Security_Ext
 WB enabled LABT branch prediction enabled
  16KB/32B 4-way instruction cache
  16KB/32B 4-way write-back-locking-C data cache
real memory  = 503312384 (479 MB)
avail memory = 483127296 (460 MB)

在装有go 1.7.1的mac os X (10.11.6)上:

代码语言:javascript
复制
go version go1.7.1 darwin/amd64

我正在交叉编译这段代码:

代码语言:javascript
复制
package main

import (
        "fmt"
        "time"
)

func main() {
        t := time.Now().UTC()
        fmt.Println("Location:", t.Location(), ":Time:", t.Format(time.RFC3339Nano))
}

通过以下方式:

代码语言:javascript
复制
env GOOS=freebsd GOARCH=arm go build

在raspberry-pi上运行生成的二进制文件会生成一个核心转储:

代码语言:javascript
复制
freebsd@rpi-b:~ % ./time 
Illegal instruction (core dumped)

time.core上键入以下命令后:

代码语言:javascript
复制
$ strings time.core

除了许多字符之外,我还看到了这个:

代码语言:javascript
复制
fatal error: cgo callback before cgo call

你知道如何使用什么标志,或者如何在树莓派中正确地交叉编译FreeBSD吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-09-26 01:54:00

感谢@putu评论,我可以使用GOARM=6进行交叉编译

代码语言:javascript
复制
env GOOS=freebsd GOARCH=arm GOARM=6 go build
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39678131

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档