Предварительно скомпилированный дистрибутив OpenVINO R5 поддерживает «raspbian 9» и предоставляет некоторые предварительно скомпилированные библиотеки для взаимодействия с их «movidius» флешкой.Я попробовал это, и, например, их предварительно скомпилированная программа "myriad_compile" действительно работает на raspbian.Теперь я делаю то же самое на специально созданной ОС, созданной с помощью OpenADK.Он имеет официальное ядро raspberry pi и использует glibc 2.27, а я тоже использую gcc 7.3.0.Если я запускаю точно такой же двоичный файл, то получаю следующее сообщение:
# ./myriad_compile
mksh: ./myriad_compile: not executable: 32-bit ELF file
В качестве теста я пытался запустить случайный двоичный файл из raspbian в моей ОС, и он работает нормально.Я также попытался запустить случайный двоичный файл из моей ОС на raspbian, и он также работал нормально.
Так что теперь я немного озадачен, что еще может быть причиной этого.
Я сделалПеречень двоичных файлов Intel:
pi@raspberrypi:~/armv7l $ readelf -A ./myriad_compile
Attribute Section: aeabi
File Attributes
Tag_CPU_name: "7-A"
Tag_CPU_arch: v7
Tag_CPU_arch_profile: Application
Tag_ARM_ISA_use: Yes
Tag_THUMB_ISA_use: Thumb-2
Tag_FP_arch: VFPv3-D16
Tag_ABI_PCS_wchar_t: 4
Tag_ABI_FP_rounding: Needed
Tag_ABI_FP_denormal: Needed
Tag_ABI_FP_exceptions: Needed
Tag_ABI_FP_number_model: IEEE 754
Tag_ABI_align_needed: 8-byte
Tag_ABI_align_preserved: 8-byte, except leaf SP
Tag_ABI_enum_size: int
Tag_ABI_VFP_args: VFP registers
Tag_CPU_unaligned_access: v6
И вот случайный исполняемый файл под названием «watchdogctl», скомпилированный моим набором инструментов из моей собственной ОС OpenADK:
pi@raspberrypi:~/armv7l $ readelf -A ./watchdogctl
Attribute Section: aeabi
File Attributes
Tag_CPU_name: "Cortex-A53"
Tag_CPU_arch: v8
Tag_CPU_arch_profile: Application
Tag_ARM_ISA_use: Yes
Tag_THUMB_ISA_use: Thumb-2
Tag_FP_arch: FP for ARMv8
Tag_Advanced_SIMD_arch: NEON for ARMv8
Tag_ABI_PCS_wchar_t: 4
Tag_ABI_FP_rounding: Needed
Tag_ABI_FP_denormal: Needed
Tag_ABI_FP_exceptions: Needed
Tag_ABI_FP_number_model: IEEE 754
Tag_ABI_align_needed: 8-byte
Tag_ABI_align_preserved: 8-byte, except leaf SP
Tag_ABI_enum_size: int
Tag_ABI_VFP_args: VFP registers
Tag_CPU_unaligned_access: v6
Tag_MPextension_use: Allowed
Tag_Virtualization_use: TrustZone and Virtualization Extensions
И этот исполняемый файлиз raspbian 9 работает на моей ОС без проблем, и он скомпилирован даже для более старой версии процессора:
pi@raspberrypi:~/armv7l $ readelf -A /usr/bin/wpa_passphrase
Attribute Section: aeabi
File Attributes
Tag_CPU_name: "6"
Tag_CPU_arch: v6
Tag_ARM_ISA_use: Yes
Tag_THUMB_ISA_use: Thumb-1
Tag_FP_arch: VFPv2
Tag_ABI_PCS_wchar_t: 4
Tag_ABI_FP_rounding: Needed
Tag_ABI_FP_denormal: Needed
Tag_ABI_FP_exceptions: Needed
Tag_ABI_FP_number_model: IEEE 754
Tag_ABI_align_needed: 8-byte
Tag_ABI_align_preserved: 8-byte, except leaf SP
Tag_ABI_enum_size: int
Tag_ABI_VFP_args: VFP registers
Tag_CPU_unaligned_access: v6
Так могу ли я получить дополнительную информацию о том, чего не хватает в моей ОС, присутствующей в raspbian 9?Я вижу, что они используют glibc 2.24, но у меня 2.27, так что я должен быть в порядке, я думаю, а также у меня есть gcc 7, и они используют gcc 6, но это все с новым ABI, поэтому я также не думаю, что есть проблема.
Любые предложения приветствуются!Спасибо