-
Notifications
You must be signed in to change notification settings - Fork 17.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
cmd/go: install -linkshared invokes link commands for existing .so files since go1.10 #24034
Comments
@gopherbot please open a backport tracking issue, as this is a 1.10 regression, although just a performance one. |
Backport issue(s) opened: #25044 (for 1.10). Remember to create the cherry-pick CL(s) as soon as the patch is submitted to master, according to https://golang.org/wiki/MinorReleases. |
This isn't actually just a performance issue i believe. Currently this prevents users from running With go 1.10
Meanwhile go 1.9.4
|
Sorry but not going to get to this for Go 1.11. Linkshared is admittedly a mess. |
Congratulations for go1.12 launch, Go team. Do you think this linkShared related performance regression will be fixed in Go1.13? Now, go1.12 was released and I want to stop using go1.9 in the project. I would appreciate it if this bug is fixed in the near future. Thanks, |
Was this bug fixed in go 1.13 or 1.14? |
The bug still exists in 1.14.3 |
@rezaalavi yes, the issue is open. Please don't comment in the issue if this is all you have to add. |
being able to use golang in interactive notebooks is critical for both having people learn and teach go as well as build interactive science and quick prototypes and simulation, maybe the team can prioritize this regression a bit more? |
Obsoleted by #47788 |
What version of Go are you using (
go version
)?go version go1.10 linux/amd64
Does this issue reproduce with the latest release?
Yes
What operating system and processor architecture are you using (
go env
)?GOARCH="amd64"
GOBIN=""
GOCACHE="/home/yunabe/.cache/go-build"
GOEXE=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GOOS="linux"
GOPATH="/home/yunabe/local/gocode"
GORACE=""
GOROOT="/home/yunabe/go1.10"
GOTMPDIR=""
GOTOOLDIR="/home/yunabe/go1.10/pkg/tool/linux_amd64"
GCCGO="gccgo"
CC="gcc"
CXX="g++"
CGO_ENABLED="1"
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 -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build331277736=/tmp/go-build -gno-record-gcc-switches"
What did you do?
What did you expect to see?
The second
go install
command compiles context.a and link libgolang.org-x-net-context.so. It takes less than 1 sec to finish.What did you see instead?
From go1.10, the second
go install
runlink
command to createlibstd.so
thoughlibstd.so
already exists in -pkgdir.It makes the second
go install
command 3-4 times slower (0.77sec in go1.9.4 vs 2.8sec in go1.10)I debugged the behavior of go tools and it seems like
b.useCache
inlinkShared
returnsfalse
tolibstd.so
target (https://github.com/golang/go/blob/master/src/cmd/go/internal/work/exec.go#L1032).The text was updated successfully, but these errors were encountered: