.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[@]}"

관련 정보