Linux运行./server报错load error: No such file or directory解决方案求助
运行
./server报错load error: No such file or directory排查方案 - 确认当前工作目录匹配且文件存在
执行pwd确认当前所在目录就是编译生成server文件的目录,再执行ls -l查看目录下是否存在server文件:- 若文件不存在:检查编译epoll_server.c的命令是否正确,标准编译命令为
gcc epoll_server.c -o server -Wall,加入-Wall参数可以显示编译过程中的警告和错误,避免编译失败但未察觉的情况 - 若文件存在:查看文件权限列是否有
x可执行标识,没有的话执行chmod +x ./server添加可执行权限
- 若文件不存在:检查编译epoll_server.c的命令是否正确,标准编译命令为
- 检查动态链接库依赖完整性
执行ldd ./server查看程序依赖的所有动态库,若输出中有标记为not found的库,需要先安装对应依赖库再启动服务 - 确认程序架构与系统匹配
执行file ./server查看程序的编译架构,同时执行uname -m查看当前系统架构:- 若程序是32位架构、系统是64位架构,需要安装对应系统的32位兼容运行库:
- Debian/Ubuntu系:
apt install libc6-i386 - CentOS/RHEL系:
yum install glibc.i686
- Debian/Ubuntu系:
- 若程序是32位架构、系统是64位架构,需要安装对应系统的32位兼容运行库:
- 检查脚本解释器路径(仅当server为脚本文件时生效)
若server是shell、Python等脚本文件,查看首行shebang声明的解释器路径是否正确,比如#!/bin/bash需确认/bin/bash文件实际存在,也可以直接用解释器启动测试:bash ./server
内容的提问来源于stack exchange,提问作者sharkjy
相关产品推荐
相关产品推荐

