shiroro
2025年8月6日 17時31分
以前質問した
https://armadillo.atmark-techno.com/forum/armadillo/26152
からの派生になるのですが、
VScodeで「デバッグモードのアプリをATDEで実行」した際には出てこなかったエラーが、「デバッグモードのアプリをArmadilloで実行」すると出てくるようになりました。
エラー内容は下記のとおりです。
SqfliteFfiException(error, Invalid argument(s): Failed to load dynamic library 'libsqlite3.so': libsqlite3.so: cannot open shared object file: No such file or directory}) DatabaseException(Invalid argument(s): Failed to load dynamic library 'libsqlite3.so': libsqlite3.so: cannot open shared object file: No such file or directory)
libsqlite3.soファイルがコンテナ内にあるかどうかを検索をかけたところ、/usr/lib/aarch64-linux-gnu/libsqlite3.so.0.8.6
のパスが返ってきました。
そのため、https://manual.atmark-techno.com/armadillo-610/armadillo-6x0_abos_migra… を参考にして、TeraTermでコンテナ内に入って、$export LD_LIBRARY_PATH=$LD_LIBRARY_PATH/usr/lib/aarch64-linux-gnu
を実行し、コンテナを保存して、改めてVScodeからデバッグモードのアプリをArmadilloで実行しましたが、同じSqfliteFfiExceptionが出てきます。
デバッグを実行するとコンテナIDが変わるので、設定を保存した時のコンテナIDとデバッグ時のコンテナIDは別のものでした。
コンテナにおける共有ライブラリの設定はどのようにしたらよいでしょうか。
ご教示いただければ幸いです。
コメント
shiroro
at_makoto.sato
佐藤です。
> ご回答ありがとうございます。
> コンテナ内にlibsqlite3-devをインストールした後、改めて「デバッグモードのアプリをArmadilloで実行」を行いましたが、同じSqfliteFfiExceptionが表示されました。
コンテナ内に "libsqlite3.so" が存在していることは確認できましたでしょうか。
> 一応コンテナ内で$export LD_LIBRARY_PATH=$LD_LIBRARY_PATH/usr/lib/aarch64-linux-gnu
も実行しています。
> インストール後に何か設定が必要でしょうか?
コロンが抜けています。正しくは以下かと思います。
$export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib/aarch64-linux-gnu
shiroro
> コンテナ内に "libsqlite3.so" が存在していることは確認できましたでしょうか。
不勉強で申し訳ありませんが、コンテナ内にlibsqlite3-devをインストールした際にできたlibsqlite3.soがあることはどのようにして確認できるでしょうか?
> コロンが抜けています。正しくは以下かと思います。
> $export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib/aarch64-linux-gnu
申し訳ありません。こちらは私がこちらに入力する際のミスで、実際にTeraTermに入力した際にはコロンを入れた状態です。
at_makoto.sato
佐藤です。
> > コンテナ内に "libsqlite3.so" が存在していることは確認できましたでしょうか。
>
> 不勉強で申し訳ありませんが、コンテナ内にlibsqlite3-devをインストールした際にできたlibsqlite3.soがあることはどのようにして確認できるでしょうか?
最初の質問で、
> libsqlite3.soファイルがコンテナ内にあるかどうかを検索をかけたところ、/usr/lib/aarch64-linux-gnu/libsqlite3.so.0.8.6のパスが返ってきました。
とありますので、このときと同じ方法で検索をかけてみると、libsqlite3.so がヒットするかと思います。
at_makoto.sato
2025年8月6日 17時52分
佐藤です。
> libsqlite3.soファイルがコンテナ内にあるかどうかを検索をかけたところ、
/usr/lib/aarch64-linux-gnu/libsqlite3.so.0.8.6
のパスが返ってきました。>
libsqlite3.so は libsqlite3-dev パッケージに含まれています。
コンテナ内に libsqlite3-dev をインストールしてみるとどうでしょうか。