-
Notifications
You must be signed in to change notification settings - Fork 1.1k
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
webui: support openwrt #1947
base: master
Are you sure you want to change the base?
webui: support openwrt #1947
Conversation
使用x86Ubuntu编译arm64成功 |
只需要luci添加相应开关就不需要手动修改配置文件了 |
编译目标强制修改了一点规则,用之前的shell会有一点小问题 |
我试试 |
smartdns-ui是不是需要单独出来一个pkgname 另外是不是可以smartdns和smartdns-ui用一个Makefile文件 加个判断 |
我先改一下名称 |
改好了,放在一起感觉不是很好 |
放在一起编译的时候方便 要不还得维护两个Makefile |
015954f
to
9472709
Compare
好了,放一起了 |
感谢 正在编译测试 |
太慢了 直接编译镜像了 明天早上再看看 |
node编译很慢 |
make clean所有代码树后重新编译 ,发现Makefile漏了cargo ,需要强制 cargo 从 rustc 构建中生成,最终编译失败 提示如下:
find . -name cargo 后发现
|
继续编译的时候,提示错误 |
把包整在一起后依赖不能用条件判断 |
我重新提交一版,不管是否选择ui,都默认编译rust.node |
你再试试吧 |
已经用这个Makefile编译了 目前没有报错退出 估计编译完要好久 稍后反馈编译结果 |
好的 |
最近编译 mipsle-softfloat 包 smartdns 都报错,armv7 没问题,但是 ui 一直报错,貌似调整 size_t_is_usize 也不行 |
目前 aarch64_cortex-a53的smartdns和smartdns-ui已经编译完毕 X64还在编译过程中 目前只有X64和arm64平台 只能分别针对这两种平台测试 稍后给出测试报告 |
ui包需要配合主包用,ui包里面只有so跟web界面,调用都在主包里 |
明白
X64的ipk还在编译 arm64的固件镜像正在重新生成 |
rust真不熟 |
这玩意跨平台兼容性太差了 |
没办法 openwrt官方用的是rust编译 |
大佬 您用openwrt的main git 把smartdns-ui放到package 然后和openwrt一起编译就能发现编译失败的提示了 如果只用脚本确实可以直接编译成功 |
又改了一下,可以看看。 原因是获取sysroot不成功,openwrt的gcc没有开启sysroot |
我试试 |
我也在编译 有结果了发log |
最新的Makefile 116行写的有问题 应该是 arm64编译通过 有几个错误提示
X64编译成功 查看日志没有arm64的错误提示 smartdns_x64.log 已经将编译完毕的apk和ipk文件在arm64和x64系统中安装成功并成功运行
整体感觉编译速度很快 下方附件为编译完毕的arm和x64的安装包 |
云编译 x86_64 没啥问题了 编译 armv7l 遇到两问题
thread 'main' panicked at /workdir/openwrt/dl/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/aws-lc-sys-0.27.1/builder/main.rs:645:5: 强制安装 binggen-cli 这里能过
x86_64 目录变量能获取,这个下面就为空了 |
补充arm64测试结果
原因应该是#1947 (comment) 之前的解决办法是不管是否选择ui,都默认编译rust.node |
问下 这里binggen改成什么版本号?改版本后还需要先强制安装binggen-cli吗? |
说得不清楚,不需要改版本,某些平台像 armv7l 就需要强制安装 binggen-cli |
|
我是直接改 https://github.com/pymumu/openwrt-smartdns 的 Makefile
|
感谢,试过强制安装bindgen-cli但这个在musl行不通 |
我跟你一样的 armv7-unknown-linux-musleabihf 你看下日志能打开看吗 |
这种通用架构我还是考虑单独编译ui的so 然后塞到ipk里去。用openwrt的sdk太麻烦了 |
pr的Makefile就可以用openwrt的sdk编译成功 |
试过?必须 bindgen-cli 和 修改 cp 行,我试了很多次了 |
arm64和x64试过了 你是arm32 没试过 |
x86_64和arm64的aws-lc-sys不需要bindgen-cli。armv7需要。参考 https://aws.github.io/aws-lc-rs/requirements/linux.html 。最后我是修改Cargo.toml强制启用aws-lc-sys的bindgen feature编译通过,用的cargo,没使用Makefile。 编译依赖的bindgen和clang、llvm是另一件事。 |
cp文件好像只有arm架构有eabi eabihf之类的后缀。可以考虑用find和xargs直接取.so文件 |
喊大佬来改Makefile吧 |
cp 现在可能没什么问题了,arm64 x86_64 下都没问题了,armv7下也能正确识别平台,估计问题不大,现在问题就在判断bindgen-cli上了 |
重新改了一下,看看。 nodejs编译太慢,没有自动编译nodejs,自行提前安装nodejs和npm |
已经在测试编译 稍后反馈 |
armv7 arm64 都测试ok,编译一次搞定 |
用最新的Makefile编译了一下 失败 看了一下需要先安装npm 安装完毕后可以安装成功 |
@pymumu 大佬 最新的Makefile忘记建立/etc/smartdns/data目录了 ipk apk无法运行 |
可以正常编译了,关闭了size_t_is_usize,x86编译arm64会报错