Почему скомпилированные двоичные файлы intel openvino R5 в моей операционной системе Raspberry Pi "не исполняются"? - PullRequest
0 голосов
/ 28 февраля 2019

Предварительно скомпилированный дистрибутив 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, поэтому я также не думаю, что есть проблема.

Любые предложения приветствуются!Спасибо

1 Ответ

0 голосов
/ 28 февраля 2019

Оооочень, после некоторого поиска и стягивания волос, мне кажется, мне нужно включить опции компиляции «большим пальцем» в моей компиляции glibc.Я выяснил это, снова скомпилировав подмножество моей собственной ОС с этой опцией, а затем загрузил такой двоичный файл в мою старую ОС, затем увидел, что появилось точно такое же сообщение ... поэтому я загрузил ОС для большого пальца, и она работает!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...