Подтвердить что ты не робот

Кросс-компиляция расширений Python

У меня есть проблема с перекрестной компиляцией расширения netifaces в дистрибутиве Buildroot Linux для ARM (Python 2.7.2). Согласно этому блогу http://whatschrisdoing.com/blog/2009/10/16/cross-compiling-python-extensions/, я определил переменные среды CC, LDSHARE и т.д., Но distutils/setuptools не учитывает CC, поэтому все тесты не будут выполнены:

running build
Setting prefix
Setting prefix
running build_ext
checking for getifaddrs... not found. (cached)
checking for getnameinfo... not found. (cached)
checking for socket IOCTLs... not found. (cached)
checking for optional header files... netash/ash.h netatalk/at.h netax25/ax25.h neteconet/ec.h netipx/ipx.h netpacket/packet.h linux/irda.h linux/atm.h linux/llc.h linux/tipc.h linux/dn.h. (cached)
checking whether struct sockaddr has a length field... no. (cached)
checking which sockaddr_xxx structs are defined... at ax25 in in6 ipx un ash ec ll  atmpvc atmsvc dn irda llc. (cached)
building 'netifaces' extension

Есть ли какие-либо другие примеры/учебники по перекрестной компиляции или что я делаю неправильно?

4b9b3361

Ответ 1

Убедитесь, что вы установили пакет distutilscross, как указано в статье, которую вы связали. Это добавляет параметр -x и поддерживает переменные среды PYTHONXCPREFIX/LDSHARED/etc.

Ответ 2

Я не знаю, все еще интересуешься этим вопросом. Кажется, что у вас уже есть цель сборки, поэтому она больше не компилирует c-программу. Попробуйте очистить все файлы и каталоги ниже папки "build" и снова создать.