lwch / natpass

🔥居家办公,远程开发神器

Home Page:https://lwch.gitbook.io/natpass/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

编译出错

uriddle opened this issue · comments

执行 build_all ,在编译 linux amd64 时出错,详细日志如下:
代码分支 v0.8.3

`natpass git:(heads/v0.8.3) ✗ ./build_all
[+] Building 3.3s (7/7) FINISHED
=> [internal] load build definition from Dockerfile 0.0s
=> => transferring dockerfile: 37B 0.0s
=> [internal] load .dockerignore 0.0s
=> => transferring context: 2B 0.0s
=> [internal] load metadata for docker.io/library/debian:stable-slim 3.2s
=> [1/3] FROM docker.io/library/debian:stable-slim@sha256:091320245c2637337fc612baf22430ec1735fd395e2c97e2c90136137d156f63 0.0s
=> CACHED [2/3] WORKDIR /build 0.0s
=> CACHED [3/3] RUN sed -i "s|deb.debian.org|mirrors.ustc.edu.cn|g" /etc/apt/sources.list && sed -i "s|security.debian.org|mirrors.ustc.edu.cn|g" /etc/apt/sources.list && 0.0s
=> exporting to image 0.0s
=> => exporting layers 0.0s
=> => writing image sha256:02faaa823400e4098f801bf50b212737f81314da3cbe5348d46615083e9cd7de 0.0s
=> => naming to docker.io/library/natpass 0.0s

Use 'docker scan' to run Snyk tests against images to find vulnerabilities and learn how to fix them
2022/03/07 08:44:13 [INFO]go env...
GO111MODULE=""
GOARCH="amd64"
GOBIN=""
GOCACHE="/root/.cache/go-build"
GOENV="/root/.config/go/env"
GOEXE=""
GOEXPERIMENT=""
GOFLAGS=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GOINSECURE=""
GOMODCACHE="/root/go/pkg/mod"
GONOPROXY=""
GONOSUMDB=""
GOOS="linux"
GOPATH="/root/go"
GOPRIVATE=""
GOPROXY="https://goproxy.cn,direct"
GOROOT="/usr/local/go"
GOSUMDB="sum.golang.org"
GOTMPDIR=""
GOTOOLDIR="/usr/local/go/pkg/tool/linux_amd64"
GOVCS=""
GOVERSION="go1.17.7"
GCCGO="gccgo"
AR="ar"
CC="gcc"
CXX="g++"
CGO_ENABLED="1"
GOMOD="/build/go.mod"
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -m64 -pthread -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build3024449258=/tmp/go-build -gno-record-gcc-switches"
2022/03/07 08:44:35 [INFO]build target linux/amd64...
2022/03/07 08:44:36 [INFO]build server...
2022/03/07 08:44:41 [INFO]build client...
# github.com/lwch/rdesktop/keycode
/usr/bin/ld: skipping incompatible /usr/lib/i386-linux-gnu/libX11.so when searching for -lX11
/usr/bin/ld: skipping incompatible /usr/lib/i386-linux-gnu/libX11.a when searching for -lX11
/usr/bin/ld: cannot find -lX11
/usr/bin/ld: skipping incompatible /usr/lib/i386-linux-gnu/libX11.so when searching for -lX11
collect2: error: ld returned 1 exit status
panic: exit status 2

goroutine 1 [running]:
github.com/lwch/runtime.Assert(...)
/root/go/pkg/mod/github.com/lwch/runtime@v0.0.0-20190520054850-8c97e19e0c6d/assert.go:6
main.build({{0x4f09db, 0x5}, {0x4f0972, 0x5}, {0x0, 0x0}, {0x0, 0x0}, {0x0, 0x0}, ...})
/build/contrib/build/build_all.go:207 +0x132f
main.main()
/build/contrib/build/build_all.go:114 +0x305
exit status 2`

commented

微信截图_20220307101255

linux环境下编译和运行依赖于libx11,请检查Dockerfile中是否包含该依赖库的安装

你好 @lwch ,我是使用容器环境编译,且dockerfile 文件未修改过,libx11好像是没有正确的被检索,编译 amd64 的时候,也是搜索到 386 包下的 libx11。以下是容器环境的截图

image

commented

我这边是x86_64-linux-gnu和i386-linux-gnu两个目录,请问你这边的宿主机是arm架构的吗?

对的,我的宿主机mac 是arm64 架构的

commented

arm环境下的build_all脚本尚未测试,不过你可以尝试使用以下命令直接在宿主机上直接编译arm版本的np-svr和np-cli,编译成功后可执行文件将会生成在bin目录下

BUILD_VERSION=0.8.3 ./contrib/build/build

好的,谢谢您的建议。另外在我修改dockerfile文件之后,已经成功安装amd64的,且能通过编译打包了。

image

commented

好的,谢谢您的建议。另外在我修改dockerfile文件之后,已经成功安装amd64的,且能通过编译打包了。

image

收到已添加 👍 👍 👍

commented

fixed: #29