Skip to content

please switch to go.mod, can't compile the binary #8

Open
@chinglinwen

Description

@chinglinwen

kubernetes-podagent version: v0.1.6
go version: go version go1.18.2 linux/amd64

[wen@wendev01v kubernetes-podagent]$ gradle tasks
Starting a Gradle Daemon (subsequent builds will be faster)

FAILURE: Build failed with an exception.

* Where:
Build file '/home/wen/github/cnis/kubernetes-podagent/build.gradle' line: 18

* What went wrong:
Plugin [id: 'com.github.blindpirate.gogradle', version: '0.10.2'] was not found in any of the following sources:


# gogradle
wget https://github.com/gogradle/gogradle/releases/download/v0.11.4/gogradle-0.11.4-all.jar
sudo cp gogradle-0.11.4-all.jar /opt/gradle/gradle-7.5.1/lib/plugins/


[wen@wendev01v kubernetes-podagent]$ ./build.sh 
Building podagent
go: 'go install' requires a version when current directory is not in a module
        Try 'go install github.com/kaloom/kubernetes-podagent/podagent@latest' to install the latest version
[wen@wendev01v kubernetes-podagent]$ go install github.com/kaloom/kubernetes-podagent/podagent@latest
# unknown at revision



# cleanup retry
[wen@wendev01v kubernetes-podagent]$ sh build.sh 
build.sh: line 23: .: gradle.properties: file not found
[wen@wendev01v kubernetes-podagent]$ ./build.sh 
Building podagent
go: 'go install' requires a version when current directory is not in a module
        Try 'go install github.com/kaloom/kubernetes-podagent/podagent@latest' to install the latest version


[wen@wendev01v kubernetes-podagent]$ go install -ldflags '-X main.branch=v0.1.6 -X main.commit=3e4f7817 -X main.date=2022-08-23_08:08:12_+0000' github.com/kaloom/kubernetes-podagent/podagent
go: 'go install' requires a version when current directory is not in a module
        Try 'go install github.com/kaloom/kubernetes-podagent/podagent@latest' to install the latest version
[wen@wendev01v kubernetes-podagent]$ go install -ldflags '-X main.branch=v0.1.6 -X main.commit=3e4f7817 -X main.date=2022-08-23_08:08:12_+0000' podagent/
go: 'go install' requires a version when current directory is not in a module
        Try 'go install podagent/@latest' to install the latest version
[wen@wendev01v kubernetes-podagent]$ go build -ldflags '-X main.branch=v0.1.6 -X main.commit=3e4f7817 -X main.date=2022-08-23_08:08:12_+0000' podagent/
package podagent is not in GOROOT (/home/wen/soft/go/src/podagent)
[wen@wendev01v kubernetes-podagent]$ pwd
/home/wen/github/cnis/kubernetes-podagent

[wen@wendev01v cnis]$ ln -sf $PWD/kubernetes-podagent ~/gocode/src/
[wen@wendev01v cnis]$ ls -l ~/gocode/src/kubernetes-podagent
lrwxrwxrwx 1 wen wen 49 Aug 23 16:49 /home/wen/gocode/src/kubernetes-podagent -> /home/wen/github/cnis/kubernetes-podagent



export GO111MODULE=off


[wen@wendev01v kubernetes-podagent]$ go build -ldflags '-X main.branch=v0.1.6 -X main.commit=3e4f7817 -X main.date=2022-08-23_08:08:12_+0000' podagent/*.go
# command-line-arguments
podagent/main.go:82:46: cannot use kubeClient (variable of type *"k8s.io/client-go/kubernetes".Clientset) as type *"github.com/kaloom/kubernetes-podagent/vendor/k8s.io/client-go/kubernetes".Clientset in argument to controller.NewController


mv vendor/k8s.io/kubernetes{,.bak}
# go build still  error, can't find the gopath pkg


# retry go mod
[wen@wendev01v kubernetes-podagent]$         go get k8s.io/kubernetes/pkg/kubelet/dockershim/libdocker
go: module k8s.io/kubernetes@upgrade found (v1.24.4), but does not contain package k8s.io/kubernetes/pkg/kubelet/dockershim/libdocker


https://github.com/kubernetes/kubernetes/issues/90358#issuecomment-617859364
This is caused by depending on k8s.io/kubernetes directly as a library, which is not supported. The components intended to be used as libraries are published as standalone modules like k8s.io/api, k8s.io/apimachinery, k8s.io/client-go, etc, and can be referenced directly.


[wen@wendev01v kubernetes-podagent]$ go build 2>&1|grep 'go get'
        go get github.com/kaloom/kubernetes-podagent/controller
        go get k8s.io/kubernetes/pkg/kubelet/util
        go get k8s.io/kubernetes/pkg/kubelet/util/cache


go get github.com/kaloom/kubernetes-podagent/controller
go: downloading k8s.io/kubernetes/pkg/kubelet/dockershim/libdocker v1.23.10
go: reading k8s.io/kubernetes/pkg/kubelet/dockershim/libdocker/pkg/kubelet/dockershim/libdocker/go.mod at revision pkg/kubelet/dockershim/libdocker/v1.23.10: unknown revision pkg/kubelet/dockershim/libdocker/v1.23.10
[wen@wendev01v kubernetes-podagent]$


k8s.io/kubernetes/pkg/kubelet/dockershim/libdocker
# removed at k8s 1.24
using this one "github.com/Mirantis/cri-dockerd/libdocker"




[wen@wendev01v kubernetes-podagent]$ go mod init github.com/kaloom/kubernetes-podagent
go: creating new go.mod: module github.com/kaloom/kubernetes-podagent
go: to add module requirements and sums:
        go mod tidy
[wen@wendev01v kubernetes-podagent]$ ^C
[wen@wendev01v kubernetes-podagent]$ go get -v ./...
get "k8s.io/api": found meta tag vcs.metaImport{Prefix:"k8s.io/api", VCS:"git", RepoRoot:"https://github.com/kubernetes/api"} at //k8s.io/api?go-get=1
get "k8s.io/component-helpers": found meta tag vcs.metaImport{Prefix:"k8s.io/component-helpers", VCS:"git", RepoRoot:"https://github.com/kubernetes/component-helpers"} at //k8s.io/component-helpers?go-get=1
get "k8s.io/client-go": found meta tag vcs.metaImport{Prefix:"k8s.io/client-go", VCS:"git", RepoRoot:"https://github.com/kubernetes/client-go"} at //k8s.io/client-go?go-get=1
get "k8s.io/cluster-bootstrap": found meta tag vcs.metaImport{Prefix:"k8s.io/cluster-bootstrap", VCS:"git", RepoRoot:"https://github.com/kubernetes/cluster-bootstrap"} at //k8s.io/cluster-bootstrap?go-get=1
get "k8s.io/csi-translation-lib": found meta tag vcs.metaImport{Prefix:"k8s.io/csi-translation-lib", VCS:"git", RepoRoot:"https://github.com/kubernetes/csi-translation-lib"} at //k8s.io/csi-translation-lib?go-get=1
get "k8s.io/cloud-provider": found meta tag vcs.metaImport{Prefix:"k8s.io/cloud-provider", VCS:"git", RepoRoot:"https://github.com/kubernetes/cloud-provider"} at //k8s.io/cloud-provider?go-get=1
get "k8s.io/controller-manager": found meta tag vcs.metaImport{Prefix:"k8s.io/controller-manager", VCS:"git", RepoRoot:"https://github.com/kubernetes/controller-manager"} at //k8s.io/controller-manager?go-get=1
get "k8s.io/component-base": found meta tag vcs.metaImport{Prefix:"k8s.io/component-base", VCS:"git", RepoRoot:"https://github.com/kubernetes/component-base"} at //k8s.io/component-base?go-get=1
get "k8s.io/apiextensions-apiserver": found meta tag vcs.metaImport{Prefix:"k8s.io/apiextensions-apiserver", VCS:"git", RepoRoot:"https://github.com/kubernetes/apiextensions-apiserver"} at //k8s.io/apiextensions-apiserver?go-get=1
get "k8s.io/cri-api": found meta tag vcs.metaImport{Prefix:"k8s.io/cri-api", VCS:"git", RepoRoot:"https://github.com/kubernetes/cri-api"} at //k8s.io/cri-api?go-get=1
get "k8s.io/kube-controller-manager": found meta tag vcs.metaImport{Prefix:"k8s.io/kube-controller-manager", VCS:"git", RepoRoot:"https://github.com/kubernetes/kube-controller-manager"} at //k8s.io/kube-controller-manager?go-get=1
get "k8s.io/kube-aggregator": found meta tag vcs.metaImport{Prefix:"k8s.io/kube-aggregator", VCS:"git", RepoRoot:"https://github.com/kubernetes/kube-aggregator"} at //k8s.io/kube-aggregator?go-get=1
get "k8s.io/apimachinery": found meta tag vcs.metaImport{Prefix:"k8s.io/apimachinery", VCS:"git", RepoRoot:"https://github.com/kubernetes/apimachinery"} at //k8s.io/apimachinery?go-get=1
get "k8s.io/code-generator": found meta tag vcs.metaImport{Prefix:"k8s.io/code-generator", VCS:"git", RepoRoot:"https://github.com/kubernetes/code-generator"} at //k8s.io/code-generator?go-get=1
get "k8s.io/apiserver": found meta tag vcs.metaImport{Prefix:"k8s.io/apiserver", VCS:"git", RepoRoot:"https://github.com/kubernetes/apiserver"} at //k8s.io/apiserver?go-get=1
get "k8s.io/cli-runtime": found meta tag vcs.metaImport{Prefix:"k8s.io/cli-runtime", VCS:"git", RepoRoot:"https://github.com/kubernetes/cli-runtime"} at //k8s.io/cli-runtime?go-get=1
get "k8s.io/kube-proxy": found meta tag vcs.metaImport{Prefix:"k8s.io/kube-proxy", VCS:"git", RepoRoot:"https://github.com/kubernetes/kube-proxy"} at //k8s.io/kube-proxy?go-get=1
get "k8s.io/kube-scheduler": found meta tag vcs.metaImport{Prefix:"k8s.io/kube-scheduler", VCS:"git", RepoRoot:"https://github.com/kubernetes/kube-scheduler"} at //k8s.io/kube-scheduler?go-get=1
get "k8s.io/kubelet": found meta tag vcs.metaImport{Prefix:"k8s.io/kubelet", VCS:"git", RepoRoot:"https://github.com/kubernetes/kubelet"} at //k8s.io/kubelet?go-get=1
get "k8s.io/kubectl": found meta tag vcs.metaImport{Prefix:"k8s.io/kubectl", VCS:"git", RepoRoot:"https://github.com/kubernetes/kubectl"} at //k8s.io/kubectl?go-get=1
get "k8s.io/legacy-cloud-providers": found meta tag vcs.metaImport{Prefix:"k8s.io/legacy-cloud-providers", VCS:"git", RepoRoot:"https://github.com/kubernetes/legacy-cloud-providers"} at //k8s.io/legacy-cloud-providers?go-get=1
get "k8s.io/metrics": found meta tag vcs.metaImport{Prefix:"k8s.io/metrics", VCS:"git", RepoRoot:"https://github.com/kubernetes/metrics"} at //k8s.io/metrics?go-get=1
get "k8s.io/mount-utils": found meta tag vcs.metaImport{Prefix:"k8s.io/mount-utils", VCS:"git", RepoRoot:"https://github.com/kubernetes/mount-utils"} at //k8s.io/mount-utils?go-get=1
get "k8s.io/sample-apiserver": found meta tag vcs.metaImport{Prefix:"k8s.io/sample-apiserver", VCS:"git", RepoRoot:"https://github.com/kubernetes/sample-apiserver"} at //k8s.io/sample-apiserver?go-get=1
get "k8s.io/pod-security-admission": found meta tag vcs.metaImport{Prefix:"k8s.io/pod-security-admission", VCS:"git", RepoRoot:"https://github.com/kubernetes/pod-security-admission"} at //k8s.io/pod-security-admission?go-get=1
go: k8s.io/kubernetes@v1.20.4 requires
        k8s.io/api@v0.0.0: reading k8s.io/api/go.mod at revision v0.0.0: unknown revision v0.0.0


[wen@wendev01v kubernetes-podagent]$ go get -v k8s.io/kubernetes/pkg/kubelet/dockershim/libdocker
go: downloading k8s.io/kubernetes/pkg/kubelet/dockershim/libdocker v1.23.10
get "k8s.io/kubernetes/pkg/kubelet/dockershim/libdocker": found meta tag vcs.metaImport{Prefix:"k8s.io/kubernetes", VCS:"git", RepoRoot:"https://github.com/kubernetes/kubernetes"} at //k8s.io/kubernetes/pkg/kubelet/dockershim/libdocker?go-get=1
get "k8s.io/kubernetes/pkg/kubelet/dockershim/libdocker": verifying non-authoritative meta tag
go: k8s.io/kubernetes/pkg/kubelet/dockershim/libdocker: reading k8s.io/kubernetes/pkg/kubelet/dockershim/libdocker/pkg/kubelet/dockershim/libdocker/go.mod at revision pkg/kubelet/dockershim/libdocker/v1.23.10: unknown revision pkg/kubelet/dockershim/libdocker/v1.23.10

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions