go-sqlite3交叉编译问题
2019-11-10 10:33
2091 查看
由于go-sqlite3是使用cgo来编写的,cgo是不可以进行交叉编译的,自己需要将mac上编写的代码部署到linux上时无法编译问题,搜索了资料后发现可以通过docker的方式来实现,在mac上安装好docker并拉取golang的镜像执行命令进行编译 ---我本地go版本为1.12.7所以我下载了golang的1.12.13这个镜像
docker run --rm -it -v /Users/Snake/go:/go golang:1.12.13 bash -c 'cd $GOPATH/src/go-iot && go build'
编译通过后把执行文件放到linux服务器上执行结果报错了
/lib64/libc.so.6: version `GLIBC_2.28' not found
原因是libc版本的问题,由于我的linux服务器为centos 7 最多只支持2.17版本的libc
# strings /lib64/libc.so.6 |grep GLIBC_ GLIBC_2.2.5 GLIBC_2.2.6 GLIBC_2.3 GLIBC_2.3.2 GLIBC_2.3.3 GLIBC_2.3.4 GLIBC_2.4 GLIBC_2.5 GLIBC_2.6 GLIBC_2.7 GLIBC_2.8 GLIBC_2.9 GLIBC_2.10 GLIBC_2.11 GLIBC_2.12 GLIBC_2.13 GLIBC_2.14 GLIBC_2.15 GLIBC_2.16 GLIBC_2.17 GLIBC_PRIVATE
在不想升级libc的情况下有没有办法可以解决这个问题,想了想这个可能是因为golang 1.12.13这个镜像的libc本身就很高的原因,如果使用低版本的镜像会不会就可以了,抱着这个想法重新换一个golang镜像这次我使用golang 1.10版本的
docker run --rm -it -v /Users/Snake/go:/go golang:1.10 bash -c 'cd $GOPATH/src/go-iot && go build'
编译成功后上传到linux服务器上执行成功
相关文章推荐
- Go 编译sqlite3 遇到的问题 + 加快go IDE编译速度
- 关于SQLite3 编译及交叉编译的一些问题 (2012-12-11 16:22:18)
- 关于SQLite3 编译及交叉编译的一些问题
- 关于SQLite3 编译及交叉编译的一些问题
- radvd移植到arm交叉编译问题解决
- 开源项目交叉编译问题
- sqlite3编译静态库遇到的问题
- matlab r2014a 和vs产品交叉编译问题
- 搭建嵌入式交叉环境编译出现的问题
- 全志A33交叉编译环境搭建-64位编译问题
- Go语言的交叉编译
- DM365交叉编译问题总结
- mini2440交叉编译工具安装及使用过程中可能会遇到的问题及解决办法
- redhat下搭建交叉编译环境一个问题
- boa 0.94.13 交叉编译的问题
- 使用docker 发布的go编译的程序无法执行的问题
- iconv-go升级过程中的编译问题
- 关于Qt交叉编译过程中出现的collect2: ld returned 1 exit status问题的解决方案
- 交叉编译找不到stdio.h头文件,make menuconfig问题解决办法
- PJSIP2.0使用以及交叉编译存在问题解决