我正在驱动编译用于太阳能/ SPARC环境的项目文件。正式地,Solaris不支持Elastic工具。
Neamoins,对此问题有规避措施,可以通过gccgo进行编译。我实际上准备了我的gccgo编译器。我可以编译一个小项目(使用单个文件hello.go),如下所示。但是,一旦我尝试编译filebeat项目,它就无法工作。可能是依赖的问题。我不太了解。如果有人可以帮助我。谢谢
Commande:构建--compiler gccgo --gccgoflags“ -v -static-libgo -Wl,-dy -lnsl -lsocket -lrt -lsendfile”
示例1:
xxxx@ubuntu:~/Documents/GCC$ cat hello.go
package main
import "fmt"
func main() {
fmt.Println("hello world")
}
morosus@ubuntu:~/Documents/GCC$ gccgo -m64 -v -static-libgo -o hello hello.go
-Wl,-dy -lnsl -lsocket -lrt -lsendfile
Using built-in specs.
COLLECT_GCC=gccgo
COLLECT_LTO_WRAPPER=/opt/cross/libexec/gcc/sparc-sun-solaris2.10/8.1.0/lto-wrapper
Target: sparc-sun-solaris2.10
elf64_sparc
COLLECT_GCC_OPTIONS='-m64' '-v' '-o' 'hello' '-shared-libgcc'
xxxxxx@ub
效果很好 但是
示例2
xxxx@ubuntu:~/go/src/github.com/elastic/beats/filebeat$ go build --compiler gccgo --gccgoflags "-v -static-libgo -Wl,-dy -lnsl -lsocket -lrt -lsendfile"
# github.com/elastic/beats/libbeat/plugin
../libbeat/plugin/load.go:25:2: error: import file ‘plugin’ not found
goplugin "plugin"
^
../libbeat/plugin/load.go:29:12: error: reference to undefined name ‘goplugin’
p, err := goplugin.Open(path)
^
# github.com/elastic/beats/vendor/github.com/elastic/go-seccomp-bpf
../vendor/github.com/elastic/go-seccomp-bpf/seccomp_linux.go:59:22: error: reference to undefined identifier ‘syscall.SockFprog’
program := &syscall.SockFprog{
那就是我被困住的地方
谢谢