【发布时间】:2019-02-16 00:33:09
【问题描述】:
在发布了几篇帖子(this 和 this)之后,我正在尝试从 RPi 3 上的源代码构建 CockroachDB。
我的树莓派设置:
- 操作系统:2018-06-27-raspbian-stretch
- CPU:ARMv7 rev 4(v71)
- 内存:1G + SWAP:1.5G
- Go 版本:go1.11 linux/arm
我在“制作”时修复了一些关于 3rd 方库的错误,但现在我陷入了困境:
pi@raspberrypi:~/work/go/src/github.com/cockroachdb/cockroach $ make build TAGS='stdmalloc' -j2
GOPATH set to /home/pi/work/go
go build -o cockroach -v -tags 'stdmalloc make arm_linux_gnueabihf_stdmalloc' -ldflags '-X github.com/cockroachdb/cockroach/pkg/build.typ=development -extldflags "" -X "github.com/cockroachdb/cockroach/pkg/build.tag=v2.2.0-alpha.00000000-668-gf76d921f42-dirty" -X "github.com/cockroachdb/cockroach/pkg/build.rev=f76d921f4262356fde83312d0f471262d995f1e0" -X "github.com/cockroachdb/cockroach/pkg/build.cgoTargetTriple=arm-linux-gnueabihf" -X "github.com/cockroachdb/cockroach/pkg/build.utcTime=2018/09/11 12:47:32"' ./pkg/cmd/cockroach
panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x0 pc=0x2372b8]
goroutine 1 [running]:
runtime/internal/atomic.goLoad64(0x3d65bdc, 0x0, 0x5607a20)
/usr/local/go/src/runtime/internal/atomic/atomic_arm.go:124 +0x1c
github.com/cockroachdb/cockroach/pkg/util/humanizeutil.(*BytesValue).String(0x55fb578, 0x5607a01, 0x56d9ea0)
/home/pi/work/go/src/github.com/cockroachdb/cockroach/pkg/util/humanizeutil/humanize.go:109 +0x28
github.com/cockroachdb/cockroach/pkg/cli.(*bytesOrPercentageValue).String(0x57b4920, 0x56d9ea0, 0x7)
/home/pi/work/go/src/github.com/cockroachdb/cockroach/pkg/cli/flags_util.go:492 +0x20
github.com/cockroachdb/cockroach/vendor/github.com/spf13/pflag.(*FlagSet).VarPF(0x54d3a00, 0x25cf778, 0x57b4920, 0x1ef3864, 0xe, 0x0, 0x0, 0x56d2900, 0x169, 0x56d9ea0)
/home/pi/work/go/src/github.com/cockroachdb/cockroach/vendor/github.com/spf13/pflag/flag.go:778 +0x24
github.com/cockroachdb/cockroach/vendor/github.com/spf13/pflag.(*FlagSet).VarP(0x54d3a00, 0x25cf778, 0x57b4920, 0x1ef3864, 0xe, 0x0, 0x0, 0x56d2900, 0x169)
/home/pi/work/go/src/github.com/cockroachdb/cockroach/vendor/github.com/spf13/pflag/flag.go:786 +0x5c
github.com/cockroachdb/cockroach/pkg/cli.VarFlag(0x54d3a00, 0x25cf778, 0x57b4920, 0x1ef3864, 0xe, 0x0, 0x0, 0x0, 0x0, 0x1fa4462, ...)
/home/pi/work/go/src/github.com/cockroachdb/cockroach/pkg/cli/flags.go:129 +0x6c
github.com/cockroachdb/cockroach/pkg/cli.init.5()
/home/pi/work/go/src/github.com/cockroachdb/cockroach/pkg/cli/flags.go:324 +0x6c0
Makefile:1288: recipe for target 'docs/generated/settings/settings.html' failed
make: *** [docs/generated/settings/settings.html] Error 2
make: *** Deleting file 'docs/generated/settings/settings.html'
有什么想法可能是错的吗?
【问题讨论】:
-
没有代码可看,即使不是不可能,也很难回答。如果您只是在不熟悉代码的情况下尝试构建其他人的项目并遇到问题,请联系项目维护人员和/或向他们提交错误报告。
-
看什么代码,它是用 Golang 编写的,它有 50Mb 的源代码并使用了大约 50 个第三方库。这个问题与从源代码构建它有关,它是一个开源......如果你没有这个开源项目的XP,请在之前询问......
-
这就像说给我QT的源代码,我想看看它的问题在哪里..它是一个开源软件,你可以在各种平台上构建它......跨度>
-
但是如果你对代码不熟悉,如果你问的是构建问题而没有底层代码问题的概念,你基本上是在要求社区阅读 50MB 的源代码你。这就是为什么我建议改为联系项目的维护者而不是 SO。
-
请注意,堆栈跟踪会向您显示错误所在的位置:
/home/pi/work/go/src/github.com/cockroachdb/cockroach/pkg/util/humanizeutil/humanize.go:109。这看起来像是该程序中的一个错误,并且可能在他们的问题跟踪器上得到更好的报告。
标签: go raspberry-pi raspbian cockroachdb