yocto编译IPCFサンプル_ユーザー报错こんにちは皆さん:
IPCF sample_user の Yocto コンパイルでエラーが報告されます:
sample.c:5:10: 致命的なエラー: errno.h:そのようなファイル、又はディレクトリはありません
bbファイル:
# SPDXライセンス識別子: BSD-3条項
#
# 著作権 2018-2019、2023 NXP
#
概要 = 「共有メモリを介したプロセス間通信 (ipc-shm) のサポート」
ライセンス = "BSD-3-条項"
LIC_FILES_CHKSUM = "ファイル:// ${COMMON_LICENSE_DIR} /BSD-3-Clause;md5=550794465ba0ec5312d6919e203a55f9"
継承モジュール
IPC-SHM_INCLUDE_PATH = "recipes-kernel/ipc-shm"
IPC-SHM_INCLUDE:s32g2 = " ${IPC-SHM_INCLUDE_PATH} /ipc-shm-s32g2-defs.inc"
IPC-SHM_INCLUDE:s32g3 = " ${IPC-SHM_INCLUDE_PATH} /ipc-shm-s32g3-defs.inc"
IPC-SHM_INCLUDE:s32r45 = " ${IPC-SHM_INCLUDE_PATH} /ipc-shm-s32r45-defs.inc"
${@d.getVar('IPC-SHM_INCLUDE') or ''}が必要
URL ?= "git://github.com/nxp-auto-linux/ipc-shm;プロトコル=https"
SRC_URI = " ${URL} ;ブランチ= ${BRANCH} "
S = " ${WORKDIR} /git"
宛先ディレクトリ=" ${D} "
MODULES_MODULE_SYMVERS_LOCATION = "."
DEMO_IPCF_APPS ?= "sample_user"
EXTRA_OEMAKE:append = " --file ./makefile_samplesアプリ = " ${DEMO_IPCF_APPS} " INSTALL_DIR = ${DESTDIR} KERNELDIR = ${KBUILD_OUTPUT} "
EXTRA_OEMAKE:append = " PLATFORM_FLAVOR= ${PLATFORM_FLAVOR} "
# 起動時に ipc-shm-uio がロードされないようにする
KERNEL_MODULE_PROBECONF += "ipc-shm-uio"
module_conf_ipc-shm-uio = "ipc-shm-uio をブラックリストに追加"
KERNEL_MODULE_PROBECONF += "ipc-sample-multi-instance"
module_conf_ipc-sample-multi-instance = "ブラックリストipc-sample-multi-instance"
ファイル: ${PN} += " ${sysconfdir} /modprobe.d/*"
その後、次の内容が追加されました。
DEPENDS += "glibc"
EXTRA_OEMAKE:append = " CFLAGS='${CFLAGS} -I${RECIPE_SYSROOT}/usr/include' "
エラーはまだ解決しません:
ログデータは次のとおりです:
| デバッグ: シェル関数 do_compile を実行しています
| 注記: make -j 24 KERNEL_src=/ホーム/ubuntu/bsp38-fzj/sw-prj-SDV_HPC_Linux_s32g399a/build_s32g399avtvmcu2/tmp/work-shared/s32g399avtvmcu2/kernel-source --file ./makefile_samplesアプリ=sample_user INSTALL_DIR=/ホーム/ubuntu/bsp38-fzj/sw-prj-SDV_HPC_Linux_s32g399a/build_s32g399avtvmcu2/tmp/work/s32g399avtvmcu2-fsl-Linux/ipc-shm/1.0-r0/imageKERNELDIR=/ホーム/ubuntu/bsp38-fzj/sw-prj-SDV_HPC_Linux_s32g399a/build_s32g399avtvmcu2/tmp/work-shared/s32g399avtvmcu2/kernel-build-artifacts PLATFORM_FLAVOR=s32g3 CFLAGS= -O2 -pipe -g -feliminate-unused-debug-types -fmacro-prefix-map=/ホーム/ubuntu/bsp38-fzj/sw-prj-SDV_HPC_Linux_s32g399a/build_s32g399avtvmcu2/tmp/work/s32g399avtvmcu2-fsl-Linux/ipc-shm/1.0-r0=/usr/src/debug/ipc-shm/1.0-r0-fdebug-prefix-map=/ホーム/ubuntu/bsp38-fzj/sw-prj-SDV_HPC_Linux_s32g399a/build_s32g399avtvmcu2/tmp/work/s32g399avtvmcu2-fsl-Linux/ipc-shm/1.0-r0=/usr/src/debug/ipc-shm/1.0-r0-fdebug-prefix-map=/ホーム/ubuntu/bsp38-fzj/sw-prj-SDV_HPC_Linux_s32g399a/build_s32g399avtvmcu2/tmp/work/s32g399avtvmcu2-fsl-Linux/ipc-shm/1.0-r0/recipe-sysroot=-fdebug-prefix-map=/ホーム/ubuntu/bsp38-fzj/sw-prj-SDV_HPC_Linux_s32g399a/build_s32g399avtvmcu2/tmp/work/s32g399avtvmcu2-fsl-Linux/ipc-shm/1.0-r0/recipe-sysroot-native=-I/ホーム/ubuntu/bsp38-fzj/sw-prj-SDV_HPC_Linux_s32g399a/build_s32g399avtvmcu2/tmp/work/s32g399avtvmcu2-fsl-Linux/ipc-shm/1.0-r0/recipe-sysroot/usr/includeKERNEL_PATH=/ホーム/ubuntu/bsp38-fzj/sw-prj-SDV_HPC_Linux_s32g399a/build_s32g399avtvmcu2/tmp/work-shared/s32g399avtvmcu2/kernel-source KERNEL_VERSION=5.15.119-rt65+ge18f05316cd9CC=aarch64-fsl-Linux-gcc -fuse-ld=bfd -fmacro-prefix-map=/ホーム/ubuntu/bsp38-fzj/sw-prj-SDV_HPC_Linux_s32g399a/build_s32g399avtvmcu2/tmp/work/s32g399avtvmcu2-fsl-Linux/ipc-shm/1.0-r0=/usr/src/debug/ipc-shm/1.0-r0-fdebug-prefix-map=/ホーム/ubuntu/bsp38-fzj/sw-prj-SDV_HPC_Linux_s32g399a/build_s32g399avtvmcu2/tmp/work/s32g399avtvmcu2-fsl-Linux/ipc-shm/1.0-r0=/usr/src/debug/ipc-shm/1.0-r0-fdebug-prefix-map=/ホーム/ubuntu/bsp38-fzj/sw-prj-SDV_HPC_Linux_s32g399a/build_s32g399avtvmcu2/tmp/work/s32g399avtvmcu2-fsl-Linux/ipc-shm/1.0-r0/recipe-sysroot=-fdebug-prefix-map=/ホーム/ubuntu/bsp38-fzj/sw-prj-SDV_HPC_Linux_s32g399a/build_s32g399avtvmcu2/tmp/work/s32g399avtvmcu2-fsl-Linux/ipc-shm/1.0-r0/recipe-sysroot-native=-fdebug-prefix-map=/ホーム/ubuntu/bsp38-fzj/sw-prj-SDV_HPC_Linux_s32g399a/build_s32g399avtvmcu2/tmp/work-shared/s32g399avtvmcu2/kernel-source=/usr/src/kernel -fdebug-prefix-map=/ホーム/ubuntu/bsp38-fzj/sw-prj-SDV_HPC_Linux_s32g399a/build_s32g399avtvmcu2/tmp/work-shared/s32g399avtvmcu2/kernel-build-artifacts=/usr/src/kernel LD=aarch64-fsl-Linux-ld.bfd AR=aarch64-fsl-Linux-ar O=/ホーム/ubuntu/bsp38-fzj/sw-prj-SDV_HPC_Linux_s32g399a/build_s32g399avtvmcu2/tmp/work-shared/s32g399avtvmcu2/カーネルビルドアーティファクト KBUILD_EXTRA_SYMBOLS=
| make -C sample_user ;
| make[1]: 警告: ジョブサーバーが利用できません: -j1 を使用しています。親の make ルールに '+' を追加します。
| make[1]: ディレクトリ '/ホーム/ubuntu/bsp38-fzj/sw-prj-SDV_HPC_Linux_s32g399a/build_s32g399avtvmcu2/tmp/work/s32g399avtvmcu2-fsl-linux/ipc-shm/1.0-r0/git/sample_user' に入ります
| アプリファイルのビルディング: sample.c
| aarch64-fsl-Linux-gcc -fuse-ld=bfd -fmacro-prefix-map=/ホーム/ubuntu/bsp38-fzj/sw-prj-SDV_HPC_Linux_s32g399a/build_s32g399avtvmcu2/tmp/work/s32g399avtvmcu2-fsl-Linux/ipc-shm/1.0-r0=/usr/src/debug/ipc-shm/1.0-r0-fdebug-prefix-map=/ホーム/ubuntu/bsp38-fzj/sw-prj-SDV_HPC_Linux_s32g399a/build_s32g399avtvmcu2/tmp/work/s32g399avtvmcu2-fsl-Linux/ipc-shm/1.0-r0=/usr/src/debug/ipc-shm/1.0-r0-fdebug-prefix-map=/ホーム/ubuntu/bsp38-fzj/sw-prj-SDV_HPC_Linux_s32g399a/build_s32g399avtvmcu2/tmp/work/s32g399avtvmcu2-fsl-Linux/ipc-shm/1.0-r0/recipe-sysroot=-fdebug-prefix-map=/ホーム/ubuntu/bsp38-fzj/sw-prj-SDV_HPC_Linux_s32g399a/build_s32g399avtvmcu2/tmp/work/s32g399avtvmcu2-fsl-Linux/ipc-shm/1.0-r0/recipe-sysroot-native=-fdebug-prefix-map=/ホーム/ubuntu/bsp38-fzj/sw-prj-SDV_HPC_Linux_s32g399a/build_s32g399avtvmcu2/tmp/work-shared/s32g399avtvmcu2/kernel-source=/usr/src/kernel -fdebug-prefix-map=/ホーム/ubuntu/bsp38-fzj/sw-prj-SDV_HPC_Linux_s32g399a/build_s32g399avtvmcu2/tmp/work-shared/s32g399avtvmcu2/kernel-build-artifacts=/usr/src/kernel -c -O2 -pipe -g -feliminate-unused-debug-types -fmacro-prefix-map=/ホーム/ubuntu/bsp38-fzj/sw-prj-SDV_HPC_Linux_s32g399a/build_s32g399avtvmcu2/tmp/work/s32g399avtvmcu2-fsl-Linux/ipc-shm/1.0-r0=/usr/src/debug/ipc-shm/1.0-r0-fdebug-prefix-map=/ホーム/ubuntu/bsp38-fzj/sw-prj-SDV_HPC_Linux_s32g399a/build_s32g399avtvmcu2/tmp/work/s32g399avtvmcu2-fsl-Linux/ipc-shm/1.0-r0=/usr/src/debug/ipc-shm/1.0-r0-fdebug-prefix-map=/ホーム/ubuntu/bsp38-fzj/sw-prj-SDV_HPC_Linux_s32g399a/build_s32g399avtvmcu2/tmp/work/s32g399avtvmcu2-fsl-Linux/ipc-shm/1.0-r0/recipe-sysroot=-fdebug-prefix-map=/ホーム/ubuntu/bsp38-fzj/sw-prj-SDV_HPC_Linux_s32g399a/build_s32g399avtvmcu2/tmp/work/s32g399avtvmcu2-fsl-Linux/ipc-shm/1.0-r0/recipe-sysroot-native=-I/ホーム/ubuntu/bsp38-fzj/sw-prj-SDV_HPC_Linux_s32g399a/build_s32g399avtvmcu2/tmp/work/s32g399avtvmcu2-fsl-Linux/ipc-shm/1.0-r0/recipe-sysroot/usr/include-o サンプル.oサンプル.c
| サンプル.c:17:10:致命的なエラー: ipc-shm.h:そのようなファイル、又はディレクトリはありません
| 17 | #include "ipc-shm.h"
| | ^~~~~~~~~~~
| コンパイルが終了しました。
| make[1]: *** [Makefile:64: sample.o]エラー1
| make[1]: ディレクトリ '/ホーム/ubuntu/bsp38-fzj/sw-prj-SDV_HPC_Linux_s32g399a/build_s32g399avtvmcu2/tmp/work/s32g399avtvmcu2-fsl-Linux/ipc-shm/1.0-r0/git/sample_user' から抜けます
| make: *** [makefile_samples:16: default] エラー 2
| エラー: oe_runmake が失敗しました
| 警告: シェル コマンドから終了コード 1 が返されました。
この問題の解決を手伝っていただけますか?ありがとう。
Re: yocto编译IPCF sample_user报错こんにちは、ジジエ
11 月中旬になりますが、BSP38 のサポートについてはそのバージョンを参照することもできます。
BR
ジョーイ
Re: yocto编译IPCF sample_user报错いつ発売されますか?
Re: yocto编译IPCF sample_user报错いつ発売されますか?
Re: yocto编译IPCF sample_user报错こんにちは、ジジエ
返信が遅くなり申し訳ありません。
あなたの質問に対して、私は社内の SW チームとの議論をお手伝いしました。これがその結果です。
現在のsample_userおよびsample_multi_instance_userアプリケーションは、Yocto ビルドスクリプトにまだ統合されていません。この統合は次期リリースで予定されています。 SO、現在は手動でビルディングすることをお勧めします。ご不便をおかけして申し訳ございません。
BR
ジョーイ
Re: yocto编译IPCF sample_user报错こんにちは、ジジエ
ご返信よろしくお願いします。
社内チームと協議して、これに対する方法があるかどうかを確認します。
BR
ジョーイ
Re: yocto编译IPCF sample_user报错私は yocto を使用してipc-shm-sample_uio.elfを取得しました。
Re: yocto编译IPCF sample_user报错こんにちは、ジジエ
ご返信よろしくお願いします。
yoctoでsample_userをビルドしてファイルを取得するだけですか?
ipc-shm-sample_uio.elf または ipc-shm-sample_cdev.elf ?
BR
ジョーイ
Re: yocto编译IPCF sample_user报错以前にも見たことがあります。デフォルトでは「sample」がコンパイルされますが、「sample_user」に変更しても同じエラーが発生します。
現時点ではアプリをリリースする予定はなく、コンパイルも行う予定です。NXP Yocto を使ってアプリをコンパイルする例を教えていただけますか?それを参考にアプリを修正したいのですが。よろしくお願いいたします。
Re: yocto编译IPCF sample_user报错こんにちは、ジジエ
このリンクの方法を試すCAN: https://github.com/nxp-auto-linux/ipc-shm/tree/release/SW32G_IPCF_4.10.0_D2405/sample_user

参考になれば幸いです。
BR
ジョーイ
Re: yocto编译IPCF sample_user报错生成されたアイテムのスクリーンショットが見つかりません:
ipc-shm-sample_uio.elf
現在は yocto コンパイル バージョンを使用する必要があるため、手動でコンパイルすることはできません。
それでも、Yocto を使用して解決する方法を提供していただければ幸いです。
Re: yocto编译IPCF sample_user报错こんにちは、ジジエ
ご返信と詳しい情報をありがとうございます。
Yocto で IPCF をビルディングするための詳細な説明がないため、現時点では手動でビルディングすることをお勧めします。
また、他のお客様からの方法もありますので、それを応用してみるのも良いでしょう。
fsl-車載-Yocto-bsp/sources/meta-alb/recipes-fsl/images/ のファイルを変更します。
fsl-image-base.bb

ビルディング後、IPCF に関する詳細情報が見つかります。

参考になれば幸いです。
BR
ジョーイ
Re: yocto编译IPCF sample_user报错公式の BSP41 yocto バージョンでコンパイルする場合にも同じ問題が発生します。

bb ファイルは次のとおりです。
ubuntu@ip-10-52-88-17:~/nxp-bsp41/sources/meta-alb/recipes-kernel/ipc-shm$ cat ipc-shm.bb
# SPDXライセンス識別子: BSD-3条項
#
# 著作権 2018-2019、2023 NXP
#
概要 = 「共有メモリを介したプロセス間通信 (ipc-shm) のサポート」
ライセンス = "BSD-3-条項"
LIC_FILES_CHKSUM = "ファイル:// ${COMMON_LICENSE_DIR} /BSD-3-Clause;md5=550794465ba0ec5312d6919e203a55f9"
継承モジュール
IPC-SHM_INCLUDE_PATH = "recipes-kernel/ipc-shm"
IPC-SHM_INCLUDE:s32g2 = " ${IPC-SHM_INCLUDE_PATH} /ipc-shm-s32g2-defs.inc"
IPC-SHM_INCLUDE:s32g3 = " ${IPC-SHM_INCLUDE_PATH} /ipc-shm-s32g3-defs.inc"
IPC-SHM_INCLUDE:s32r45 = " ${IPC-SHM_INCLUDE_PATH} /ipc-shm-s32r45-defs.inc"
${@d.getVar('IPC-SHM_INCLUDE') or ''}が必要
URL ?= "git://github.com/nxp-auto-linux/ipc-shm;プロトコル=https"
SRC_URI = " ${URL} ;ブランチ= ${BRANCH} "
S = " ${WORKDIR} /git"
宛先ディレクトリ=" ${D} "
MODULES_MODULE_SYMVERS_LOCATION = "."
DEMO_IPCF_APPS ?= "sample_user"
EXTRA_OEMAKE:append = " --file ./makefile_samplesアプリ = " ${DEMO_IPCF_APPS} " INSTALL_DIR = ${DESTDIR} KERNELDIR = ${KBUILD_OUTPUT} "
EXTRA_OEMAKE:append = " PLATFORM_FLAVOR= ${PLATFORM_FLAVOR} "
# 起動時に ipc-shm-uio がロードされないようにする
KERNEL_MODULE_PROBECONF += "ipc-shm-uio"
module_conf_ipc-shm-uio = "ipc-shm-uio をブラックリストに追加"
KERNEL_MODULE_PROBECONF += "ipc-sample-multi-instance"
module_conf_ipc-sample-multi-instance = "ブラックリストipc-sample-multi-instance"
ファイル: ${PN} += " ${sysconfdir} /modprobe.d/*"
Re: yocto编译IPCF sample_user报错どのバージョンの BSP と IPCF を使用していますか?
=> BSP38
=>IPCF: リリース/SW32G_IPCF_4.10.0_D2405
Re: yocto编译IPCF sample_user报错こんにちは、ジジエ
お問い合わせいただきありがとうございます。
どのバージョンの BSP と IPCF を使用していますか?
BR
ジョーイ