Как выполнить перекрестную компиляцию целей bpf для Linux на ноутбуке Mac M-серии? ⇐ Linux
Как выполнить перекрестную компиляцию целей bpf для Linux на ноутбуке Mac M-серии?
Я пытаюсь обнаружить и запустить простое приложение eBPF на локальной виртуальной машине Linux на своем ноутбуке Mac M1. Для большей эффективности я решил запустить Ubuntu на базе arm на UTM (VMM с открытым исходным кодом).
Однако у меня возникли проблемы с компиляцией файлов eBPF elf. Самый распространенный способ компиляции, который я нашел в различных технических блогах:
clang -I headers -O -target bpf -c bpf/xdp.c -o bpf/xdp.elf Лично я пытаюсь использовать Mac clang для кросс-компиляции с целью bpf-linux-eabi, но кажется, что clang в Mac не поддерживает такой тип цели
ошибка: невозможно создать цель: «Нет доступных целей, совместимых с тройным «bpf-unknown-linux-eabi»» И clang -print-targets показывает это
Зарегистрированные цели: aarch64 — AArch64 (с прямым порядком байтов) aarch64_32 — AArch64 (с прямым порядком байтов ILP32) aarch64_be — AArch64 (с обратным порядком байтов) рука - ARM Arm64 — ARM64 (с прямым порядком байтов) Arm64_32 — ARM64 (с прямым порядком байтов ILP32) Armeb — ARM (с прямым порядком байтов) большой палец - Большой палец Thumbeb — Большой палец (с обратным порядком байтов) x86 — 32-разрядная версия X86: Pentium-Pro и выше x86-64 — 64-битный X86: EM64T и AMD64 Очевидно, что цель bpf не найдена. Кстати, версия Mac Ventura clang — 14.0.
Я также пытался найти образ Docker clang, доступны только версии linux/amd64 (мне нужен linux/arm64).
Кто-нибудь поможет разобраться, как кросс-компилировать файлы elf на Mac? Либо с помощью Mac clang, либо с помощью docker clang. Заранее спасибо.
Я пытаюсь обнаружить и запустить простое приложение eBPF на локальной виртуальной машине Linux на своем ноутбуке Mac M1. Для большей эффективности я решил запустить Ubuntu на базе arm на UTM (VMM с открытым исходным кодом).
Однако у меня возникли проблемы с компиляцией файлов eBPF elf. Самый распространенный способ компиляции, который я нашел в различных технических блогах:
clang -I headers -O -target bpf -c bpf/xdp.c -o bpf/xdp.elf Лично я пытаюсь использовать Mac clang для кросс-компиляции с целью bpf-linux-eabi, но кажется, что clang в Mac не поддерживает такой тип цели
ошибка: невозможно создать цель: «Нет доступных целей, совместимых с тройным «bpf-unknown-linux-eabi»» И clang -print-targets показывает это
Зарегистрированные цели: aarch64 — AArch64 (с прямым порядком байтов) aarch64_32 — AArch64 (с прямым порядком байтов ILP32) aarch64_be — AArch64 (с обратным порядком байтов) рука - ARM Arm64 — ARM64 (с прямым порядком байтов) Arm64_32 — ARM64 (с прямым порядком байтов ILP32) Armeb — ARM (с прямым порядком байтов) большой палец - Большой палец Thumbeb — Большой палец (с обратным порядком байтов) x86 — 32-разрядная версия X86: Pentium-Pro и выше x86-64 — 64-битный X86: EM64T и AMD64 Очевидно, что цель bpf не найдена. Кстати, версия Mac Ventura clang — 14.0.
Я также пытался найти образ Docker clang, доступны только версии linux/amd64 (мне нужен linux/arm64).
Кто-нибудь поможет разобраться, как кросс-компилировать файлы elf на Mac? Либо с помощью Mac clang, либо с помощью docker clang. Заранее спасибо.
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
В ин-кварто можно ли сделать перекрестную ссылку на рисунок в другом документе?
Anonymous » » в форуме Python - 0 Ответы
- 25 Просмотры
-
Последнее сообщение Anonymous
-