目录
问题概述
在使用OpenWRT作为路由器固件时,很多用户在配置ShadowSocksR-libev时会遇到”binary not found”的问题。这是因为OpenWRT默认并不包含ShadowSocksR-libev的二进制文件,需要手动进行编译安装或使用预编译的二进制文件。
原因分析
OpenWRT是一个基于Linux的嵌入式操作系统,它的软件包都是通过交叉编译的方式生成的。由于ShadowSocksR-libev是一个第三方软件,OpenWRT默认并不包含它的编译配置,所以需要手动添加。
解决方案
手动编译安装ShadowSocksR-libev
-
登录OpenWRT的SSH控制台
-
执行以下命令更新软件包列表并安装编译依赖:
opkg update opkg install build-essential curl git libpcre3-dev libssl-dev zlib1g-dev
-
下载ShadowSocksR-libev源码:
git clone https://github.com/shadowsocksrr/shadowsocksr-libev.git cd shadowsocksr-libev
-
执行编译安装命令:
./configure –prefix=/usr –disable-documentation make && make install
-
编译完成后,ShadowSocksR-libev的二进制文件应该已经安装到系统中了。
使用预编译的二进制文件
-
前往ShadowSocksR-libev的GitHub仓库releases页面下载对应OpenWRT架构的预编译二进制文件
-
将下载的文件上传到OpenWRT路由器上
-
执行以下命令安装:
opkg install /path/to/shadowsocksr-libev.ipk
-
安装完成后,ShadowSocksR-libev的二进制文件应该已经可以使用了。
常见问题解答
为什么OpenWRT默认不包含ShadowSocksR-libev?
OpenWRT作为一个通用的嵌入式Linux发行版,默认只包含了基础的软件包。ShadowSocksR-libev作为一个第三方软件,需要手动添加编译配置才能包含在OpenWRT中。
手动编译过程中出现依赖问题怎么办?
在编译过程中,如果出现依赖问题,可以根据报错信息安装对应的依赖包。通常可以执行opkg install <missing_package>
来安装缺失的依赖。
预编译二进制文件安装后仍然找不到怎么办?
如果安装了预编译的二进制文件,但仍然找不到ShadowSocksR-libev,可以尝试以下方法:
- 检查文件路径是否正确,是否与OpenWRT的默认路径一致
- 尝试手动编译安装,可能预编译文件与您的OpenWRT版本不太匹配
- 检查OpenWRT的软件包管理器是否正常工作,尝试
opkg update
和opkg list
命令