-
Notifications
You must be signed in to change notification settings - Fork 47
Open
Description
Environment:
- go version go1.13 linux/amd64
- docker version 20.10.10
make docker
Failure happens:
Successfully tagged hyperledger/forkbase:latest
docker tag hyperledger/forkbase hyperledger/forkbase:amd64-0.4.15
Building .build/docker/bin/peer
-lpthread" github.com/hyperledger/fabric/peer && cp -r /usr/local/share/ustore_release.alpha/* /usr/external/ustore_build/: -c: line 0: unexpected EOF while looking for matching `"'
-lpthread" github.com/hyperledger/fabric/peer && cp -r /usr/local/share/ustore_release.alpha/* /usr/external/ustore_build/: -c: line 1: syntax error: unexpected end of file
It turns out to happen here:
$(BUILD_DIR)/docker/bin/peer: $(PROJECT_FILES) forkbase-docker
@echo "Building $@"
@mkdir -p $(BUILD_DIR)/docker/bin \
$(BUILD_DIR)/docker/peer/pkg \
$(BUILD_DIR)/docker/peer/ustore_build
@$(DRUN) \
-v $(abspath $(BUILD_DIR)/docker/bin):/opt/gopath/bin \
-v $(abspath $(BUILD_DIR)/docker/peer/pkg):/opt/gopath/pkg \
-v $(abspath $(BUILD_DIR)/docker/peer/ustore_build):/usr/external/ustore_build \
$(BASE_DOCKER_NS)/forkbase:$(BASE_DOCKER_TAG) \
/bin/bash -c \
'cd /provdb && make go lib_dasl && cd /opt/gopath/src/$(PKGNAME) && CGO_LDFLAGS="-lprovdb_dasl -lustore" CGO_CXXFLAGS="-std=c++11 -I/provdb/src" go install -tags "$(GO_TAGS)" -ldflags "$(DOCKER_GO_LDFLAGS)" $(pkgmap.$(@F)) && cp -r /usr/local/share/ustore_release.alpha/* /usr/external/ustore_build/'
@touch $@
After I add a statement
@echo "$(DOCKER_GO_LDFLAGS)"
@echo "--------\n$(pkgmap.$(@F))\n---------"
The result is:
-X github.com/hyperledger/fabric/common/metadata.Version=1.4.2 -X github.com/hyperledger/fabric/common/metadata.CommitSHA=5ae1a18ad -X github.com/hyperledger/fabric/common/metadata.BaseVersion=0.4.15 -X github.com/hyperledger/fabric/common/metadata.BaseDockerLabel=org.hyperledger.fabric -X github.com/hyperledger/fabric/common/metadata.DockerNamespace=hyperledger -X github.com/hyperledger/fabric/common/metadata.BaseDockerNamespace=hyperledger -linkmode external -extldflags '-static -lpthread'
--------
github.com/hyperledger/fabric/peer
---------
And I changed the DOCKER_GO_LDFLAGS defined in docker-env.mk from
ifeq ($(DOCKER_DYNAMIC_LINK),false)
DOCKER_GO_LDFLAGS += -linkmode external -extldflags '-static -lpthread'
endif
to
ifeq ($(DOCKER_DYNAMIC_LINK),false)
DOCKER_GO_LDFLAGS += -linkmode external -extldflags "-static -lpthread"
endif
Another error reported:
cd /opt/gopath/src/ustore && swig -go -cgo -c++ -intgosize 64 -outdir /opt/gopath/src/ustore ustore.i
g++-4.8 -std=c++11 -fPIC -o src/status.o -c src/status.cc
g++-4.8 -std=c++11 -fPIC -D GO_USE_DASL -o src/db_dasl.o -c src/db.cc
g++-4.8 -std=c++11 -fPIC -shared -o /usr/local/share/ustore_release.alpha/lib/libprovdb_dasl.so src/status.o src/db_dasl.o
flag provided but not defined: -lpthread
usage: go install [-i] [build flags] [packages]
Run 'go help install' for details.
make: *** [Makefile:243: .build/docker/bin/peer] Error 2
Why args of -lpthread is left blank?
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels