.NETで書かれたコンソールアプリケーションの依存関係

.NETで書かれたコンソールアプリケーションの依存関係

私はヘッドレスRaspberry Pi Bullseyeで微調整し、正常にテストしたフリーウェアコンソールアプリケーションをVB.netに書きました。また、依存関係を確認した後にインストールスクリプトを作成しました(https://bit.ly/multilarm-linux)。ただし、新しいエミュレーション(VirtualBoxのRaspberry Pi Bookwormエミュレーション)では、依存関係をインストールしたにもかかわらず(公平に言えば、Bassドライバを除いて新しいパッケージはインストールされません)、ldd出力は次のようになります。

admin@raspberry:~ $ ldd ./Multilarm
linux-vdso.so.1 (0x00007fff501f5000)
libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f8fa34d1000)
libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f8fa34cb000)
libz.so.1 => not found
librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007f8fa34c1000)
libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007f8fa34a7000)
libstdc++.so.6 => not found
libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f8fa3361000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f8fa318d000)
/lib64/ld-linux-x86-64.so.2 (0x00007f8fa3f87000)

lib64z1 と lib32stdc++6 をインストールしようとしましたが、成功しませんでした。私のアプリケーションには、.netフレームワークファイルが単一のパッケージとして含まれています。この問題は、RPiカーネルが32ビットの名前空間で実行される64ビット(uname -m x86_64)であるという事実に関連しているかどうか疑問に思います。

admin@raspberry:~ $ locate libz.so.1
/usr/lib/i386-linux-gnu/libz.so.1
/usr/lib/i386-linux-gnu/libz.so.1.2.11
admin@raspberry:~ $ locate libstdc++.so.6
/usr/lib/i386-linux-gnu/libstdc++.so.6
/usr/lib/i386-linux-gnu/libstdc++.so.6.0.28
/usr/lib32/libstdc++.so.6
/usr/lib32/libstdc++.so.6.0.28
/usr/share/gdb/auto-load/usr/lib/i386-linux-gnu/libstdc++.so.6.0.28-gdb.py
/usr/share/gdb/auto-load/usr/lib32/libstdc++.so.6.0.28-gdb.py

助けてください。

ベストアンサー1

ソート:必須64ビットライブラリ:

aptDepends=( 
               zlib1g:amd64
               lib32stdc++6:amd64
               libasound2-plugins:amd64
           )

sudo apt-get install -y "${aptDepends[@]}"

おすすめ記事