Cross Compiling Python Extensions
Asked Answered
H

2

18

I have a problem with cross-compiling netifaces extension under Buildroot Linux distro for ARM (Python 2.7.2). According to this blog http://whatschrisdoing.com/blog/2009/10/16/cross-compiling-python-extensions/ I've defined CC, LDSHARE etc. environment variables, but distutils/setuptools doesn't take CC into account so all tests will fail:

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

Are there any other cross-compile examples/tutorials or what am I doing wrong?

Hagiocracy answered 23/12, 2011 at 9:26 Comment(0)
U
1

Make sure you have installed the distutilscross package as noted in the article you linked. This adds the -x option and support for PYTHONXCPREFIX/LDSHARED/etc environment variables.

Ulrick answered 11/11, 2015 at 2:6 Comment(0)
P
-1

I don't know whether you still care this question. It seems that you have some build target already, so it doesn't compile the c program any more. Try to clean all the files and directories below "build" folder, and build again.

Periodical answered 28/5, 2016 at 2:24 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.