您尚未登录。

楼主 # 2022-03-27 20:06:14

8z00z8
会员
注册时间: 2022-03-27
已发帖子: 8
积分: 13

tiny200 r3 buildroot的时候报错,找不到libpython3.8.so.1.0,lvgl显示不正常

题主是新手,在参照https://whycan.com/t_5221.html/,从git下载好开发包之后,执行以下操作

make widora_mangopi_r3_defconfig
make -j8

第一次是正常编译且生成固件了

但因为在第一次运行lvgl的时候,显示的有问题,代码里只是显示了一个居中对齐的label,但是却跑到了右下角
lvgl代码:

int main(void)
{
    /*LittlevGL init*/
    lv_init();

    /*Linux frame buffer device init*/
    fbdev_init();

    /*A small buffer for LittlevGL to draw the screen's content*/
    static lv_color_t buf[DISP_BUF_SIZE];

    /*Initialize a descriptor for the buffer*/
    static lv_disp_draw_buf_t disp_buf;
    lv_disp_draw_buf_init(&disp_buf, buf, NULL, DISP_BUF_SIZE);

    /*Initialize and register a display driver*/
    static lv_disp_drv_t disp_drv;
    lv_disp_drv_init(&disp_drv);
    disp_drv.draw_buf   = &disp_buf;
    disp_drv.flush_cb   = fbdev_flush;
    disp_drv.hor_res    = 800;
    disp_drv.ver_res    = 480;
    lv_disp_drv_register(&disp_drv);

	/* Linux input device init */
    // evdev_init();
	
    /* Initialize and register a display input driver */
    lv_indev_drv_t indev_drv;
    lv_indev_drv_init(&indev_drv);      /*Basic initialization*/

    indev_drv.type = LV_INDEV_TYPE_POINTER;
    indev_drv.read_cb = evdev_read;
    lv_indev_t * my_indev = lv_indev_drv_register(&indev_drv); 


    /*Create a Demo*/
    // lv_100ask_demo_course_1_3_1();
    lv_obj_t * label = lv_label_create(lv_scr_act());
    lv_label_set_text(label, "Hello lvgl!");
    lv_obj_align(label, LV_ALIGN_CENTER, 0, 0);

    /*Handle LitlevGL tasks (tickless mode)*/
    while(1) {
        lv_task_handler();
        usleep(5000);
    }

    return 0;
}

_20220327200337.png
QQ图片20220327195111.jpg

题主尝试修改UBoot里面的config,
_20220327195507.png
原始完整参数: x:800,y:480,depth:18,pclk_khz:30000,le:16,ri:209,up:22,lo:22,hs:30,vs:1,sync:0,vmode:0
修改成:          x:800,y:480,depth:18,pclk_khz:33000,le:87,ri:40,up:31,lo:13,hs:1,vs:1,sync:3,vmode:0
(PS: 还没验证,因为报错了,感觉改这里没什么作用)

接着题主怕不生效,执行了make clean; make -j8

结果到最后就报错了,但执行find / -name libpython3.8.so.1.0 是能找到这个文件的
python3.8: error while loading shared libraries: libpython3.8.so.1.0: cannot open shared object file: No such file or directory
_20220327195930.png

求大神解惑,急!

最近编辑记录 8z00z8 (2022-03-27 20:07:16)

离线

#1 2022-03-27 20:33:25

哇酷小二
管理员
所在地: 你猜
注册时间: 2020-04-22
已发帖子: 3,388
积分: 1902
个人网站

Re: tiny200 r3 buildroot的时候报错,找不到libpython3.8.so.1.0,lvgl显示不正常

buildroot 编译固件不建议执行 make clean,

如果想重新编译某个package正确做法是
① 删除 output/build/xxxxxxx/.stamp_built

② 删除 output/build/xxxxxxx 这个目录

即可

然后你重新make时候就会看到重新编译这个package了。





离线

#2 2022-03-27 20:34:17

哇酷小二
管理员
所在地: 你猜
注册时间: 2020-04-22
已发帖子: 3,388
积分: 1902
个人网站

Re: tiny200 r3 buildroot的时候报错,找不到libpython3.8.so.1.0,lvgl显示不正常

至于 libpython3.8.so.1.0,你多贴一些日志记录,目前这个截图看不出问题。





离线

楼主 #3 2022-03-27 21:53:19

8z00z8
会员
注册时间: 2022-03-27
已发帖子: 8
积分: 13

Re: tiny200 r3 buildroot的时候报错,找不到libpython3.8.so.1.0,lvgl显示不正常

哇酷小二 说:

至于 libpython3.8.so.1.0,你多贴一些日志记录,目前这个截图看不出问题。

这是make之后的日志

root@100ask:/home/book/work/buildroot-tiny200# make
>>> host-python3 3.8.6 Building
PATH="/home/book/work/buildroot-tiny200/output/host/bin:/home/book/work/buildroot-tiny200/output/host/sbin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/opt/gcc-linaro-7.2.1-2017.11-x86_64_arm-linux-gnueabi/bin:/opt/buildroot-tiny200/host/bin" PKG_CONFIG="/home/book/work/buildroot-tiny200/output/host/bin/pkg-config" PKG_CONFIG_SYSROOT_DIR="/" PKG_CONFIG_ALLOW_SYSTEM_CFLAGS=1 PKG_CONFIG_ALLOW_SYSTEM_LIBS=1 PKG_CONFIG_LIBDIR="/home/book/work/buildroot-tiny200/output/host/lib/pkgconfig:/home/book/work/buildroot-tiny200/output/host/share/pkgconfig" ac_cv_have_long_long_format=yes ac_cv_file__dev_ptmx=yes ac_cv_file__dev_ptc=yes ac_cv_working_tzset=yes ac_cv_prog_HAS_HG=/bin/false ac_cv_little_endian_double=yes /usr/bin/make -j9 PATH="/home/book/work/buildroot-tiny200/output/host/bin:/home/book/work/buildroot-tiny200/output/host/sbin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/opt/gcc-linaro-7.2.1-2017.11-x86_64_arm-linux-gnueabi/bin:/opt/buildroot-tiny200/host/bin" PKG_CONFIG="/home/book/work/buildroot-tiny200/output/host/bin/pkg-config" PKG_CONFIG_SYSROOT_DIR="/" PKG_CONFIG_ALLOW_SYSTEM_CFLAGS=1 PKG_CONFIG_ALLOW_SYSTEM_LIBS=1 PKG_CONFIG_LIBDIR="/home/book/work/buildroot-tiny200/output/host/lib/pkgconfig:/home/book/work/buildroot-tiny200/output/host/share/pkgconfig" AR="/usr/bin/ar" AS="/usr/bin/as" LD="/usr/bin/ld" NM="/usr/bin/nm" CC="/usr/bin/gcc" GCC="/usr/bin/gcc" CXX="/usr/bin/g++" CPP="/usr/bin/cpp" OBJCOPY="/usr/bin/objcopy" RANLIB="/usr/bin/ranlib" CPPFLAGS="-I/home/book/work/buildroot-tiny200/output/host/include" CFLAGS="-O2 -I/home/book/work/buildroot-tiny200/output/host/include" CXXFLAGS="-O2 -I/home/book/work/buildroot-tiny200/output/host/include" LDFLAGS="-L/home/book/work/buildroot-tiny200/output/host/lib -Wl,-rpath,/home/book/work/buildroot-tiny200/output/host/lib" INTLTOOL_PERL=/usr/bin/perl -C /home/book/work/buildroot-tiny200/output/build/host-python3-3.8.6 regen-importlib
make[1]: Entering directory '/home/book/work/buildroot-tiny200/output/build/host-python3-3.8.6'
# Regenerate Python/importlib_external.h
# from Lib/importlib/_bootstrap_external.py using _freeze_importlib
./Programs/_freeze_importlib importlib._bootstrap_external \
    ./Lib/importlib/_bootstrap_external.py \
    ./Python/importlib_external.h.new
python3.8 ./Tools/scripts/update_file.py ./Python/importlib_external.h ./Python/importlib_external.h.new
python3.8: error while loading shared libraries: libpython3.8.so.1.0: cannot open shared object file: No such file or directory
Makefile:724: recipe for target 'regen-importlib' failed
make[1]: *** [regen-importlib] Error 127
make[1]: Leaving directory '/home/book/work/buildroot-tiny200/output/build/host-python3-3.8.6'
package/pkg-generic.mk:266: recipe for target '/home/book/work/buildroot-tiny200/output/build/host-python3-3.8.6/.stamp_built' failed
make: *** [/home/book/work/buildroot-tiny200/output/build/host-python3-3.8.6/.stamp_built] Error 2
root@100ask:/home/book/work/buildroot-tiny200# 

离线

楼主 #4 2022-03-27 23:30:23

8z00z8
会员
注册时间: 2022-03-27
已发帖子: 8
积分: 13

Re: tiny200 r3 buildroot的时候报错,找不到libpython3.8.so.1.0,lvgl显示不正常

哇酷小二 说:

buildroot 编译固件不建议执行 make clean,

如果想重新编译某个package正确做法是
① 删除 output/build/xxxxxxx/.stamp_built

② 删除 output/build/xxxxxxx 这个目录

即可

然后你重新make时候就会看到重新编译这个package了。

终于编译通过了,我删除了output/build/host-python3-x.x.x的文件夹,然后装了一下python38,重新make就好了,感谢!

离线

页脚

工信部备案:粤ICP备20025096号 Powered by FluxBB

感谢为中文互联网持续输出优质内容的各位老铁们。 QQ: 516333132, 微信(wechat): whycan_cn (哇酷网/挖坑网/填坑网) service@whycan.cn