首页 > 系统相关 >mac下golang打包到Linux上执行报错:No such file or directory

mac下golang打包到Linux上执行报错:No such file or directory

时间:2024-01-12 16:00:48浏览次数:29  
标签:x86 No atmp golang 报错 file linux go 64

本地mac打包golang二进制文件到linux服务器报错:

-bash: ./atmp-linux: No such file or directory

很奇怪,明明可执行文件在当前目录下,为什么会找不到呢? 使用列出动态库依赖的lld(list dynamic dependencies)命令查看了下,发现:

ldd atmp-linux

发现报错:

./atmp-linux: error while loading shared libraries: /lib64/libc.so: invalid ELF header

执行file看看:

file atmp-linux

atmp-linux: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-musl-x86_64.so.1, with debug_info, not stripped

于是检查mac下的打包脚本,发现打包脚本不对:

CGO_ENABLED=1 GOOS=linux GOARCH=amd64 CC=x86_64-linux-musl-gcc CXX=x86_64-linux-musl-g++ go build -o atmp-linux main.go

改成了就解决了问题:

GOOS=linux GOARCH=amd64 go build -o atmp-linux main.go

执行file看看:

atmp-linux: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), statically linked, with debug_info, not stripped

标签:x86,No,atmp,golang,报错,file,linux,go,64
From: https://blog.51cto.com/thinklili/9218966

相关文章

  • VSCode 终端显示“pnpm : 无法加载文件 C:\Program Files\nodejs\npm.ps1,因为在此
    如果出现以下问题: 解决方案:1.用get-ExecutionPolicy命令在vscode终端查询状态get-ExecutionPolicy#返回Restricted说明状态是禁止的Restricted2.用set-ExecutionPolicyRemoteSigned命令更改状态即可set-ExecutionPolicyRemoteSigned此时再输入 get-ExecutionP......
  • node.js 安装与环境变量配置
    一、安装node.js官网:下载地址 历史版本:历史版本下载地址    下载完毕后,可以安装node,一路默认选项即可。这里我的安装路径是:D:\environment\nodejs。建议不要安装在系统盘(如C:),建议安装的路径不要有中文。 二、设置nodejsprefix(全局)和cache(缓存)路径1、新建文件夹:n......
  • crontab 任务报错生成小文件及邮件告警处理
    CRONTAB服务不断发邮件问题解决问题背景操作系统:LinuxSuSe12ps5规格:4C8G现在描述:操作系统异常卡慢,甚至无法正常登录到服务器,服务器/var/log/messages的日志过大,撑爆了/var目录磁盘空间。/var/spool/postfix/maildrop目录不存在会导致一起调起sendmail与postdrop的......
  • java实体类中给引用类型对象直接赋值报错记录
    实体类TestModel,Attachment类也是一个实体类packagecom.sinochem.it.model;importcom.alibaba.fastjson.JSONObject;publicclassTestModel{intage;Stringname;JSONObjectobj;Attachmentattachment;publicAttachmentgetAttachment(){......
  • node版本过高产生的启动不起来
    今天在用开源框架时发现的vue是使用的vue2,而自己的Node.js又过高,出现如图报错: 那么该如何解决这个问题呢?其实很简单在目录中找到找到package.json   加入这样一段代码就行了 "serve":"setNODE_OPTIONS=\"--openssl-legacy-provider\"&npmrundev\n" "sc......
  • 如何构建一个 NodeJS 影院微服务并使用 Docker 部署
    如何构建一个NodeJS影院微服务并使用Docker部署前言如何构建一个NodeJS影院微服务并使用Docker部署。在这个系列中,将构建一个NodeJS微服务,并使用DockerSwarm集群进行部署。以下是将要使用的工具:NodeJS版本7.2.0MongoDB3.4.1DockerforMac1.12.6在尝试......
  • k8s集群Node节点管理:节点信息查看及节点label标签管理
    k8s集群Node节点管理:节点信息查看及节点label标签管理Kubernetes集群Node管理一、查看集群信息[root@k8s-master1~]#kubectlcluster-infoKubernetescontrolplaneisrunningathttps://192.168.10.100:6443CoreDNSisrunningathttps://192.168.10.100:6443/api/v1......
  • latex插APJ文献报错
    我在插入某种类型的参考文献(APJ系列)时,会收到报错:Undefinedcontrolsequence.\newblock\apjlGPT:解决办法(临时的):%自定义命令\newcommand{\apjl}{{Astrophys.J.Lett.}}%对apj文献的引用复盘:在您的情况中,\apjl是一个未定义的控制序列。控制序列通常是指命令或者......
  • No 'Access-Control-Allow-Origin' header is present on the requested resource', 跨
    https://blog.csdn.net/dear_little_bear/article/details/839993911.当请求不在同一域名下的资源文件(ip地址+端口号)时,会报如下错误:“No‘Access-Control-Allow-Origin’headerispresentontherequestedresource.Origin‘http://localhost:8080’isthereforenotall......
  • node 快速搭建http服务器
    1.新建目录demo然后在当前目录下打开cmd窗口执行npminit一直回车,执行结束该目录下出现一个package.json2.node环境自行安装,需要依赖如下*npmaddexpress*npmaddnodemon*npminstall-gaxios--registry=https://registry.npm.taobao.org3.当前目录下新建index.js......