Armadilloフォーラム

vpuenc_h264のライブラリの参照エラーについて

jfurukawa

2024年6月6日 20時11分

以前、本フォーラム上でご質問させていただいた以下の回答内容の通りcontainerを作成しましたが
https://armadillo.atmark-techno.com/forum/armadillo/20283

"gst-inspect-1.0 vpuenc_h264"を実行時、以下のようなエラーが出力されます。
また、別のG4ではエラーが表示されずvpuenc_h264コマンドを使用できるところまで確認できたものもありました。
こちらについて、原因を探るための方法について教えていただけませんでしょうか。

====
・参照マニュアル:6.11 マルチメディアデータを扱う
 https://armadillo.atmark-techno.com/files/downloads/armadillo-iot-g4/do…
・実行コマンド:
 gst-inspect-1.0 vpuenc_h264
・実行結果:
(gst-plugin-scanner:3713): GStreamer-WARNING **: 10:59:50.947: Failed to load plugin '/usr/lib/aarch64-linux-gnu/gstreamer-1.0/libgstvpu.so': libfslvpuwrap.so.3: cannot open shared object file: No such file or directory
No such element or plugin 'vpuenc_h264'

コメント

at_makoto.sato

2024年6月7日 9時01分

佐藤です。

> "gst-inspect-1.0 vpuenc_h264"を実行時、以下のようなエラーが出力されます。
> また、別のG4ではエラーが表示されずvpuenc_h264コマンドを使用できるところまで確認できたものもありました。
> こちらについて、原因を探るための方法について教えていただけませんでしょうか。
以下のコマンドを実行した結果はどうなってますでしょうか

[container]# echo $LD_LIBRARY_PATH 
[container]# ls /opt/firmware/

> 以下のコマンドを実行した結果はどうなってますでしょうか

佐藤様
ご返信いただきありがとうございます。
実行結果を以下に記載しましたのでご確認のほどよろしくお願いいたします。

[container]#  echo $LD_LIBRARY_PATH
/opt/firmware/usr/lib/aarch64-linux-gnu
[container]#  ls /opt/firmware/
etc  usr

at_makoto.sato

2024年6月7日 9時32分

佐藤です。

ありがとうございます。
すいません、更に以下のコマンドの実行結果はどうなってますでしょうか。

[container]# ls /opt/firmware/usr/lib/aarch64-linux-gnu/libfslvpuwrap.so*
[container]# cat /opt/firmware/etc/imxlib_version

> 佐藤です。
>
> ありがとうございます。
> すいません、更に以下のコマンドの実行結果はどうなってますでしょうか。

佐藤様
お世話になっております。
以下に実行結果を記載させていただきます。
libfslvpuwrapが参照できていないようでした。

[container]# ls /opt/firmware/usr/lib/aarch64-linux-gnu/libfslvpuwrap.so*
ls: cannot access '/opt/firmware/usr/lib/aarch64-linux-gnu/libfslvpuwrap.so*': No such file or directory
[container]# cat /opt/firmware/etc/imxlib_version
2.2.0

佐藤です。

以下のマニュアルを参照して作成したライブラリイメージをお使いでしょうか。
https://manual.atmark-techno.com/armadillo-iot-g4/armadillo-iotg-g4_pro…
このとき、マニュアルの図6.115にあるようにVPUを使用しないようにしてイメージを作成されませんでしたでしょうか。
もしそうであれば、"--without-vpu" を付けずに再度イメージを作成し、armadilloに書き込めば使えるように鳴ると思います。

> 佐藤です。
>
> 以下のマニュアルを参照して作成したライブラリイメージをお使いでしょうか。
> https://manual.atmark-techno.com/armadillo-iot-g4/armadillo-iotg-g4_pro…
> このとき、マニュアルの図6.115にあるようにVPUを使用しないようにしてイメージを作成されませんでしたでしょうか。
> もしそうであれば、"--without-vpu" を付けずに再度イメージを作成し、armadilloに書き込めば使えるように鳴ると思います。

佐藤様

お世話になっております。
先日、以下のフォーラムでご回答いただいたイメージを使用させていただいております。
https://armadillo.atmark-techno.com/forum/armadillo/20283

具体的には、at-debian-image(debian bullseyeサンプルコンテナ)をベースにしたコンテナを構築するために
以下リンクからDebian11のサンプルcontainerイメージをPodman loadで取込後、マニュアルの「6.11.2. GStreamer 実行用コンテナを作成する」の手順を実施しております。
https://armadillo.atmark-techno.com/resources/software/armadillo-iot-g4…

大変恐れ入りますが、上記の手順で行った場合のVPUの有効化の手順についてご教示いただけますでしょうか。
また、上記の手順を行った場合に正常にlibfslvpuwrap.soが参照できるG4とそうでないものがございます。

佐藤です。

まず、ATDE上で以下の手順を行ってください

[ATDE ~]$ git config --global user.name "Your name" (※適宜変更してください)
[ATDE ~]$ git config --global user.email your@mail.tld (※適宜変更してください)
[ATDE ~]$ sudo apt update
[ATDE ~]$ sudo apt install at-imxlibpackage
[ATDE ~]$ mkdir at-imxlibpackage
[ATDE ~]$ cd at-imxlibpackage
[ATDE ~/at-imxlibpackage]$ make-imxlibpkg (※実行中にライセンスへの同意を求められます。内容を確認の上、同意する場合は y を入力して処理を進めてください。)

上記手順が終了したら続けて以下を実行してください。

[ATDE ~]$ cd at-imxlibpackage
[ATDE ~/at-imxlibpackage]$ make-imxlibimage

ここまで終了すると、 imx_lib.img というファイルができていると思います。
これを armadillo 上へコピーしてください。

次からはarmadillo上での手順となります。

[armadillo ~]$ umount /opt/firmware
[armadillo ~]$ dd if=/tmp/imx_lib.img of=/dev/mmcblk2p4 bs=1M conv=fsync (※/tmp/imx_lib.imgの部分は実際にimx_lib.imgがあるパスにしてください)
[armadillo ~]$ mount /opt/firmware

以上の手順を完了後にコンテナを起動するとvpuが使えるようになっていると思います。

佐藤様

お世話になっております。
ご返信が遅くなりまして申し訳ございません。
先ほど、ご教示いただいた手順で無事gst-inspect-1.0コマンドでvpuenc_h264を確認することができました。
お忙しいところご対応頂きましてありがとうございます。

また、確認を行ったG4以外に別のG4を所持しておりますが、こちらで同じ事象が発生しなかった原因についてご存じでしたらご教示いただけますでしょうか。
キッティングなど初回に行う手順が抜けている可能性があるのではと思い確認させていただきました。

佐藤です。

> また、確認を行ったG4以外に別のG4を所持しておりますが、こちらで同じ事象が発生しなかった原因についてご存じでしたらご教示いただけますでしょうか。
> キッティングなど初回に行う手順が抜けている可能性があるのではと思い確認させていただきました。
G4購入後、何も手を加えていないのであれば、libfslvpuwrap.soファイルがなくなるということはありません。

今回、問題が発生したG4に関して、"--without-vpu" を付けて作成した imx_lib.img を書き込んだということはないでしょうか?

> 佐藤です。
> G4購入後、何も手を加えていないのであれば、libfslvpuwrap.soファイルがなくなるということはありません。
>
> 今回、問題が発生したG4に関して、"--without-vpu" を付けて作成した imx_lib.img を書き込んだということはないでしょうか?

先日展開しましたフォーラムの手順で構築したのみで"--without-vpu"は実行しておりません。
libfslvpuwrap.soファイルがなくなるということはない想定とのこと承知いたしました。
ご回答ありがとうございます。