[Buildroot] [PATCH v4 5/5] New package: python-netifaces
Yegor Yefremov
yegor_sub1 at visionsystems.de
Thu Dec 22 12:13:32 UTC 2011
Am 22.12.2011 13:08, schrieb yegorslists at googlemail.com:
> From: Yegor Yefremov <yegorslists at googlemail.com>
>
> Signed-off-by: Yegor Yefremov <yegorslists at googlemail.com>
> ---
> package/Config.in | 1 +
> package/python-netifaces/Config.in | 9 +++++++++
> package/python-netifaces/python-netifaces.mk | 26 ++++++++++++++++++++++++++
> 3 files changed, 36 insertions(+), 0 deletions(-)
> create mode 100644 package/python-netifaces/Config.in
> create mode 100644 package/python-netifaces/python-netifaces.mk
>
> diff --git a/package/Config.in b/package/Config.in
> index 71e1889..666a224 100644
> --- a/package/Config.in
> +++ b/package/Config.in
> @@ -240,6 +240,7 @@ if BR2_PACKAGE_PYTHON
> menu "external python modules"
> source "package/python-dpkt/Config.in"
> source "package/python-mad/Config.in"
> +source "package/python-netifaces/Config.in"
> source "package/python-serial/Config.in"
> source "package/python-setuptools/Config.in"
> endmenu
> diff --git a/package/python-netifaces/Config.in b/package/python-netifaces/Config.in
> new file mode 100644
> index 0000000..199191c
> --- /dev/null
> +++ b/package/python-netifaces/Config.in
> @@ -0,0 +1,9 @@
> +config BR2_PACKAGE_PYTHON_NETIFACES
> + bool "python-netifaces"
> + depends on BR2_PACKAGE_PYTHON
> + select BR2_PACKAGE_PYTHON_SETUPTOOLS
> + help
> + Portable access to network interfaces from Python.
> +
> + http://alastairs-place.net/projects/netifaces
> +
> diff --git a/package/python-netifaces/python-netifaces.mk b/package/python-netifaces/python-netifaces.mk
> new file mode 100644
> index 0000000..9a626ef
> --- /dev/null
> +++ b/package/python-netifaces/python-netifaces.mk
> @@ -0,0 +1,26 @@
> +#############################################################
> +#
> +# python-netifaces
> +#
> +#############################################################
> +
> +PYTHON_NETIFACES_VERSION = 0.6
> +PYTHON_NETIFACES_SOURCE = netifaces-$(PYTHON_NETIFACES_VERSION).tar.gz
> +PYTHON_NETIFACES_SITE = http://alastairs-place.net/projects/netifaces
> +
> +PYTHON_NETIFACES_DEPENDENCIES = python host-python-setuptools
> +
> +define PYTHON_NETIFACES_BUILD_CMDS
> + (cd $(@D); \
> + CC="$(TARGET_CC)" \
> + $(HOST_DIR)/usr/bin/python setup.py build)
> +endef
> +
> +define PYTHON_NETIFACES_INSTALL_TARGET_CMDS
> + (cd $(@D); PYTHONPATH=$(TARGET_DIR)/usr/lib/python$(PYTHON_VERSION_MAJOR)/site-packages \
> + $(HOST_DIR)/usr/bin/python setup.py install --prefix=$(TARGET_DIR)/usr)
> +endef
> +
> +
> +$(eval $(call GENTARGETS))
> +
This is what I get:
>>> python-netifaces 0.6 Building
(cd /home/YegorYefremov/projects/versioned/tests/br-queue-python/output/build/python-netifaces-0.6; CC="/home/YegorYefremov/projects/versioned/tests/br-queue-python/output/host/usr/bin/arm-none-linux-gnueabi-gcc" /home/YegorYefremov/projects/versioned/tests/br-queue-python/output/host/usr/bin/python setup.py build)
running build
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
/home/YegorYefremov/projects/versioned/tests/br-queue-python/output/host/usr/bin/arm-none-linux-gnueabi-gcc -fno-strict-aliasing -O2 -I/home/YegorYefremov/projects/versioned/tests/br-queue-python/output/host/include -I/home/YegorYefremov/projects/versioned/tests/br-queue-python/output/host/usr/include -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC -DHAVE_NETASH_ASH_H=1 -DHAVE_NETATALK_AT_H=1 -DHAVE_NETAX25_AX25_H=1 -DHAVE_NETECONET_EC_H=1 -DHAVE_NETIPX_IPX_H=1 -DHAVE_NETPACKET_PACKET_H=1 -DHAVE_LINUX_IRDA_H=1 -DHAVE_LINUX_ATM_H=1 -DHAVE_LINUX_LLC_H=1 -DHAVE_LINUX_TIPC_H=1 -DHAVE_LINUX_DN_H=1 -DHAVE_SOCKADDR_AT=1 -DHAVE_SOCKADDR_AX25=1 -DHAVE_SOCKADDR_IN=1 -DHAVE_SOCKADDR_IN6=1 -DHAVE_SOCKADDR_IPX=1 -DHAVE_SOCKADDR_UN=1 -DHAVE_SOCKADDR_ASH=1 -DHAVE_SOCKADDR_EC=1 -DHAVE_SOCKADDR_LL=1 -DHAVE_SOCKADDR_ATMPVC=1 -DHAVE_SOCKADDR_ATMSVC=1 -DHAVE_SOCKADDR_DN=1 -DHAVE_SOCKADDR_IRDA=1 -DHAVE_SOCKADDR_LLC=1 -I/home/YegorYefremov/projects/versioned/tests/br-queue-python/output/h
ost/usr/include/python2.7 -c netifaces.c -o build/temp.linux-x86_64-2.7/netifaces.o
In file included from /home/YegorYefremov/projects/versioned/tests/br-queue-python/output/host/usr/include/python2.7/Python.h:58:0,
from netifaces.c:1:
/home/YegorYefremov/projects/versioned/tests/br-queue-python/output/host/usr/include/python2.7/pyport.h:849:2: error: #error "LONG_BIT definition appears wrong for platform (bad gcc/glibc config?)."
netifaces.c:143:6: error: #error You need to add code for your platform.
netifaces.c:268:1: warning: 'string_from_sockaddr' defined but not used
netifaces.c:360:1: warning: 'add_to_family' defined but not used
error: command '/home/YegorYefremov/projects/versioned/tests/br-queue-python/output/host/usr/bin/arm-none-linux-gnueabi-gcc' failed with exit status 1
Even if I cheat and let the test for getifaddrs etc. be successful and netifaces.c gets cross-compiled, the process failed as setup.py tries to create a library and uses gcc instead of cross-compiler. Any ideas?
Yegor
More information about the buildroot
mailing list