【问题标题】:Yocto, how to add libmosquitto in TargetYocto,如何在 Target 中添加 libmosquitto
【发布时间】:2021-10-20 04:58:55
【问题描述】:

Open Embedded Mosquitto recipe 将 mosquitto 安装为守护进程,但 Target 上没有 libmosquitto.so。

如何修改配方以安装库?

已经创建了mosquitto_%.bbappend 并尝试用类似的东西扩展do_install 函数。

    do_install_append() {
        install -m 0755 ${FILES_libmosquitto1} ${D}${libdir}/
    }

编辑:

深入挖掘,发现 libmosquitto.so 在构建和映像目录中可用,就像 Layer shippes 一样。所以我在创建 rootfs 时一定遗漏了一些东西。

bitbake mosquitto -c configure
bitbake mosquitto -c compile
bitbake mosquitto -c install

WORKDIR=./build/tmp/work/cortexa7t2hf-neon-vfpv4-poky-linux-gnueabi/mosquitto/1.6.12-r0

# lib is available in after do_compile
cd ${WORKDIR}/build/lib
tree
├── libmosquitto.so -> libmosquitto.so.1
├── libmosquitto.so.1 -> libmosquitto.so.1.6.12
└── libmosquitto.so.1.6.12

# lib is available after do_install, also headers and binary is available (in include, sbin respectively)
cd ${WORKDIR}/image/usr/lib
tree
├── libmosquitto.so -> libmosquitto.so.1
├── libmosquitto.so.1 -> libmosquitto.so.1.6.12
└── libmosquitto.so.1.6.12

【问题讨论】:

  • 首先尝试自己编译它,看看在构建过程中 libmosquitto.so 文件是在哪里创建的。然后您可以创建类似于上面示例的 bbappend 文件。
  • @kluszon,感谢您为我指明方向。这帮助我弄清楚这些库确实存在。

标签: embedded-linux yocto bitbake libmosquitto yocto-recipe


【解决方案1】:

要完成我的橡皮鸭调试,只需将正确的包添加到IMAGE_INSTALL

  • mosquitto,安装服务器
  • libmosquitto1libmosquittopp1,安装库(libmosquitto不起作用)
  • mosquitto-clients,安装mosquitto_pub、_sub命令

所以只需将想要的包添加到IMAGE_INSTALL

IMAGE_INSTALL_append = " \
                    libmosquitto1 \
                    libmosquittopp1 \
"

【讨论】:

    猜你喜欢
    • 2020-08-15
    • 1970-01-01
    • 2023-04-03
    • 2018-09-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-01-08
    • 2021-09-01
    相关资源
    最近更新 更多