Bug 1256525 - include golang shared objects in the build
include golang shared objects in the build
Status: CLOSED ERRATA
Product: Fedora
Classification: Fedora
Component: golang (Show other bugs)
rawhide
Unspecified Unspecified
unspecified Severity unspecified
: ---
: ---
Assigned To: Vincent Batts
Fedora Extras Quality Assurance
:
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2015-08-24 16:05 EDT by Vincent Batts
Modified: 2015-10-01 16:23 EDT (History)
8 users (show)

See Also:
Fixed In Version: golang-1.5.1-0.fc22 golang-1.5.1-0.el6 golang-1.5.1-0.fc21
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2015-10-01 14:51:12 EDT
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)

  None (edit)
Description Vincent Batts 2015-08-24 16:05:57 EDT
Golang produces static binaries for go code. As of go1.5, it supports producing and using shared objects.

Let's include this libstd.so in an RPM for folks to use.

https://github.com/jbuberel/buildmodeshared has examples with build info.
Comment 1 Jan Chaloupka 2015-08-25 03:04:08 EDT
Can't wait to start playing with it :). One step closer to easier security fixes.

Wondering, if we could start providing lib subpackage for each golang package for F23 and higher.

Vincent, what would be the common directory for all golang shared libraries? /usr/lib64? What about naming convention? As there are no releases usually. goNAMElib.so.0 perhaps? Still would like to have git commit in the library name as with each update unique name is required. goNAME-GITCOMMIT-lib.so.0 perhaps?
Comment 2 Vincent Batts 2015-08-25 09:14:41 EDT
the golang stdlib will live in /usr/lib/golang/pkg/linux_$GOARCH_dynlink/ and the third party libraries will be something in $LD_LIBRARY_PATH (like /usr/lib64 etc) or $GOPATH IIUC.
Comment 3 Vincent Batts 2015-08-26 10:45:41 EDT
ugh. blocker on upstream support for shared objects on linux/386.
```
Installed Go for linux/386 in /builddir/build/BUILD/go
Installed commands in /builddir/build/BUILD/go/bin
The binaries expect /builddir/build/BUILD/go to be copied or moved to /usr/lib/golang
~/build/BUILD/go
+ popd
++ pwd
+ GOROOT=/builddir/build/BUILD/go
++ pwd
+ PATH=/builddir/build/BUILD/go/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/sbin
+ go install -buildmode=shared std
-buildmode=shared not supported on linux/386
error: Bad exit status from /var/tmp/rpm-tmp.Q7Ah8Q (%build)
```
http://koji.fedoraproject.org/koji/buildinfo?buildID=680176

Not that I want to ship shared objects only for linux/amd64 ...
Perhaps they could go into their own subpackage, that only linux/amd64 provides?
Comment 4 Vincent Batts 2015-08-26 15:10:10 EDT
asked upstream https://groups.google.com/d/msg/golang-dev/OWlZYhGmfRk/4MLGTr29DQAJ

then opened the issue upstream https://github.com/golang/go/issues/12346
Comment 5 Jan Chaloupka 2015-08-27 03:10:18 EDT
> Not that I want to ship shared objects only for linux/amd64 ...
> Perhaps they could go into their own subpackage, that only linux/amd64 
> provides?

It could be a start. Plus introduce shared_lib_arches macro in go-srpm-macros.
Comment 6 Vincent Batts 2015-08-27 09:27:54 EDT
> It could be a start. Plus introduce shared_lib_arches macro in
> go-srpm-macros.

ah right. then we'll be a bit safe guarded for arm64, ppc64 etc. as those get bootstrapped.
Comment 7 Fedora Update System 2015-09-03 09:43:32 EDT
golang-1.5-6.fc22 has been submitted as an update to Fedora 22. https://bodhi.fedoraproject.org/updates/FEDORA-2015-14970
Comment 8 Fedora Update System 2015-09-03 09:46:33 EDT
golang-1.5-6.fc21 has been submitted as an update to Fedora 21. https://bodhi.fedoraproject.org/updates/FEDORA-2015-14972
Comment 9 Fedora Update System 2015-09-04 02:53:08 EDT
golang-1.5-6.fc21 has been pushed to the Fedora 21 testing repository. If problems still persist, please make note of it in this bug report.\nIf you want to test the update, you can install it with \n su -c 'yum --enablerepo=updates-testing update golang'. You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2015-14972
Comment 10 Fedora Update System 2015-09-04 03:29:44 EDT
golang-1.5-6.fc22 has been pushed to the Fedora 22 testing repository. If problems still persist, please make note of it in this bug report.\nIf you want to test the update, you can install it with \n su -c 'yum --enablerepo=updates-testing update golang'. You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2015-14970
Comment 11 Fedora Update System 2015-09-04 11:47:42 EDT
golang-1.5-6.el6 has been pushed to the Fedora EPEL 6 testing repository. If problems still persist, please make note of it in this bug report.\nIf you want to test the update, you can install it with \n su -c 'yum --enablerepo=updates-testing update golang'. You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2015-7912
Comment 12 Fedora Update System 2015-09-04 19:20:13 EDT
golang-1.5-8.fc22 has been pushed to the Fedora 22 testing repository. If problems still persist, please make note of it in this bug report.\nIf you want to test the update, you can install it with \n su -c 'yum --enablerepo=updates-testing update golang'. You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2015-15108
Comment 13 Fedora Update System 2015-09-11 11:31:26 EDT
golang-1.5.1-0.fc21 has been submitted as an update to Fedora 21. https://bodhi.fedoraproject.org/updates/FEDORA-2015-15618
Comment 14 Fedora Update System 2015-09-11 11:31:38 EDT
golang-1.5.1-0.el6 has been submitted as an update to Fedora EPEL 6. https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2015-8044
Comment 15 Fedora Update System 2015-09-11 11:31:51 EDT
golang-1.5.1-0.fc22 has been submitted as an update to Fedora 22. https://bodhi.fedoraproject.org/updates/FEDORA-2015-15619
Comment 16 Fedora Update System 2015-09-12 23:49:21 EDT
golang-1.5.1-0.fc21 has been pushed to the Fedora 21 testing repository. If problems still persist, please make note of it in this bug report.\nIf you want to test the update, you can install it with \n su -c 'yum --enablerepo=updates-testing update golang'. You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2015-15618
Comment 17 Fedora Update System 2015-09-13 00:20:30 EDT
golang-1.5.1-0.fc22 has been pushed to the Fedora 22 testing repository. If problems still persist, please make note of it in this bug report.\nIf you want to test the update, you can install it with \n su -c 'yum --enablerepo=updates-testing update golang'. You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2015-15619
Comment 18 Fedora Update System 2015-09-13 21:50:40 EDT
golang-1.5.1-0.el6 has been pushed to the Fedora EPEL 6 testing repository. If problems still persist, please make note of it in this bug report.\nIf you want to test the update, you can install it with \n su -c 'yum --enablerepo=updates-testing update golang'. You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2015-8044
Comment 19 Fedora Update System 2015-10-01 14:50:52 EDT
golang-1.5.1-0.fc22 has been pushed to the Fedora 22 stable repository. If problems still persist, please make note of it in this bug report.
Comment 20 Fedora Update System 2015-10-01 14:56:28 EDT
golang-1.5.1-0.el6 has been pushed to the Fedora EPEL 6 stable repository. If problems still persist, please make note of it in this bug report.
Comment 21 Fedora Update System 2015-10-01 16:22:52 EDT
golang-1.5.1-0.fc21 has been pushed to the Fedora 21 stable repository. If problems still persist, please make note of it in this bug report.

Note You need to log in before you can comment on or make changes to this bug.