Кросс-компиляция Python-расширений - PullRequest
13 голосов
/ 23 декабря 2011

У меня проблема с кросс-компиляцией расширения 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

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

Ответы [ 2 ]

0 голосов
/ 28 мая 2016

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

0 голосов
/ 11 ноября 2015

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

...