Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

关于用官方Openwrt分支编译helloworld踩过的一些坑汇总,希望能帮助到编译不过的兄弟们 #1536

Open
Elda1994 opened this issue Sep 6, 2024 · 7 comments

Comments

@Elda1994
Copy link

Elda1994 commented Sep 6, 2024

这一个星期都在用不同的官方Openwrt版本编译helloworld...可以说是踩坑无数,所以总结一些,希望帮助到后面遇到问题的朋友。
第一个坑:
先说下我的设备,我的设备是N1,把编译好的openwrt固件刷入emmc采用的一直是橙子大佬最古早的办法,也就是用armbian 4.18内核打包编译出来的openwrt-armsr-armv8-rootfs.tar压缩包变成img文件,然后刷进N1的emmc,这个办法目前只适用于官方openwrt 22.x.x版本以下,如果是用的官方Openwrt23.x.x.版本,那么这个办法就会导致ssr plus无法连接外网,百度这种倒是没问题,我猜测可能是内核版本防火墙的原因,会导致ssr plus无法联网。我太菜,没那么高深的技术,希望能有明白人能就这个问题给我一个解答...

第二个坑:
目前我这边用官方Openwrt 23.x.x版本编译fw876/helloworld的ssr plus不知道是什么玄学问题,反正就是各种编译不通过,这里没有指责质疑维护人员的嫌疑,只是想给后面的兄弟提个醒,如果你拉取了helloworld仓库进行编译但是一直编译不过的话,可以使用kenzok8/small仓库,进行编译ssr plus。

第三个坑:
如果是用官方Openwrt仓库编译ssr plus,遇到了xray core编译不过的情况(如果你已经手动更换了go lang高版本1.22.x的前提下)就尽量不要选择xray core,请选择v2ray core。(这个问题真的让我头疼死,明明都手动更换过高版本go lang并且也install上了,但就是编译不了xray,所以我索性放弃了)

第四个坑:
如果你编译到最后阶段,总是莫名其妙的遇到gn编译错误,请尽量不要选择把naviproxy编译进去,我这边经过多次测试...naviproxy对于官方Openwrt仓库来说就像一个毒瘤,选择上它,百分百编译不过(如果你没问题请当我放屁)

第五个坑:
如果你使用的是kenzok8的small仓库进行编译ssr plus,那么请make menuconfig选择上Luci-app-ssrplus后,请再去主界面的Network选项里面,然后拉到最下面,手动的把xray-core前面的*号去掉,不然百分之九十的可能会在编译的最后阶段,继续报xray core编译错误 ==我差点被这个坑给折磨死...

第六个坑:
承接上面的第五个坑,make menuconfig选择上Luci-app-ssrplus后,请再去主界面的Libraries选项下,拉到最下面,手动检查并确保,libustream-mbedtls libustream-openssl libustream-wofssl,这三个选项,只有一项前面带有*号,千万不要三个都选择上,如果这么干了,在编译的最后阶段,百分之九十九会报 liblibustrean-mbedtls 或者libustrean-openssl 或者libustrean-wofssl其中一个类似于已经安装所以编译错误的这么个错误(不好意思,因为编译报错是纯英文的,所以我给手动翻译成中文了)

第七个坑:
这也是最最重要的一个坑,如果你使用的是非官方Openwrt 23.05.x仓库,也就是官方openwrt的低版本仓库,那么在编译的最前期,也就是./scripts/feeds update -a阶段,手动的去到feeds/hellowrold/shadowsocksr-libev文件夹下面,执行sed -i 's/ +libopenssl-legacy//g' Makefile。现在最新的ssr plus下面的shadowsocksr会默认用openssl 3.x.x进行编译,但是官方Openwrt仓库,目前只有23.x.x仓库启用了openssl3.x.x,低版本还是默认的openssl 1.1.1,如果不这么修改,编译是百分之百会报错的。

第八个坑:
用官方仓库编译ssr plus,luci-app-ssrplus下面,尽量不要选择hyteria和naviproxy,如无必要,也尽量不要选择shadowsocksr-libev-client和server,这几个选项,真的是编译不过的最大元凶....

写在最后:
以上这些坑,都是我这么多日不停的用官方openwrt仓库编译,总结出来的问题和解决办法,希望能帮助到后面搜索答案从而看到这个issue的朋友们。当然我的这些编译问题,不一定会是你的编译问题,请理性看待。最后,希望每一个用官方Openwrt编译ssr plus的朋友,都能顺利的一遍编译过...peace love (我最近这几天真是7*24h的进行编译,头发快秃了 ==)

最后的最后,感谢每一位维护ssr plus的大手子们。

@zxlhhyccc
Copy link
Collaborator

zxlhhyccc commented Sep 6, 2024

你写的问题在官方master分支下均不存在,我就是全部使用官方master分支编译且正常使用,是你自己环境的问题。

image
image

image
image
image

@chobitsos
Copy link

chobitsos commented Sep 8, 2024

确实如此,比如第一个坑,官方分支已经更新了fw4,ssrp没有支持fw4 其实只需要把iptables legend编译进来就行了,只是有个小bug,只要不重启ssrp不影响使用

@ZT229
Copy link

ZT229 commented Sep 24, 2024

这一个星期都在用不同的官方Openwrt版本编译helloworld...可以说是踩坑无数,所以总结一些,希望帮助到后面遇到问题的朋友。 第一个坑: 先说下我的设备,我的设备是N1,把编译好的openwrt固件刷入emmc采用的一直是橙子大佬最古早的办法,也就是用armbian 4.18内核打包编译出来的openwrt-armsr-armv8-rootfs.tar压缩包变成img文件,然后刷进N1的emmc,这个办法目前只适用于官方openwrt 22.x.x版本以下,如果是用的官方Openwrt23.x.x.版本,那么这个办法就会导致ssr plus无法连接外网,百度这种倒是没问题,我猜测可能是内核版本防火墙的原因,会导致ssr plus无法联网。我太菜,没那么高深的技术,希望能有明白人能就这个问题给我一个解答...

第二个坑: 目前我这边用官方Openwrt 23.x.x版本编译fw876/helloworld的ssr plus不知道是什么玄学问题,反正就是各种编译不通过,这里没有指责质疑维护人员的嫌疑,只是想给后面的兄弟提个醒,如果你拉取了helloworld仓库进行编译但是一直编译不过的话,可以使用kenzok8/small仓库,进行编译ssr plus。

第三个坑: 如果是用官方Openwrt仓库编译ssr plus,遇到了xray core编译不过的情况(如果你已经手动更换了go lang高版本1.22.x的前提下)就尽量不要选择xray core,请选择v2ray core。(这个问题真的让我头疼死,明明都手动更换过高版本go lang并且也install上了,但就是编译不了xray,所以我索性放弃了)

第四个坑: 如果你编译到最后阶段,总是莫名其妙的遇到gn编译错误,请尽量不要选择把naviproxy编译进去,我这边经过多次测试...naviproxy对于官方Openwrt仓库来说就像一个毒瘤,选择上它,百分百编译不过(如果你没问题请当我放屁)

第五个坑: 如果你使用的是kenzok8的small仓库进行编译ssr plus,那么请make menuconfig选择上Luci-app-ssrplus后,请再去主界面的Network选项里面,然后拉到最下面,手动的把xray-core前面的*号去掉,不然百分之九十的可能会在编译的最后阶段,继续报xray core编译错误 ==我差点被这个坑给折磨死...

第六个坑: 承接上面的第五个坑,make menuconfig选择上Luci-app-ssrplus后,请再去主界面的Libraries选项下,拉到最下面,手动检查并确保,libustream-mbedtls libustream-openssl libustream-wofssl,这三个选项,只有一项前面带有*号,千万不要三个都选择上,如果这么干了,在编译的最后阶段,百分之九十九会报 liblibustrean-mbedtls 或者libustrean-openssl 或者libustrean-wofssl其中一个类似于已经安装所以编译错误的这么个错误(不好意思,因为编译报错是纯英文的,所以我给手动翻译成中文了)

第七个坑: 这也是最最重要的一个坑,如果你使用的是非官方Openwrt 23.05.x仓库,也就是官方openwrt的低版本仓库,那么在编译的最前期,也就是./scripts/feeds update -a阶段,手动的去到feeds/hellowrold/shadowsocksr-libev文件夹下面,执行sed -i 's/ +libopenssl-legacy//g' Makefile。现在最新的ssr plus下面的shadowsocksr会默认用openssl 3.x.x进行编译,但是官方Openwrt仓库,目前只有23.x.x仓库启用了openssl3.x.x,低版本还是默认的openssl 1.1.1,如果不这么修改,编译是百分之百会报错的。

第八个坑: 用官方仓库编译ssr plus,luci-app-ssrplus下面,尽量不要选择hyteria和naviproxy,如无必要,也尽量不要选择shadowsocksr-libev-client和server,这几个选项,真的是编译不过的最大元凶....

写在最后: 以上这些坑,都是我这么多日不停的用官方openwrt仓库编译,总结出来的问题和解决办法,希望能帮助到后面搜索答案从而看到这个issue的朋友们。当然我的这些编译问题,不一定会是你的编译问题,请理性看待。最后,希望每一个用官方Openwrt编译ssr plus的朋友,都能顺利的一遍编译过...peace love (我最近这几天真是7*24h的进行编译,头发快秃了 ==)

最后的最后,感谢每一位维护ssr plus的大手子们。

012EC5E972B1247C9DE5E963DF5A0D09
像这样提示缺依赖怎么处理,immortalwrt的master分支

@guhill1
Copy link

guhill1 commented Oct 7, 2024

这一个星期都在用不同的官方Openwrt版本编译helloworld...可以说是踩坑无数,所以总结一些,希望帮助到后面遇到问题的朋友。 第一个坑: 先说下我的设备,我的设备是N1,把编译好的openwrt固件刷入emmc采用的一直是橙子大佬最古早的办法,也就是用armbian 4.18内核打包编译出来的openwrt-armsr-armv8-rootfs.tar压缩包变成img文件,然后刷进N1的emmc,这个办法目前只适用于官方openwrt 22.x.x版本以下,如果是用的官方Openwrt23.x.x.版本,那么这个办法就会导致ssr plus无法连接外网,百度这种倒是没问题,我猜测可能是内核版本防火墙的原因,会导致ssr plus无法联网。我太菜,没那么高深的技术,希望能有明白人能就这个问题给我一个解答...
第二个坑: 目前我这边用官方Openwrt 23.x.x版本编译fw876/helloworld的ssr plus不知道是什么玄学问题,反正就是各种编译不通过,这里没有指责质疑维护人员的嫌疑,只是想给后面的兄弟提个醒,如果你拉取了helloworld仓库进行编译但是一直编译不过的话,可以使用kenzok8/small仓库,进行编译ssr plus。
第三个坑: 如果是用官方Openwrt仓库编译ssr plus,遇到了xray core编译不过的情况(如果你已经手动更换了go lang高版本1.22.x的前提下)就尽量不要选择xray core,请选择v2ray core。(这个问题真的让我头疼死,明明都手动更换过高版本go lang并且也install上了,但就是编译不了xray,所以我索性放弃了)
第四个坑: 如果你编译到最后阶段,总是莫名其妙的遇到gn编译错误,请尽量不要选择把naviproxy编译进去,我这边经过多次测试...naviproxy对于官方Openwrt仓库来说就像一个毒瘤,选择上它,百分百编译不过(如果你没问题请当我放屁)
第五个坑: 如果你使用的是kenzok8的small仓库进行编译ssr plus,那么请make menuconfig选择上Luci-app-ssrplus后,请再去主界面的Network选项里面,然后拉到最下面,手动的把xray-core前面的号去掉,不然百分之九十的可能会在编译的最后阶段,继续报xray core编译错误 ==我差点被这个坑给折磨死...
第六个坑: 承接上面的第五个坑,make menuconfig选择上Luci-app-ssrplus后,请再去主界面的Libraries选项下,拉到最下面,手动检查并确保,libustream-mbedtls libustream-openssl libustream-wofssl,这三个选项,只有一项前面带有
号,千万不要三个都选择上,如果这么干了,在编译的最后阶段,百分之九十九会报 liblibustrean-mbedtls 或者libustrean-openssl 或者libustrean-wofssl其中一个类似于已经安装所以编译错误的这么个错误(不好意思,因为编译报错是纯英文的,所以我给手动翻译成中文了)
第七个坑: 这也是最最重要的一个坑,如果你使用的是非官方Openwrt 23.05.x仓库,也就是官方openwrt的低版本仓库,那么在编译的最前期,也就是./scripts/feeds update -a阶段,手动的去到feeds/hellowrold/shadowsocksr-libev文件夹下面,执行sed -i 's/ +libopenssl-legacy//g' Makefile。现在最新的ssr plus下面的shadowsocksr会默认用openssl 3.x.x进行编译,但是官方Openwrt仓库,目前只有23.x.x仓库启用了openssl3.x.x,低版本还是默认的openssl 1.1.1,如果不这么修改,编译是百分之百会报错的。
第八个坑: 用官方仓库编译ssr plus,luci-app-ssrplus下面,尽量不要选择hyteria和naviproxy,如无必要,也尽量不要选择shadowsocksr-libev-client和server,这几个选项,真的是编译不过的最大元凶....
写在最后: 以上这些坑,都是我这么多日不停的用官方openwrt仓库编译,总结出来的问题和解决办法,希望能帮助到后面搜索答案从而看到这个issue的朋友们。当然我的这些编译问题,不一定会是你的编译问题,请理性看待。最后,希望每一个用官方Openwrt编译ssr plus的朋友,都能顺利的一遍编译过...peace love (我最近这几天真是7*24h的进行编译,头发快秃了 ==)
最后的最后,感谢每一位维护ssr plus的大手子们。

012EC5E972B1247C9DE5E963DF5A0D09 像这样提示缺依赖怎么处理,immortalwrt的master分支

不理会他,换rust版本

@725216
Copy link

725216 commented Oct 10, 2024

我用潘多拉的sdk编译,源码里是wget-ssl,编译出来的是wget-noss怎么弄?

@l4326769
Copy link

golang的坑如果是buildvcs的话直接在go.env文件下添加标签即可
gn的话ubuntu2204的gcc11测试编译没问题

@qwerttvv
Copy link
Contributor

你写的问题在官方master分支下均不存在,我就是全部使用官方master分支编译且正常使用,是你自己环境的问题。

image image

image image image

你在用新的fw4吗?如果用fw4,需要什么其它的特别的组件吗?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

8 participants