然后克隆git上的makefile文件下来,如果你网速慢也可以自己下载然后放到./package/shadowsocks-libev下面去,注意这里不要改文件夹的名字,因为写死在makefile里面了
但是这里我们暂停一下,因为编译ss是一个完整的解决依赖-编译-连接的过程,很容易出错,而编译luci UI界面只需要简单的打包一下即可,所以不妨先编译一下luci体会一下。
git clone https://github.com/shadowsocks/luci-app-shadowsocks.git package/luci-app-shadowsocks # 编译 po2lmo (如果有po2lmo可跳过) pushd package/luci-app-shadowsocks/tools/po2lmo make && sudo make install popd # 选择要编译的包 LuCI -> 3. Applications make menuconfig # 开始编译 make package/luci-app-shadowsocks/compile V=99首先git克隆,此时在package目录下会出现一个luci的目录
然后继续执行,并不容易出错
然后选择编译luci的ipk通过make menuconfig
选择LuCI,确认时<M>选中,代表编译出ipk包
然后选择<Save>回车,保存后,连续选择<Exit>退出
上图直接选择<Ok>即可
然后我们就可以开始编译luci了
make package/luci-app-shadowsocks/compile V=99因为不依赖c编译环境,所以不容易出错
然后去/bin/ar71xx/packages/base���录下就可以看到我们编译好的ipk了,把它取出来放到别的位置上然后删掉,我们准备开始编译ss
现在开始克隆ss的openwrt版并把刚才克隆的./package/luci-app-shadowsocks给删掉
git clone https://github.com/shadowsocks/openwrt-shadowsocks.git package/shadowsocks-libev然后像刚才选择luci一样在make menuconfig中选择ss
OpenSSL版支持的加密方法多,PolarSSL支持的加密方法少,看你的需求而定
注意:只编译上面选择的两个或者一个就好,不要选择第mbedTLS版,因为mbedtls需要第三方依赖库,而ubuntu是不给你自动安装的,会因为缺少依赖而编译失败
然后跟luci一样<Save>然后连续<Exit>
下面就是最激动人心的一步了,开始我们的c编译,连接过程
make package/shadowsocks-libev/compile V=99在这个过程中会联网下载很多个依赖,要保证网络畅通然后静等,注意*不要*使用sudo权限!整个编译耗时大约2分钟左右,视网络状况而定
下图是下载某个依赖库
下图是下载Shadowsocks-libev的源码
如果没有报错就说明编译完成了
在这个编译过程中遇到问题退出是很正常的,完全不需要大惊小怪,而且随着版本的更新会不断的出现新的编译问题,就需要我们自己去解决。
多数的编译问题都是缺少依赖库或者网络不畅,需要我们仔细的查看config.log文件
查找这个文件的方法是执行
locate config.log
一般编译到哪一步失败就去看哪一步的config.log,我之前碰到的一个编译失败是因为没安装ccache,在上图黄线的config.log在文章最后贴出来
如果编译成功,我们可以在/bin/ar71xx/packages/base目录下看到编译好的ipk了,这两个ipk到时候只安装一个就好,不要都安装
现在挑一个你需要的ipk出来放到openwrt系统下使用opkg安装即可,还可以配合之前做好的luci UI界面ipk包
==============我是分隔线==============