Skip to content

Commit f0e3522

Browse files
committed
Fix memory plugin build
easyjson does not work with main packages. Workaround changing the package name as suggested in mailru/easyjson#236 Some code has been moved from skydive to graffity: common.Getter Clean and update gomod: k8s deps should be added with replace, kubernetes/kubernetes#79384 Same problem with networkservicemesh viper is not being used add skydive as dep, not local replace Once compiled it fails to run with skydive because problems with the Go plugin framework. The error is: plugin was built with a different version of package golang.org/x/sys/unix golang/go#20481 golang/go#27751
1 parent bd73132 commit f0e3522

File tree

7 files changed

+916
-271
lines changed

7 files changed

+916
-271
lines changed

memory/.gitignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
memory.so
2+
memory_easyjson.go
3+
memory_gendecoder.go

memory/Makefile

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,17 @@ export GO111MODULE?=on
33
include $(abspath ../.mk/easyjson.mk)
44
include $(abspath ../.mk/gendecoder.mk)
55

6-
memory.so: genlocalfiles
6+
memory.so: clean easyjson_issue_236 genlocalfiles
7+
sed -i 's/^package mainissue236$$/package main/' *.go
78
go build -buildmode=plugin ./...
89

9-
.PHONY: genlocalfiles
10+
# Does not work with main package
11+
# https://github.com/mailru/easyjson/issues/236
12+
easyjson_issue_236:
13+
sed -i 's/^package main$$/package mainissue236/' *.go
14+
15+
clean:
16+
rm -f memory_easyjson.go memory_gendecoder.go
17+
18+
.PHONY: genlocalfiles easyjson_issue_236 clean
1019
genlocalfiles: .gendecoder .easyjson

memory/go.mod

Lines changed: 52 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,58 @@
1-
module github.com/skydive-project/skydive-plugins
1+
module github.com/skydive-project/skydive-plugins/memory
2+
3+
go 1.14
24

35
require (
4-
github.com/mailru/easyjson v0.7.0
5-
github.com/shirou/gopsutil v0.0.0-20180111024713-6a368fb7cd12
6-
github.com/skydive-project/skydive v0.0.0-20191009170754-872a2c0bfd34
7-
github.com/spf13/viper v1.4.0
6+
github.com/juju/clock v0.0.0-20190205081909-9c5c9712527c // indirect
7+
github.com/juju/errors v0.0.0-20190806202954-0232dcc7464d // indirect
8+
github.com/juju/retry v0.0.0-20180821225755-9058e192b216 // indirect
9+
github.com/juju/testing v0.0.0-20190723135506-ce30eb24acd2 // indirect
10+
github.com/juju/utils v0.0.0-20180820210520-bf9cc5bdd62d // indirect
11+
github.com/juju/version v0.0.0-20180108022336-b64dbd566305 // indirect
12+
github.com/mailru/easyjson v0.7.1
13+
github.com/networkservicemesh/networkservicemesh v0.1.0 // indirect
14+
github.com/shirou/gopsutil v2.18.12+incompatible
15+
github.com/skydive-project/skydive v0.26.1-0.20200514162914-4521c89fa0ac
16+
golang.org/x/sys v0.0.0-20200515095857-1151b9dac4a9 // indirect
17+
golang.org/x/tools v0.0.0-20200519015757-0d0afa43d58a // indirect
818
)
919

1020
replace (
11-
github.com/skydive-project/skydive => /home/safchain/code/gocode/src/github.com/skydive-project/skydive
12-
github.com/spf13/viper v1.4.0 => github.com/lebauce/viper v0.0.0-20190903114911-3b7a98e30843
13-
golang.org/x/sys => golang.org/x/sys v0.0.0-20190412213103-97732733099d
14-
golang.org/x/tools => golang.org/x/tools v0.0.0-20190925230517-ea99b82c7b93
21+
// Solve: github.com/census-instrumentation/[email protected]: invalid pseudo-version: version before v0.1.0 would have negative patch number
22+
github.com/census-instrumentation/opencensus-proto v0.1.0-0.20181214143942-ba49f56771b8 => github.com/census-instrumentation/opencensus-proto v0.0.3-0.20181214143942-ba49f56771b8
23+
24+
// https://github.com/networkservicemesh/networkservicemesh/issues/2157
25+
github.com/networkservicemesh/networkservicemesh => github.com/networkservicemesh/networkservicemesh v0.0.0-20191017074247-aa5815869b2c
26+
github.com/networkservicemesh/networkservicemesh/controlplane => github.com/networkservicemesh/networkservicemesh/controlplane v0.0.0-20191017074247-aa5815869b2c
27+
github.com/networkservicemesh/networkservicemesh/controlplane/api => github.com/networkservicemesh/networkservicemesh/controlplane/api v0.0.0-20191017074247-aa5815869b2c
28+
github.com/networkservicemesh/networkservicemesh/dataplane => github.com/networkservicemesh/networkservicemesh/dataplane v0.0.0-20191017074247-aa5815869b2c
29+
github.com/networkservicemesh/networkservicemesh/dataplane/api => github.com/networkservicemesh/networkservicemesh/dataplane/api v0.0.0-20191017074247-aa5815869b2c
30+
github.com/networkservicemesh/networkservicemesh/k8s => github.com/networkservicemesh/networkservicemesh/k8s v0.0.0-20191017074247-aa5815869b2c
31+
github.com/networkservicemesh/networkservicemesh/k8s/api => github.com/networkservicemesh/networkservicemesh/k8s/api v0.0.0-20191017074247-aa5815869b2c
32+
github.com/networkservicemesh/networkservicemesh/pkg => github.com/networkservicemesh/networkservicemesh/pkg v0.0.0-20191017074247-aa5815869b2c
33+
github.com/networkservicemesh/networkservicemesh/sdk => github.com/networkservicemesh/networkservicemesh/sdk v0.0.0-20191017074247-aa5815869b2c
34+
github.com/networkservicemesh/networkservicemesh/utils => github.com/networkservicemesh/networkservicemesh/utils v0.0.0-20191017074247-aa5815869b2c
35+
36+
// https://github.com/kubernetes/kubernetes/issues/79384
37+
k8s.io/api => k8s.io/api v0.16.9
38+
k8s.io/apiextensions-apiserver => k8s.io/apiextensions-apiserver v0.16.9
39+
k8s.io/apimachinery => k8s.io/apimachinery v0.16.9
40+
k8s.io/apiserver => k8s.io/apiserver v0.16.9
41+
k8s.io/cli-runtime => k8s.io/cli-runtime v0.16.9
42+
k8s.io/client-go => k8s.io/client-go v0.16.9
43+
k8s.io/cloud-provider => k8s.io/cloud-provider v0.16.9
44+
k8s.io/cluster-bootstrap => k8s.io/cluster-bootstrap v0.16.9
45+
k8s.io/code-generator => k8s.io/code-generator v0.16.9
46+
k8s.io/component-base => k8s.io/component-base v0.16.9
47+
k8s.io/cri-api => k8s.io/cri-api v0.16.9
48+
k8s.io/csi-translation-lib => k8s.io/csi-translation-lib v0.16.9
49+
k8s.io/kube-aggregator => k8s.io/kube-aggregator v0.16.9
50+
k8s.io/kube-controller-manager => k8s.io/kube-controller-manager v0.16.9
51+
k8s.io/kube-proxy => k8s.io/kube-proxy v0.16.9
52+
k8s.io/kube-scheduler => k8s.io/kube-scheduler v0.16.9
53+
k8s.io/kubectl => k8s.io/kubectl v0.16.9
54+
k8s.io/kubelet => k8s.io/kubelet v0.16.9
55+
k8s.io/legacy-cloud-providers => k8s.io/legacy-cloud-providers v0.16.9
56+
k8s.io/metrics => k8s.io/metrics v0.16.9
57+
k8s.io/sample-apiserver => k8s.io/sample-apiserver v0.16.9
1558
)

0 commit comments

Comments
 (0)