Buildroot Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: Yegor Yefremov <yegor_sub1@visionsystems.de>
To: buildroot@busybox.net
Subject: [Buildroot] [PATCH v4 5/5] New package: python-netifaces
Date: Fri, 23 Dec 2011 09:26:18 +0100	[thread overview]
Message-ID: <4EF43B2A.7080608@visionsystems.de> (raw)
In-Reply-To: <4EF31EEC.2090401@visionsystems.de>

Am 22.12.2011 13:13, schrieb Yegor Yefremov:
> Am 22.12.2011 13:08, schrieb yegorslists at googlemail.com:
>> From: Yegor Yefremov <yegorslists@googlemail.com>
>>
>> Signed-off-by: Yegor Yefremov <yegorslists@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?

Have found some resources, but still don't really understand, how to use it in BR:

http://whatschrisdoing.com/blog/2009/10/16/cross-compiling-python-extensions/
http://pypi.python.org/pypi/distutilscross

I've installed distutilscross and exported the needed environment variables, but setup.py still doesn't take specified crosscompiler while checking for headers (renamed output/host/usr/bin/arm-none-linux-gnueabi-gcc and setup.py didn't complain). Another thing that I don't really understand, how should distutilscross help if I don't include this package?

Yegor

      reply	other threads:[~2011-12-23  8:26 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-12-22 12:08 [Buildroot] [PATCH v4 0/5] Python related changes yegorslists at googlemail.com
2011-12-22 12:08 ` [Buildroot] [PATCH v4 1/5] Python: add external modules option yegorslists at googlemail.com
2011-12-22 12:08 ` [Buildroot] [PATCH v4 2/5] Python: enable zlib support for the host package yegorslists at googlemail.com
2011-12-22 12:08 ` [Buildroot] [PATCH v4 3/5] New package: python-dpkt yegorslists at googlemail.com
2011-12-22 12:08 ` [Buildroot] [PATCH v4 4/5] New package: python-setuptools yegorslists at googlemail.com
2011-12-22 12:17   ` Thomas Petazzoni
2011-12-22 14:04     ` Yegor Yefremov
2011-12-22 12:08 ` [Buildroot] [PATCH v4 5/5] New package: python-netifaces yegorslists at googlemail.com
2011-12-22 12:13   ` Yegor Yefremov
2011-12-23  8:26     ` Yegor Yefremov [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4EF43B2A.7080608@visionsystems.de \
    --to=yegor_sub1@visionsystems.de \
    --cc=buildroot@busybox.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox