问题描述
这几天有时间重新安装了 Ubuntu 18.04 的虚拟机来编译原版的OpenWRT固件,加入了passwall 插件,但是编译过程遇到以下问题,记录一下,报错内容如下:
Cleaning module download cache (golang/go#27455)
mv -f /home/luobo/openwrt/build_dir/target-mipsel_24kc_musl/v2ray-core-4.23.1/.go_work/build/bin/linux_mipsle/main /home/luobo/openwrt/build_dir/target-mipsel_24kc_musl/v2ray-core-4.23.1/.go_work/build/bin/linux_mipsle/v2ray
/home/luobo/openwrt/staging_dir/host/bin/upx --lzma --best /home/luobo/openwrt/build_dir/target-mipsel_24kc_musl/v2ray-core-4.23.1/.go_work/build/bin/linux_mipsle/v2ray
bash: /home/luobo/openwrt/staging_dir/host/bin/upx: No such file or directory
Makefile:307: recipe for target '/home/luobo/openwrt/build_dir/target-mipsel_24kc_musl/v2ray-core-4.23.1/.built' failed
make[3]: *** [/home/luobo/openwrt/build_dir/target-mipsel_24kc_musl/v2ray-core-4.23.1/.built] Error 127
make[3]: Leaving directory '/home/luobo/openwrt/feeds/lienol/package/v2ray'
time: package/feeds/lienol/v2ray/compile#54.97#15.79#46.32
package/Makefile:111: recipe for target 'package/feeds/lienol/v2ray/compile' failed
make[2]: *** [package/feeds/lienol/v2ray/compile] Error 2
make[2]: Leaving directory '/home/luobo/openwrt'
package/Makefile:107: recipe for target '/home/luobo/openwrt/staging_dir/target-mipsel_24kc_musl/stamp/.package_compile' failed
make[1]: *** [/home/luobo/openwrt/staging_dir/target-mipsel_24kc_musl/stamp/.package_compile] Error 2
make[1]: Leaving directory '/home/luobo/openwrt'
/home/luobo/openwrt/include/toplevel.mk:218: recipe for target 'world' failed
make: *** [world] Error 2
看上面的错误代码大概知道问题出在这一句:
bash: /home/luobo/openwrt/staging_dir/host/bin/upx: No such file or directory
说没有upx
文件或者目录,但是明明已经正确安装了upx,但是这个目录里没有。
解决办法
解决办法很多简单,只需要拷贝upx和upx-c文件到这个目录即可。
查找upx文件所在目录:
whereis upx
/usr/bin/upx
拷贝文件到指定目录
cp /usr/bin/upx /home/luobo/openwrt/staging_dir/host/bin/
cp /usr/bin/upx-ucl /home/luobo/openwrt/staging_dir/host/bin/
现在重新进行编译即可完成,其实也可以在配置文件里取消掉这个选项也行。文章去昂很水,快一年没有更新文章了。