Closed linuxsky closed 4 years ago
这个问题是因为xmake 2.3.1重构coroutine调度后,默认main loop开启了coroutine scheduler,但是 xmake.lua 中 $(shell xxx)
的设置是在string.gsub的callback里面执行的os.run/yield
而lua51目前跨c执行coroutine.yield是不支持的,所以会有这个问题,我刚修复了,执行下xmake update dev更新到dev版本就可以了。。
也可以回退到2.2.9版本也是ok的。。
这个问题是因为xmake 2.3.1重构coroutine调度后,默认main loop开启了coroutine scheduler,但是 xmake.lua 中
$(shell xxx)
的设置是在string.gsub的callback里面执行的os.run/yield而lua51目前跨c执行coroutine.yield是不支持的,所以会有这个问题,我刚修复了,执行下xmake update dev更新到dev版本就可以了。。
也可以回退到2.2.9版本也是ok的。。 是的退回去 目前没有报xmake 错误了,但是工程好像有问题,目前已经编译LCUI并且install
$ xmake build checking for the architecture ... x86_64 error: @programdir/core/base/filter.lua:68: run $(shell pkg-config .repos/LCUI/lcui.pc --static --libs-only-l) failed, errors: Failed to open '.repos/LCUI/lcui.pc': No sucy No package '.repos/LCUI/lcui.pc' found
stack traceback: [C]: in function 'error' [@programdir/core/base/os.lua:781]: in function 'raise' [@programdir/core/base/filter.lua:68]: in function 'get' [@programdir/core/base/filter.lua:180]: [C]: in function 'gsub' [@programdir/core/base/filter.lua:174]: in function 'handle' [@programdir/core/base/interpreter.lua:436]: in function '_filter' [@programdir/core/base/interpreter.lua:488]: in function '_handle' [@programdir/core/base/interpreter.lua:521]: [C]: in function 'xpcall' [@programdir/core/base/interpreter.lua:735]: in function 'make' [@programdir/core/project/project.lua:442]: in function '_load_scope' [@programdir/core/project/project.lua:386]: in function '_load' [@programdir/core/project/project.lua:638]: in function '_load_options' [@programdir/core/project/project.lua:833]: in function 'options' [...dir/core/sandbox/modules/import/core/project/project.lua:54]: in function 'check' [@programdir/actions/config/main.lua:256]: [C]: in function 'load' [@programdir/core/base/task.lua:520]: in function 'run' [@programdir/core/sandbox/modules/import/core/base/task.lua:63]: in function 'run' [@programdir/actions/build/main.lua:99]: [C]: in function 'load' [@programdir/core/base/task.lua:520]: in function 'run' [@programdir/core/main.lua:259]: in function 'cotask' [@programdir/core/base/scheduler.lua:315]:
这个是xmake.lua里面的配置问题,执行失败了:pkg-config .repos/LCUI/lcui.pc --static --libs-only-l
这个是xmake.lua里面的配置问题,执行失败了:pkg-config .repos/LCUI/lcui.pc --static --libs-only-l
感谢!
等有空时我再更新一下脚本,然后把 Linux 端的构建过程放 CI 上跑。
等有空时我再更新一下脚本,然后把 Linux 端的构建过程放 CI 上跑。
恩好的 ,感觉linux 测试的比较少吧。目前除了LUCI我顺利编译通过之外其它的都有问题。 另外 mac 下 LUCI 可以编译过,但是测试程序调用 输入接口(mouse keyboard)和 显示接口挂了。
非常期待LCUI相关能慢慢完善起来,期待这么好的库完善,同时希望这个能跑在更多的嵌入式设备上,支持交叉编译 比如树莓派等,更好的结合opencv 在嵌入式终端上大放光彩。加油!
另外 mac 下 LUCI 可以编译过,但是测试程序调用 输入接口(mouse keyboard)和 显示接口挂了。
我没 Mac 环境,最多只处理了一些编译问题,运行问题还得由 Mac 开发者自己处理。
更好的结合opencv 在嵌入式终端上大放光彩。加油!
开源项目需要的是贡献者,用键盘敲再多的"希望"和“加油”也没用。既然你提到 OpenCV,可否分享一下你对"更好的结合 OpenCV"的想法和建议?
支持交叉编译 比如树莓派等
现在不支持交叉编译?只要交叉编译器能编译 C 语言编写的 hello world,那就应该能编译 LCUI,要是不支持,建议你提供系统环境相关信息和编译器的输出内容。
1、好的,mac的log 稍后 我发出来看下,应该不是编译问题。mac 和linux 库不同 暂时应该是不支持。 2、opencv 我理解目前多的是用来展示 嵌入式设备 在人工智能方面效果,目前很多都是用qt 做的demo ,可以考虑用luci 做个demo。 3、交叉环境我还没试,买个设备还没到,等收到了我编译下试试。
@linuxsky 是 lc ui,不是luci
1、好的,mac的log 稍后 我发出来看下,应该不是编译问题。mac 和linux 库不同 暂时应该是不支持。
不用发了,暂不打算搞 Mac 支持。
2、opencv 我理解目前多的是用来展示 嵌入式设备 在人工智能方面效果,目前很多都是用qt 做的demo ,可以考虑用luci 做个demo。
这个很简单,你可以写个 OpenCV 的图像数据转换程序,将它的数据转换为 LCUI_Graph 数据结构:
然后调用 LCUI_WritePNGFile() 将数据写入至 PNG 文件,如果 PNG 图片内容正常,则说明转换成功。
这样我只需要加上图形界面代码让它直接显示的屏幕上,无需花时间研究 OpenCV 了。
构建脚本已经更新,跑以下命令可直接构建:
npm install
sh ./setup.sh
xmake
现在只是能够成功编译运行,界面样式、布局和功能代码有待调整。
测试了 已经好了
checking for the architecture ... x86_64 error: @programdir/core/base/scheduler.lua:343: attempt to yield across C-call boundary stack traceback: [C]: in function 'yield' [@programdir/core/base/scheduler.lua:343]: in function 'co_suspend' [@programdir/core/base/scheduler.lua:675]: in function 'poller_waitproc' [@programdir/core/base/process.lua:87]: in function 'wait' [@programdir/core/base/os.lua:736]: in function 'execv' [@programdir/core/base/os.lua:776]: in function 'iorun' [@programdir/core/base/filter.lua:63]: in function 'get' [@programdir/core/base/filter.lua:177]: [C]: in function 'gsub' [@programdir/core/base/filter.lua:171]: in function 'handle' [@programdir/core/base/interpreter.lua:453]: in function '_filter' [@programdir/core/base/interpreter.lua:488]: in function '_handle' [@programdir/core/base/interpreter.lua:521]: [C]: in function 'xpcall' [@programdir/core/base/interpreter.lua:735]: in function 'make' [@programdir/core/project/project.lua:442]: in function '_load_scope' [@programdir/core/project/project.lua:386]: in function '_load' [@programdir/core/project/project.lua:638]: in function '_load_options' [@programdir/core/project/project.lua:833]: in function 'options' [...dir/core/sandbox/modules/import/core/project/project.lua:54]: in function 'check' [@programdir/actions/config/main.lua:256]: [C]: in function 'load' [@programdir/core/base/task.lua:520]: in function 'run' [@programdir/core/sandbox/modules/import/core/base/task.lua:63]: in function 'run' [@programdir/actions/build/main.lua:99]: [C]: in function 'load' [@programdir/core/base/task.lua:520]: in function 'run' [@programdir/core/main.lua:259]: in function 'cotask' [@programdir/core/base/scheduler.lua:306]: