zr-hebo/sniffer-agent

编译报错

Closed this issue · 7 comments

centos 7.4
go 1.13.15
go build main.go 输出如上图 是因为什么
image

执行 go env,查看一下 GO111MODULE变量状态,如果 GO111MODULE="on",设置成 off,go env -w GO111MODULE=off,然后再执行 build命令。

谢谢 我这边通过go 1.12版本编译成功啦

谢谢 我这边通过go 1.12版本编译成功啦

我这边的编译环境是 go1.16.7,也可以的,不用客气

@zr-hebo

我这里不行


go version  
go version go1.17.1 darwin/arm64

go env | grep GO111MODULE
GO111MODULE="off

go build           
# github.com/zr-hebo/sniffer-agent/capture
../github.com/zr-hebo/sniffer-agent/capture/network.go:52:48: undefined: pcapgo.EthernetHandle
../github.com/zr-hebo/sniffer-agent/capture/network.go:53:18: undefined: pcapgo.NewEthernetHandle
../github.com/zr-hebo/sniffer-agent/capture/network.go:59:15: cannot assign error to err in multiple assignment

好像之前也提过这个issues 呢
google/gopacket#745

@zr-hebo

我这里不行


go version  
go version go1.17.1 darwin/arm64

go env | grep GO111MODULE
GO111MODULE="off

go build           
# github.com/zr-hebo/sniffer-agent/capture
../github.com/zr-hebo/sniffer-agent/capture/network.go:52:48: undefined: pcapgo.EthernetHandle
../github.com/zr-hebo/sniffer-agent/capture/network.go:53:18: undefined: pcapgo.NewEthernetHandle
../github.com/zr-hebo/sniffer-agent/capture/network.go:59:15: cannot assign error to err in multiple assignment

好像之前也提过这个issues 呢 google/gopacket#745

这个应该是没有安装 libpcap包,可以参考 Readme或者自行搜索在对应的系统上安装 libpcap包,然后再试试。

@zr-hebo
我这里不行


go version  
go version go1.17.1 darwin/arm64

go env | grep GO111MODULE
GO111MODULE="off

go build           
# github.com/zr-hebo/sniffer-agent/capture
../github.com/zr-hebo/sniffer-agent/capture/network.go:52:48: undefined: pcapgo.EthernetHandle
../github.com/zr-hebo/sniffer-agent/capture/network.go:53:18: undefined: pcapgo.NewEthernetHandle
../github.com/zr-hebo/sniffer-agent/capture/network.go:59:15: cannot assign error to err in multiple assignment

好像之前也提过这个issues 呢 google/gopacket#745

这个应该是没有安装 libpcap包,可以参考 Readme或者自行搜索在对应的系统上安装 libpcap包,然后再试试。

当前系统是macOS,并且已经安装了

https://formulae.brew.sh/formula/libpcap

brew install libpcap

Warning: libpcap 1.10.1 is already installed and up-to-date.
To reinstall 1.10.1, run:
  brew reinstall libpcap

@zr-hebo
我这里不行


go version  
go version go1.17.1 darwin/arm64

go env | grep GO111MODULE
GO111MODULE="off

go build           
# github.com/zr-hebo/sniffer-agent/capture
../github.com/zr-hebo/sniffer-agent/capture/network.go:52:48: undefined: pcapgo.EthernetHandle
../github.com/zr-hebo/sniffer-agent/capture/network.go:53:18: undefined: pcapgo.NewEthernetHandle
../github.com/zr-hebo/sniffer-agent/capture/network.go:59:15: cannot assign error to err in multiple assignment

好像之前也提过这个issues 呢 google/gopacket#745

这个应该是没有安装 libpcap包,可以参考 Readme或者自行搜索在对应的系统上安装 libpcap包,然后再试试。

当前系统是macOS,并且已经安装了

https://formulae.brew.sh/formula/libpcap

brew install libpcap

Warning: libpcap 1.10.1 is already installed and up-to-date.
To reinstall 1.10.1, run:
  brew reinstall libpcap

不好意思之前草率了,pcap包在 MacOS下使用有点问题:https://github.com/google/gopacket/issues/514,我做了适配,最新版在 MacOS下可以了。