-
Notifications
You must be signed in to change notification settings - Fork 17.7k
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
misc/cgo/testcshared failure, linking to wrong libgo.so #17986
Labels
Comments
It seems to be caused by naming conflict with libgo.so provided by gccgo.
However, why is libgo.so from gccgo lacks a version in the file name?
|
It's normal to install a file named libgo.so, since the linker will look for an extension of ".so" when resolving a -lgo option. It will be a symlink to the real file with the version number. I'll add the |
CL https://golang.org/cl/33413 mentions this issue. |
hartzell
added a commit
to hartzell/spack
that referenced
this issue
Nov 19, 2016
Switched from pulling from the git repository to using the source tarballs and added digest values. Added support for 1.7.3, continued supporting 1.6.2, including patches for a couple of problems (details in [17545](golang/go#17545) and [17986](golang/go#17986). Dropped support for 1.5.4 and 1.4.2 because they no longer pass their tests and the patches above to not apply.
tgamblin
pushed a commit
to spack/spack
that referenced
this issue
Nov 24, 2016
* Update go-bootstrap package The last C based Go src tree was the 1.4 series. For a while they were cutting new releases so that people could bootstrap from a C only system. Now they're recommending that you either use the release-1.4 branch or that you use a date-stamped tarball that they'll produce on an as-needed basis. There are several issues that keep 1.4.2 from building on a CentOS 7 system. I've switched to the date based tarball. The cgo bits were also mis-behaving, but they're not needed for the bootstrapping task so I've set an environment variable that disables them. Details [on the install-from-source page](https://golang.org/doc/install/source#go14) and these issues: - golang/go#17545 - golang/go#16352. * Update go package Switched from pulling from the git repository to using the source tarballs and added digest values. Added support for 1.7.3, continued supporting 1.6.2, including patches for a couple of problems (details in [17545](golang/go#17545) and [17986](golang/go#17986). Dropped support for 1.5.4 and 1.4.2 because they no longer pass their tests and the patches above to not apply.
citibeth
pushed a commit
to citibeth/spack
that referenced
this issue
Dec 4, 2016
* Update go-bootstrap package The last C based Go src tree was the 1.4 series. For a while they were cutting new releases so that people could bootstrap from a C only system. Now they're recommending that you either use the release-1.4 branch or that you use a date-stamped tarball that they'll produce on an as-needed basis. There are several issues that keep 1.4.2 from building on a CentOS 7 system. I've switched to the date based tarball. The cgo bits were also mis-behaving, but they're not needed for the bootstrapping task so I've set an environment variable that disables them. Details [on the install-from-source page](https://golang.org/doc/install/source#go14) and these issues: - golang/go#17545 - golang/go#16352. * Update go package Switched from pulling from the git repository to using the source tarballs and added digest values. Added support for 1.7.3, continued supporting 1.6.2, including patches for a couple of problems (details in [17545](golang/go#17545) and [17986](golang/go#17986). Dropped support for 1.5.4 and 1.4.2 because they no longer pass their tests and the patches above to not apply.
hartzell
added a commit
to spack/spack
that referenced
this issue
Feb 7, 2017
[The fix](golang/go#17986) for the small buglet addressed by `misc-cgo-testcshared.patch` has been merged into the tree a while back. I was surprised to see that it wasn't in 1.7.5 and did a bit of digging. It is *has not* been merged into the 1.7 branch but it *has* been merged into 1.8 (and therefor the patch will no longer be necessary). Figured I'd document my digging for the next person to come along.
tgamblin
pushed a commit
to spack/spack
that referenced
this issue
Feb 8, 2017
[The fix](golang/go#17986) for the small buglet addressed by `misc-cgo-testcshared.patch` has been merged into the tree a while back. I was surprised to see that it wasn't in 1.7.5 and did a bit of digging. It is *has not* been merged into the 1.7 branch but it *has* been merged into 1.8 (and therefor the patch will no longer be necessary). Figured I'd document my digging for the next person to come along.
healther
pushed a commit
to electronicvisions/spack
that referenced
this issue
Feb 9, 2017
[The fix](golang/go#17986) for the small buglet addressed by `misc-cgo-testcshared.patch` has been merged into the tree a while back. I was surprised to see that it wasn't in 1.7.5 and did a bit of digging. It is *has not* been merged into the 1.7 branch but it *has* been merged into 1.8 (and therefor the patch will no longer be necessary). Figured I'd document my digging for the next person to come along.
diaena
pushed a commit
to diaena/spack
that referenced
this issue
May 26, 2017
[The fix](golang/go#17986) for the small buglet addressed by `misc-cgo-testcshared.patch` has been merged into the tree a while back. I was surprised to see that it wasn't in 1.7.5 and did a bit of digging. It is *has not* been merged into the 1.7 branch but it *has* been merged into 1.8 (and therefor the patch will no longer be necessary). Figured I'd document my digging for the next person to come along.
xavierandrade
pushed a commit
to xavierandrade/spack
that referenced
this issue
Jun 16, 2017
[The fix](golang/go#17986) for the small buglet addressed by `misc-cgo-testcshared.patch` has been merged into the tree a while back. I was surprised to see that it wasn't in 1.7.5 and did a bit of digging. It is *has not* been merged into the 1.7 branch but it *has* been merged into 1.8 (and therefor the patch will no longer be necessary). Figured I'd document my digging for the next person to come along.
amklinv
pushed a commit
to spack/spack
that referenced
this issue
Jul 17, 2017
[The fix](golang/go#17986) for the small buglet addressed by `misc-cgo-testcshared.patch` has been merged into the tree a while back. I was surprised to see that it wasn't in 1.7.5 and did a bit of digging. It is *has not* been merged into the 1.7 branch but it *has* been merged into 1.8 (and therefor the patch will no longer be necessary). Figured I'd document my digging for the next person to come along.
healther
pushed a commit
to electronicvisions/spack
that referenced
this issue
Jul 26, 2017
[The fix](golang/go#17986) for the small buglet addressed by `misc-cgo-testcshared.patch` has been merged into the tree a while back. I was surprised to see that it wasn't in 1.7.5 and did a bit of digging. It is *has not* been merged into the 1.7 branch but it *has* been merged into 1.8 (and therefor the patch will no longer be necessary). Figured I'd document my digging for the next person to come along.
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
TL;DR: I needed to change
libgo.so
to./libgo.so
on one line intest.bash
to makemisc/cgo/testcshared
pass and am looking for feedback.Please answer these questions before submitting your issue. Thanks!
What version of Go are you using (
go version
)?Building 1.7.3 with a go built from release-branch.go1.4
What operating system and processor architecture are you using (
go env
)?go env
output from the successful build mentioned below:I'm working in a DigitalOcean droplet based on their CentOS7 image with a minimal set of packages added. I've worked through the problem described in #16283 by adding the kernel boot flag. I also had to add
glibc-static
to my "minimal" set of packages so that the cgo static linking tests pass.What did you do?
I'm updating go packaging in the spack package manager.
I've updated their go-bootstrap package to use
release-branch.go1.4
instead of 1.4.2 to pick up Brad's timezone fix. I have not yet submitted a pull request to the spack project for this change (but will).I'm using that go-bootstrap package to build 1.7.3.
I've updated their go package to include an entry for the 1.7.3 tag.
The testing step has been failing in
misc/cgo/testcshared
with this message:After drilling down into the tests to the point where I was able to build the test itself and replicate the failure, I noticed that
testp
was linking against the "wrong"libgo.so
. When I added a"./"
to the shared library name, it linked against the "right"libgo.so
the test passed.If I patch the
test.bash
script like so:then I can build 1.7.3 successfully.
Since the 1.7.3 release has been in the wild for a while and I don't see any other issues about this I suspect it's related to the gymanstics that Spack does to support multiple installations of compilers and libraries and etc....
I'm inclined to add a patch to
test.bash
to Spack's install step (as above) but I'd like to get feedback from more experienced gophers first.Comments?
The text was updated successfully, but these errors were encountered: