Skip to content

import cycle not allowed #40721

@oyb001

Description

@oyb001

Environment:

Minikube version (use minikube version): master@50a8c9824a7610c954043e041ddb6c078d9d756d

OS : MacOS Mojave 10.14.6 (18G103)
Go Env

szitdeMacBook-Pro-oyb:minikube-master ouyangbin$ go version
go version go1.13.12 darwin/amd64
szitdeMacBook-Pro-oyb:minikube-master ouyangbin$ 
szitdeMacBook-Pro-oyb:minikube-master ouyangbin$ echo $GOROOT;echo $GOPATH; go env
/usr/local/go
/Users/ouyangbin/Workspace/dev/golang
GO111MODULE="on"
GOARCH="amd64"
GOBIN=""
GOCACHE="/Users/ouyangbin/Library/Caches/go-build"
GOENV="/Users/ouyangbin/Library/Application Support/go/env"
GOEXE=""
GOFLAGS=""
GOHOSTARCH="amd64"
GOHOSTOS="darwin"
GONOPROXY=""
GONOSUMDB=""
GOOS="darwin"
GOPATH="/Users/ouyangbin/Workspace/dev/golang"
GOPRIVATE=""
GOPROXY="https://goproxy.io"
GOROOT="/usr/local/go"
GOSUMDB="sum.golang.org"
GOTMPDIR=""
GOTOOLDIR="/usr/local/go/pkg/tool/darwin_amd64"
GCCGO="gccgo"
AR="ar"
CC="clang"
CXX="clang++"
CGO_ENABLED="1"
GOMOD="/Users/ouyangbin/Downloads/source_code/minikube-master/go.mod"
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -m64 -pthread -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fdebug-prefix-map=/var/folders/7y/26pq3xkj5j53nl4b5m85s76wzr8ttw/T/go-build476488165=/tmp/go-build -gno-record-gcc-switches -fno-common"
szitdeMacBook-Pro-oyb:minikube-master ouyangbin$ 
What happened: make failed with the following error

GOROOT=/usr/local/go #gosetup
GOPATH=/Users/ouyangbin/Workspace/dev/golang #gosetup
/usr/local/go/bin/go build -o /Users/ouyangbin/Downloads/source_code/minikube-master/go_build_main_go /Users/ouyangbin/Downloads/source_code/minikube-master/cmd/minikube/main.go #gosetup
import cycle not allowed
package main
	imports k8s.io/minikube/cmd/minikube/cmd
	imports k8s.io/minikube/cmd/minikube/cmd/config
	imports k8s.io/minikube/pkg/addons
	imports k8s.io/minikube/pkg/addons/gcpauth
	imports k8s.io/minikube/pkg/minikube/assets
	imports k8s.io/minikube/pkg/minikube/config
	imports k8s.io/minikube/pkg/drivers/kic/oci
	imports k8s.io/minikube/pkg/minikube/out
	imports k8s.io/minikube/pkg/minikube/translate
	imports k8s.io/minikube/pkg/minikube/assets

Compilation finished with exit code 1

What you expected to happen: make to succeed

How to reproduce it (as minimally and precisely as possible): Follow the build guide, and when attempting make it will fail with the above error.

I have search all code by IDE, I believe have not doing any cyclic import, and the error you're getting is a compiler bug,
the follow two file have import "k8s.io/minikube/cmd/minikube/cmd", but that two file package is main

cmd/minikube/cmd/main.go
hack/help_text/gen_help_text.go

Metadata

Metadata

Assignees

No one assigned

    Labels

    FrozenDueToAgeWaitingForInfoIssue is not actionable because of missing required information, which needs to be provided.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions