Open waruqi opened 5 years ago
在windwos下编译出来后貌似有问题。
@Uewdl 在windwos下编译出来后貌似有问题。
已修复,你重新更新下代码编译后试试。。
@waruqi
@Uewdl 在windwos下编译出来后貌似有问题。
已修复,你重新更新下代码编译后试试。。
好的😄
你好,没明白这个是什么错误,是不是我配置出问题了? pi@raspberrypi:~/git/tbox/ltui $ xmake run test dialog /usr/bin/lua: error loading module 'ltui.lcurses' from file './build/libltui.so': ./build/libltui.so: undefined symbol: lua_pcallk stack traceback:
[C]: in function 'require'
./src/ltui/curses.lua:31: in main chunk
[C]: in function 'require'
./src/ltui/application.lua:30: in main chunk
[C]: in function 'require'
./src/ltui.lua:31: in main chunk
[C]: in function 'require'
tests/dialog.lua:27: in main chunk
[C]: ?
error: execv(/usr/bin/lua tests/dialog.lua) failed(1)! pi@raspberrypi:~/git/tbox/ltui $ lua tests/dialog.lua lua: error loading module 'ltui.lcurses' from file './build/libltui.so': ./build/libltui.so: undefined symbol: lua_pcallk stack traceback:
[C]: in function 'require'
./src/ltui/curses.lua:31: in main chunk
[C]: in function 'require'
./src/ltui/application.lua:30: in main chunk
[C]: in function 'require'
./src/ltui.lua:31: in main chunk
[C]: in function 'require'
tests/dialog.lua:27: in main chunk
[C]: ?
pi@raspberrypi:~/git/tbox/ltui $
环境:raspberrypi lua5.1.5
@lazyxwq 你好,没明白这个是什么错误,是不是我配置出问题了? pi@raspberrypi:~/git/tbox/ltui $ xmake run test dialog /usr/bin/lua: error loading module 'ltui.lcurses' from file './build/libltui.so': ./build/libltui.so: undefined symbol: lua_pcallk stack traceback:
C: in function 'require' ./src/ltui/curses.lua:31: in main chunk C: in function 'require' ./src/ltui/application.lua:30: in main chunk C: in function 'require' ./src/ltui.lua:31: in main chunk C: in function 'require' tests/dialog.lua:27: in main chunk
error: execv(/usr/bin/lua tests/dialog.lua) failed(1)! pi@raspberrypi:~/git/tbox/ltui $ lua tests/dialog.lua lua: error loading module 'ltui.lcurses' from file './build/libltui.so': ./build/libltui.so: undefined symbol: lua_pcallk stack traceback:
C: in function 'require' ./src/ltui/curses.lua:31: in main chunk C: in function 'require' ./src/ltui/application.lua:30: in main chunk C: in function 'require' ./src/ltui.lua:31: in main chunk C: in function 'require' tests/dialog.lua:27: in main chunk
pi@raspberrypi:~/git/tbox/ltui $
环境:raspberrypi lua5.1.5
应该是版本不匹配问题,编译的时候 默认用的是lua 5.3的头文件,你运行环境确实 5.1的。。你可以修改下 xmake.lua 里面配置 add_requires("lua") 改成 add_requires("lua 5.1.x") 强制使用5.1的头文件
然后执行下
xmake require --uninstall lua
xmake f -c
xmake
先卸载掉之前xmake内部安装的lua(不影响系统环境),然后清下缓存配置后,重新使用5.1的进行编译
@waruqi
@lazyxwq 你好,没明白这个是什么错误,是不是我配置出问题了? pi@raspberrypi:~/git/tbox/ltui $ xmake run test dialog /usr/bin/lua: error loading module 'ltui.lcurses' from file './build/libltui.so': ./build/libltui.so: undefined symbol: lua_pcallk stack traceback:
[C]: in function 'require' ./src/ltui/curses.lua:31: in main chunk [C]: in function 'require' ./src/ltui/application.lua:30: in main chunk [C]: in function 'require' ./src/ltui.lua:31: in main chunk [C]: in function 'require' tests/dialog.lua:27: in main chunk [C]: ?
error: execv(/usr/bin/lua tests/dialog.lua) failed(1)! pi@raspberrypi:~/git/tbox/ltui $ lua tests/dialog.lua lua: error loading module 'ltui.lcurses' from file './build/libltui.so': ./build/libltui.so: undefined symbol: lua_pcallk stack traceback:
[C]: in function 'require' ./src/ltui/curses.lua:31: in main chunk [C]: in function 'require' ./src/ltui/application.lua:30: in main chunk [C]: in function 'require' ./src/ltui.lua:31: in main chunk [C]: in function 'require' tests/dialog.lua:27: in main chunk [C]: ?
pi@raspberrypi:~/git/tbox/ltui $
环境:raspberrypi lua5.1.5
应该是版本不匹配问题,编译的时候 默认用的是lua 5.3的头文件,你运行环境确实 5.1的。。你可以修改下 xmake.lua 里面配置 add_requires("lua") 改成 add_requires("lua 5.1.x") 强制使用5.1的头文件
然后执行下
xmake require --uninstall lua xmake f -c xmake
先卸载掉之前xmake内部安装的lua(不影响系统环境),然后清下缓存配置后,重新使用5.1的进行编译
ltui目录下的xmake.lua没有add_requires("lua")这句话。加上这句话仍然会提示要求下载lua5.3.5进行编译。
@lazyxwq
@waruqi
@lazyxwq 你好,没明白这个是什么错误,是不是我配置出问题了? pi@raspberrypi:~/git/tbox/ltui $ xmake run test dialog /usr/bin/lua: error loading module 'ltui.lcurses' from file './build/libltui.so': ./build/libltui.so: undefined symbol: lua_pcallk stack traceback:
C: in function 'require' ./src/ltui/curses.lua:31: in main chunk C: in function 'require' ./src/ltui/application.lua:30: in main chunk C: in function 'require' ./src/ltui.lua:31: in main chunk C: in function 'require' tests/dialog.lua:27: in main chunk
error: execv(/usr/bin/lua tests/dialog.lua) failed(1)! pi@raspberrypi:~/git/tbox/ltui $ lua tests/dialog.lua lua: error loading module 'ltui.lcurses' from file './build/libltui.so': ./build/libltui.so: undefined symbol: lua_pcallk stack traceback:
C: in function 'require' ./src/ltui/curses.lua:31: in main chunk C: in function 'require' ./src/ltui/application.lua:30: in main chunk C: in function 'require' ./src/ltui.lua:31: in main chunk C: in function 'require' tests/dialog.lua:27: in main chunk
pi@raspberrypi:~/git/tbox/ltui $
环境:raspberrypi lua5.1.5
应该是版本不匹配问题,编译的时候 默认用的是lua 5.3的头文件,你运行环境确实 5.1的。。你可以修改下 xmake.lua 里面配置 add_requires("lua") 改成 add_requires("lua 5.1.x") 强制使用5.1的头文件
然后执行下
xmake require --uninstall lua xmake f -c xmake
先卸载掉之前xmake内部安装的lua(不影响系统环境),然后清下缓存配置后,重新使用5.1的进行编译
ltui目录下的xmake.lua没有add_requires("lua")这句话。加上这句话仍然会提示要求下载lua5.3.5进行编译。
在 src/core/xmake.lua 里面
@waruqi
@lazyxwq
@waruqi
@lazyxwq 你好,没明白这个是什么错误,是不是我配置出问题了? pi@raspberrypi:~/git/tbox/ltui $ xmake run test dialog /usr/bin/lua: error loading module 'ltui.lcurses' from file './build/libltui.so': ./build/libltui.so: undefined symbol: lua_pcallk stack traceback:
[C]: in function 'require' ./src/ltui/curses.lua:31: in main chunk [C]: in function 'require' ./src/ltui/application.lua:30: in main chunk [C]: in function 'require' ./src/ltui.lua:31: in main chunk [C]: in function 'require' tests/dialog.lua:27: in main chunk [C]: ?
error: execv(/usr/bin/lua tests/dialog.lua) failed(1)! pi@raspberrypi:~/git/tbox/ltui $ lua tests/dialog.lua lua: error loading module 'ltui.lcurses' from file './build/libltui.so': ./build/libltui.so: undefined symbol: lua_pcallk stack traceback:
[C]: in function 'require' ./src/ltui/curses.lua:31: in main chunk [C]: in function 'require' ./src/ltui/application.lua:30: in main chunk [C]: in function 'require' ./src/ltui.lua:31: in main chunk [C]: in function 'require' tests/dialog.lua:27: in main chunk [C]: ?
pi@raspberrypi:~/git/tbox/ltui $
环境:raspberrypi lua5.1.5
应该是版本不匹配问题,编译的时候 默认用的是lua 5.3的头文件,你运行环境确实 5.1的。。你可以修改下 xmake.lua 里面配置 add_requires("lua") 改成 add_requires("lua 5.1.x") 强制使用5.1的头文件
然后执行下
xmake require --uninstall lua xmake f -c xmake
先卸载掉之前xmake内部安装的lua(不影响系统环境),然后清下缓存配置后,重新使用5.1的进行编译
ltui目录下的xmake.lua没有add_requires("lua")这句话。加上这句话仍然会提示要求下载lua5.3.5进行编译。
在 src/core/xmake.lua 里面
在src/core/xmake.lua中指定lua版本后,再在ltui根目录下执行xmake require --uninstall lua xmake f -c xmake 到xmake的时候提示找不到头文件,
pi@raspberrypi:~/git/tbox/ltui $ xmake
[ 0%]: ccache compiling.release src/core/lcurses/lcurses.c
error: src/core/lcurses/lcurses.c:69:21: fatal error: luaconf.h: No such file or directory
#include "luaconf.h"
^
compilation terminated.
@lazyxwq
@waruqi
@lazyxwq
@waruqi
@lazyxwq 你好,没明白这个是什么错误,是不是我配置出问题了? pi@raspberrypi:~/git/tbox/ltui $ xmake run test dialog /usr/bin/lua: error loading module 'ltui.lcurses' from file './build/libltui.so': ./build/libltui.so: undefined symbol: lua_pcallk stack traceback:
C: in function 'require' ./src/ltui/curses.lua:31: in main chunk C: in function 'require' ./src/ltui/application.lua:30: in main chunk C: in function 'require' ./src/ltui.lua:31: in main chunk C: in function 'require' tests/dialog.lua:27: in main chunk
error: execv(/usr/bin/lua tests/dialog.lua) failed(1)! pi@raspberrypi:~/git/tbox/ltui $ lua tests/dialog.lua lua: error loading module 'ltui.lcurses' from file './build/libltui.so': ./build/libltui.so: undefined symbol: lua_pcallk stack traceback:
C: in function 'require' ./src/ltui/curses.lua:31: in main chunk C: in function 'require' ./src/ltui/application.lua:30: in main chunk C: in function 'require' ./src/ltui.lua:31: in main chunk C: in function 'require' tests/dialog.lua:27: in main chunk
pi@raspberrypi:~/git/tbox/ltui $
环境:raspberrypi lua5.1.5
应该是版本不匹配问题,编译的时候 默认用的是lua 5.3的头文件,你运行环境确实 5.1的。。你可以修改下 xmake.lua 里面配置 add_requires("lua") 改成 add_requires("lua 5.1.x") 强制使用5.1的头文件
然后执行下
xmake require --uninstall lua xmake f -c xmake
先卸载掉之前xmake内部安装的lua(不影响系统环境),然后清下缓存配置后,重新使用5.1的进行编译
ltui目录下的xmake.lua没有add_requires("lua")这句话。加上这句话仍然会提示要求下载lua5.3.5进行编译。
在 src/core/xmake.lua 里面
在src/core/xmake.lua中指定lua版本后,再在ltui根目录下执行xmake require --uninstall lua xmake f -c xmake 到xmake的时候提示找不到头文件,
pi@raspberrypi:~/git/tbox/ltui $ xmake [ 0%]: ccache compiling.release src/core/lcurses/lcurses.c error: src/core/lcurses/lcurses.c:69:21: fatal error: luaconf.h: No such file or directory #include "luaconf.h" ^ compilation terminated.
有没有提示你重新安装lua 5.1.5版本,没有的话,你可以删掉当前目录下 .xmake 后在执行 xmake f -c试试
大家有使用上的相关问题,请尽量到 https://github.com/tboox/ltui/issues 上去反馈吧
没有要求提示重装lua 5.1,删除ltui目录下的.xmake也不行,同样的错误。
@lazyxwq 你执行下 xmake l lib.detect.find_package lua 我看下
@waruqi 日志如下
pi@raspberrypi:~/git/tbox/ltui $ xmake l lib.detect.find_package lua
pi@raspberrypi:~/git/tbox/ltui $ rm .xmake/ -rf
pi@raspberrypi:~/git/tbox/ltui $
pi@raspberrypi:~/git/tbox/ltui $
pi@raspberrypi:~/git/tbox/ltui $ xmake l lib.detect.find_package lua
pi@raspberrypi:~/git/tbox/ltui $
pi@raspberrypi:~/git/tbox/ltui $ xmake f -c
checking for the architecture ... armv6
pi@raspberrypi:~/git/tbox/ltui $ xmake
[ 0%]: ccache compiling.release src/core/lcurses/lcurses.c
error: src/core/lcurses/lcurses.c:69:21: fatal error: luaconf.h: No such file or directory
#include "luaconf.h"
^
compilation terminated.
pi@raspberrypi:~/git/tbox/ltui $
@waruqi 哦 你这是 arm的,我好久没测了,回头我先调下 再跟你反馈。
@lazyxwq 我看了下 包管理这块确实刚弄完,还有很多细节问题,你可以尝试
rm ~/.xmake/cache
rm ~/.xmake/installed
rm -rf .xmake
xmake f -c
移除本地和全局缓存后,在尝试下 xmake f -c 试试,回头我再改进下包管理。。
@waruqi 很奇怪,还是不行。
pi@raspberrypi:~/git/tbox/ltui $ ls
build CHANGELOG.md CODE_OF_CONDUCT.md CONTRIBUTING.md LICENSE.md NOTICE.md README.md README_zh.md rockspec src tests xmake.lua
pi@raspberrypi:~/git/tbox/ltui $ rm ~/.xmake/cache/ -rf
pi@raspberrypi:~/git/tbox/ltui $ rm ~/.xmake/installed/ -rf
pi@raspberrypi:~/git/tbox/ltui $ rm -rf .xmake/ -rf
pi@raspberrypi:~/git/tbox/ltui $ ls
build CHANGELOG.md CODE_OF_CONDUCT.md CONTRIBUTING.md LICENSE.md NOTICE.md README.md README_zh.md rockspec src tests xmake.lua
pi@raspberrypi:~/git/tbox/ltui $ xmake f -c
checking for the architecture ... armv6
pi@raspberrypi:~/git/tbox/ltui $ xmake
[ 0%]: ccache compiling.release src/core/lcurses/lcurses.c
error: src/core/lcurses/lcurses.c:69:21: fatal error: luaconf.h: No such file or directory
#include "luaconf.h"
^
compilation terminated.
pi@raspberrypi:~/git/tbox/ltui $
能简单说明一下是哪里的旧缓存没有清理干净导致的么?
@lazyxwq 应该就是这几个cache地方了,我改进了下xmake,你更新下 xmake update dev后,再xmake f -c; xmake 编译下试试
还不行的话,这个时候执行下 xmake require -l
给我看下输出
https://tboox.org/cn/2018/11/28/ltui-v1.1/
简介LTUI是一个基于lua的跨平台字符终端UI界面库。此框架源于xmake中图形化菜单配置的需求,类似linux kernel的menuconf去配置编译参数,因此基于curses和lua实现了一整套跨平台的字符终端ui库。而样式风格基本上完全参照的kconfig-frontends,当然用户也可以自己定制不同...