-
Notifications
You must be signed in to change notification settings - Fork 141
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
linux amd64系统使用--static参数编译时,无法通过编译 #608
Comments
Please set CGO_ENABLED=1 in build.py and have a try
|
修改build.py文件,可以编译出静态文件
|
另外修改环境变量go 的环境变量CGO_LDFLAGS,增加静态链接标志-static也可以编译出静态文件
这种方式编译静态文件有更快的编译速度 |
Describe the bug(Bug 描述)
在x64 linux系统中使用参数--static 编译时,无法正常编译,提示
[INFO] build: CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -mod=mod -o /root/gemix/openGemini/build/ts-cli -a -installsuffix cgo -ldflags="-s -X github.com/openGemini/openGemini/app.Version=1.2.0 -X github.com/openGemini/openGemini/app.GitBranch=main -X github.com/openGemini/openGemini/app.GitCommit=ac2995079ff4ec00369f462623114b1c505e03e3" ./app/ts-cli
[ERROR] run: Command 'CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -mod=mod -o /root/gemix/openGemini/build/ts-cli -a -installsuffix cgo -ldflags="-s -X github.com/openGemini/openGemini/app.Version=1.2.0 -X github.com/openGemini/openGemini/app.GitBranch=main -X github.com/openGemini/openGemini/app.GitCommit=ac2995079ff4ec00369f462623114b1c505e03e3" ./app/ts-cli' failed with error: b'github.com/openGemini/openGemini/lib/util/lifted/encoding/lz4: build constraints exclude all Go files in /root/gemix/openGemini/lib/util/lifted/encoding/lz4\n'
python3 build.py --clean --release --static
To Reproduce(Bug 复现步骤)
如python3 build.py --clean --release --static
Expected behavior(期望结果)
正常编译
Screenshots(屏幕截图)
No response
Logs(完整的错误日志)
[root@dev openGemini]# python3 build.py --clean --release --static
[INFO] print_banner:
______ _ _
.' ___ | () ()
.--. _ .--. .---. _ .--. / .' _| .---. _ .--..--. __ _ .--. __
/ .'
\ \[ '/'
\ / /[.-. || | ____ / /__\[
.-. .-. | [ | [.-. | [ | | \__. | | \__/ || \__., | | | |\
.] || _., | | | | | | | | | | | | | |'..' | ;./ '..'[||]`..' '..'[||||][][||][]
[|
Build Script
[INFO] check_environ: Checking environment...
[INFO] check_prereqs: Checking for dependencies...
[INFO] build: Starting build for linux/amd64...
[INFO] build: Using Go version: 1.20.12
[INFO] build: Using git branch: main
[INFO] build: Using git commit: ac29950
[INFO] build: Using statically-compiled output.
[INFO] build: Sending build output to: /root/gemix/openGemini/build
[INFO] build: Cleaning build directory '/root/gemix/openGemini/build' before building.
[INFO] build: Using version '1.2.0' for build.
[INFO] build: Building target: ts-cli
[INFO] build: CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -mod=mod -o /root/gemix/openGemini/build/ts-cli -a -installsuffix cgo -ldflags="-s -X github.com/openGemini/openGemini/app.Version=1.2.0 -X github.com/openGemini/openGemini/app.GitBranch=main -X github.com/openGemini/openGemini/app.GitCommit=ac2995079ff4ec00369f462623114b1c505e03e3" ./app/ts-cli
[ERROR] run: Command 'CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -mod=mod -o /root/gemix/openGemini/build/ts-cli -a -installsuffix cgo -ldflags="-s -X github.com/openGemini/openGemini/app.Version=1.2.0 -X github.com/openGemini/openGemini/app.GitBranch=main -X github.com/openGemini/openGemini/app.GitCommit=ac2995079ff4ec00369f462623114b1c505e03e3" ./app/ts-cli' failed with error: b'github.com/openGemini/openGemini/lib/util/lifted/encoding/lz4: build constraints exclude all Go files in /root/gemix/openGemini/lib/util/lifted/encoding/lz4\n'
[INFO] write_to_gobuild: write to file
Traceback (most recent call last):
File "build.py", line 150, in run
out = subprocess.check_output(command, stderr=subprocess.STDOUT, shell=shell)
File "/usr/lib64/python3.6/subprocess.py", line 356, in check_output
**kwargs).stdout
File "/usr/lib64/python3.6/subprocess.py", line 438, in run
output=stdout, stderr=stderr)
subprocess.CalledProcessError: Command 'CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -mod=mod -o /root/gemix/openGemini/build/ts-cli -a -installsuffix cgo -ldflags="-s -X github.com/openGemini/openGemini/app.Version=1.2.0 -X github.com/openGemini/openGemini/app.GitBranch=main -X github.com/openGemini/openGemini/app.GitCommit=ac2995079ff4ec00369f462623114b1c505e03e3" ./app/ts-cli' returned non-zero exit status 1.
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "build.py", line 605, in
sys.exit(main(main_args))
File "build.py", line 496, in main
static=args.static):
File "build.py", line 398, in build
run(build_command, shell=True)
File "build.py", line 166, in run
write_to_gobuild(e.output)
File "build.py", line 410, in write_to_gobuild
f.write(content)
TypeError: write() argument must be str, not bytes
No response
Additional context(其他的一些补充内容)
无 --static 参数,可以编译成功
python3 build.py --clean --release
No response
The text was updated successfully, but these errors were encountered: