Bug 1017186
Summary: | docker not built with proper build flags for version | ||
---|---|---|---|
Product: | [Fedora] Fedora | Reporter: | Matthew Miller <mattdm> |
Component: | docker-io | Assignee: | Lokesh Mandvekar <lsm5> |
Status: | CLOSED CURRENTRELEASE | QA Contact: | Fedora Extras Quality Assurance <extras-qa> |
Severity: | unspecified | Docs Contact: | |
Priority: | unspecified | ||
Version: | 19 | CC: | alexl, jkeck, jpoimboe, lsm5, mattdm, mgoldman |
Target Milestone: | --- | ||
Target Release: | --- | ||
Hardware: | Unspecified | ||
OS: | Unspecified | ||
Whiteboard: | |||
Fixed In Version: | Doc Type: | Bug Fix | |
Doc Text: | Story Points: | --- | |
Clone Of: | Environment: | ||
Last Closed: | 2013-12-03 13:14:59 UTC | Type: | Bug |
Regression: | --- | Mount Type: | --- |
Documentation: | --- | CRM: | |
Verified Versions: | Category: | --- | |
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
Cloudforms Team: | --- | Target Upstream Version: | |
Embargoed: |
Description
Matthew Miller
2013-10-09 11:57:55 UTC
I'm seeing same issue in docker-io-0.7-0.7.rc3.fc21. I was hoping for some feedback from upstream but haven't heard. In the meantime, I think we should use $GITCOMIIT/%{release} so that it comes out like Docker version 0.6.3, build b0a49a3/4.fc20 Docker upstream has confirmed that the above is good. So: LDFLAGS="-X main.GITCOMMIT %{shortcommit}/%{release} -X main.VERSION %{version} -w" add -ldflags "$LDFLAGS" to the 'go build' line. This also adds -w, to disable building with debugging in the executable which isn't working with debuginfo anyway. I didn't include -d -- that should only go on the dockerinit build line. (It isn't, currently.) Alex: adding -d to dockerinit build gives this: # github.com/dotcloud/docker/dockerinit /usr/lib64/golang/pkg/tool/linux_amd64/6l: $WORK/net.a(_cgo_import.6): cannot use dynamic imports with -d flag /usr/lib64/golang/pkg/tool/linux_amd64/6l: $WORK/runtime/cgo.a(_cgo_import.6): cannot use dynamic imports with -d +flag sigprocmask(0): not defined fwrite(0): not defined stderr(0): not defined sigfillset(0): not defined setenv(0): not defined fprintf(0): not defined abort(0): not defined malloc(0): not defined pthread_attr_init(0): not defined strerror(0): not defined pthread_create(0): not defined pthread_attr_getstacksize(0): not defined pthread_attr_destroy(0): not defined free(0): not defined __errno_location(0): not defined .got(0): not defined getaddrinfo(0): not defined gai_strerror(0): not defined freeaddrinfo(0): not defined too many errors error: Bad exit status from /var/tmp/rpm-tmp.u6baml (%build) Lokesh: I think with go 1.1 you can't build a static binary that uses the "net" module without building a version of go with cgo completely disabled. In go 1.2 this will be possible with the "-tags netgo" argument to go. I think shipping a dynamic dockerinit that links to libc (but nothing else) will have to do for now unfortunately. This is now fixed in 0.7.0-14 or similar, closing. $ docker -v Docker version 0.7.0, build 0ff9bc1/0.7.0 |