python-netifaces: add -x option to fix cross-compilation
PATCH 1/1 python-netifaces: add -x option to fix cross-compilation
From: Yegor Yefremov <[email protected]>
--- package/python-netifaces/python-netifaces.mk | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-)
package/python-netifaces/python-netifaces.mk +1 -1
@@ -14,7 +14,7 @@ define PYTHON_NETIFACES_BUILD_CMDS (cd $(@D); \ PYTHONXCPREFIX="$(STAGING_DIR)/usr/" \ LDFLAGS="-L$(STAGING_DIR)/lib -L$(STAGING_DIR)/usr/lib" \ - $(HOST_DIR)/usr/bin/python setup.py build) + $(HOST_DIR)/usr/bin/python setup.py build -x) endef define PYTHON_NETIFACES_INSTALL_TARGET_CMDS
Signature · 1 line
1.7.1.1
PATCH 1/1 python-netifaces: add -x option to fix cross-compilation
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
"yegorslists" == yegorslists <[email protected]> writes:
Hi,
yegorslists> From: Yegor Yefremov <[email protected]> yegorslists> Signed-off-by: Yegor Yefremov <[email protected]> yegorslists> ---
yegorslists> package/python-netifaces/python-netifaces.mk | 2 +-
yegorslists> 1 files changed, 1 insertions(+), 1 deletions(-)
yegorslists> diff --git a/package/python-netifaces/python-netifaces.mk b/package/python-netifaces/python-netifaces.mk yegorslists> index e9a7099..5bfa326 100644
yegorslists> --- a/package/python-netifaces/python-netifaces.mk
yegorslists> +++ b/package/python-netifaces/python-netifaces.mk
yegorslists> @@ -14,7 +14,7 @@ define PYTHON_NETIFACES_BUILD_CMDS
yegorslists> (cd $(@D); \ yegorslists> PYTHONXCPREFIX="$(STAGING_DIR)/usr/" \ yegorslists> LDFLAGS="-L$(STAGING_DIR)/lib -L$(STAGING_DIR)/usr/lib" \
yegorslists> - $(HOST_DIR)/usr/bin/python setup.py build)
yegorslists> + $(HOST_DIR)/usr/bin/python setup.py build -x)
yegorslists> endef
Thanks, so far so good, but it still doesn't build here:
building 'netifaces' extension/home/peko/source/buildroot/output/host/usr/bin/arm-linux-gcc -fno-strict-aliasing -pipe -Os -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC -DHAVE_GETNAMEINFO=1 -DHAVE_SIOCGIFCONF=1 -DHAVE_SIOCGIFHWADDR=1 -DHAVE_SIOCGIFADDR=1 -DHAVE_SIOCGIFFLAGS=1 -DHAVE_SIOCGIFDSTADDR=1 -DHAVE_SIOCGIFBRDADDR=1 -DHAVE_SIOCGIFNETMASK=1 -DHAVE_SOCKET_IOCTLS=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_AX25=1 -DHAVE_SOCKADDR_IN=1 -DHAVE_SOCKADDR_IN6=1 -DHAVE_SOCKADDR_IPX=1 -DHAVE_SOCKADDR_UN=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/peko/source/buildroot/output/host/usr/arm-unknown-linux-uclibcgnueabi/sysroot/usr/include/python2.7 -c netifaces.c -o build/temp.linux-x86_64-2.7/netifaces.o netifaces.c: In function 'ifaddrs':
netifaces.c:627: error: invalid type argument of '->' (have 'struct ifreq')
netifaces.c:637: error: expected ';' before 'do'
Where netifaces.c:627 is:
if (string_from_sockaddr (ifr->CNAME(ifr_addr), buffer, sizeof (buffer)) == 0) {
and netifaces.c:637 is:
Py_XDECREF (dict);
Py_XDECREF (list)
Py_XDECREF (family);What kind of toolchain configuration are you using?
I also notice that it detects HAVE_SOCKADDR_IN6 even though my config doesn't have IPv6 support, which might be a problem.
Signature · 1 line
Bye, Peter Korsgaard
PATCH 1/1 python-netifaces: add -x option to fix cross-compilation
Am 09.01.2012 09:18, schrieb Peter Korsgaard:
Quoted 18 lines
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
"yegorslists" == yegorslists <[email protected]> writes:
Hi,
yegorslists> From: Yegor Yefremov <[email protected]> yegorslists> Signed-off-by: Yegor Yefremov <[email protected]> yegorslists> ---
yegorslists> package/python-netifaces/python-netifaces.mk | 2 +-yegorslists> 1 files changed, 1 insertions(+), 1 deletions(-)
yegorslists> diff --git
a/package/python-netifaces/python-netifaces.mkb/package/python-netifaces/python-netifaces.mkyegorslists> index e9a7099..5bfa326 100644
yegorslists> ---a/package/python-netifaces/python-netifaces.mk
yegorslists> +++b/package/python-netifaces/python-netifaces.mk
yegorslists> @@ -14,7 +14,7 @@ definePYTHON_NETIFACES_BUILD_CMDSyegorslists> (cd $(@D); \ yegorslists> PYTHONXCPREFIX="$(STAGING_DIR)/usr/" \ yegorslists> LDFLAGS="-L$(STAGING_DIR)/lib -L$(STAGING_DIR)/usr/lib" \
Quoted 8 lines
yegorslists> - $(HOST_DIR)/usr/bin/python
setup.pybuild)
yegorslists> + $(HOST_DIR)/usr/bin/pythonsetup.pybuild -x)
yegorslists> endefThanks, so far so good, but it still doesn't build here:
building 'netifaces' extension
/home/peko/source/buildroot/output/host/usr/bin/arm-linux-gcc-fno-strict-aliasing -pipe -Os -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC -DHAVE_GETNAMEINFO=1 -DHAVE_SIOCGIFCONF=1 -DHAVE_SIOCGIFHWADDR=1 -DHAVE_SIOCGIFADDR=1 -DHAVE_SIOCGIFFLAGS=1 -DHAVE_SIOCGIFDSTADDR=1 -DHAVE_SIOCGIFBRDADDR=1 -DHAVE_SIOCGIFNETMASK=1 -DHAVE_SOCKET_IOCTLS=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_AX25=1 -DHAVE_SOCKADDR_IN=1 -DHAVE_SOCKADDR_IN6=1 -DHAVE_SOCKADDR_IPX=1 -DHAVE_SOCKADDR_UN=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/peko/source/buildroot/output/host/usr/arm-unknown-linux-uclibcgnueabi/sysroot/usr/include/python2.7 -cnetifaces.c-o build/temp.linux-x86_64-2.7/netifaces.
o
Quoted 11 lines
netifaces.c: In function 'ifaddrs':
netifaces.c:627: error: invalid type argument of '->' (have 'struct ifreq') netifaces.c:637: error: expected ';' before 'do'Where netifaces.c:627 is:
if (
string_from_sockaddr(ifr->CNAME(ifr_addr), buffer, sizeof (buffer)) == 0) {and netifaces.c:637 is:
Quoted 8 lines
Py_XDECREF (dict); Py_XDECREF (list) Py_XDECREF (family);What kind of toolchain configuration are you using?
I also notice that it detects
HAVE_SOCKADDR_IN6even though my config doesn't have IPv6 support, which might be a problem.
That's really strange. I used CodeSourcery toolchain and had no problems, but with native BR toolchain I have the same behavior as yours. I'll look into this issue.
Yegor
PATCH 1/1 python-netifaces: add -x option to fix cross-compilation
Le Mon, 09 Jan 2012 10:57:23 +0100,
Yegor Yefremov <[email protected]> a ?crit :
Quoted 3 lines
That's really strange. I used CodeSourcery toolchain and had no problems, but with native BR toolchain I have the same behavior as yours. I'll look into this issue.
CodeSourcery toolchains use glibc, so they have IPv6 support enabled.
Thomas
Signature · 4 lines
Thomas Petazzoni, Free Electrons Kernel, drivers, real-time and embedded Linux development, consulting, training and support. http://free-electrons.com
PATCH 1/1 python-netifaces: add -x option to fix cross-compilation
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
"Thomas" == Thomas Petazzoni <[email protected]> writes:
Thomas> Le Mon, 09 Jan 2012 10:57:23 +0100,
Thomas> Yegor Yefremov <[email protected]> a ?crit :
Quoted 3 lines
Quoted 3 lines
That's really strange. I used CodeSourcery toolchain and had no problems, but with native BR toolchain I have the same behavior as yours. I'll look into this issue.
Thomas> CodeSourcery toolchains use glibc, so they have IPv6 support enabled.
Yes, but that doesn't explain the 2nd error (missing ;):
Py_XDECREF (dict);
Py_XDECREF (list)
Py_XDECREF (family);Signature · 1 line
Bye, Peter Korsgaard
PATCH 1/1 python-netifaces: add -x option to fix cross-compilation
Am 09.01.2012 11:35, schrieb Peter Korsgaard:
Quoted 9 lines
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
"Thomas" == Thomas Petazzoni <[email protected]> writes:
Thomas> Le Mon, 09 Jan 2012 10:57:23 +0100,
Thomas> Yegor Yefremov <[email protected]> a ?crit :Quoted 3 lines
Quoted 3 lines
That's really strange. I used CodeSourcery toolchain and had no problems, but with native BR toolchain I have the same behavior as yours. I'll look into this issue.
Quoted 8 lines
Thomas> CodeSourcery toolchains use glibc, so they have IPv6 support enabled.
Yes, but that doesn't explain the 2nd error (missing ;):
Py_XDECREF (dict); Py_XDECREF (list) Py_XDECREF (family);
I've activated UCLIBC_SUPPORT_AI_ADDRCONFIG and now I can compile netifaces without a problem with native toolchain. Here is my .config for reference. Also take a look at this thread: http://lists.busybox.net/pipermail/uclibc/2008-August/040778.html
Yegor
-------------- next part --------------
A non-text attachment was scrubbed...
Name: .config
Type: application/xml
Size: 20230 bytes
Desc: not available
URL: <http://lists.busybox.net/pipermail/buildroot/attachments/20120109/d77b9158/attachment-0001.wsdl>
PATCH 1/1 python-netifaces: add -x option to fix cross-compilation
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
"Yegor" == Yegor Yefremov <[email protected]> writes:
Yegor> I've activated UCLIBC_SUPPORT_AI_ADDRCONFIG and now I can Yegor> compile netifaces without a problem with native toolchain. Here Yegor> is my .config for reference. Also take a look at this thread:
Yegor> http://lists.busybox.net/pipermail/uclibc/2008-August/040778.html
Thanks. I added (and sent upstream) a patch to get netifaces to build without ADDRCONFIG.
Signature · 1 line
Bye, Peter Korsgaard
PATCH 1/1 python-netifaces: add -x option to fix cross-compilation
In reply to yegorslists at googlemail.comQuoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
"yegorslists" == yegorslists <[email protected]> writes:
yegorslists> From: Yegor Yefremov <[email protected]> yegorslists> Signed-off-by: Yegor Yefremov <[email protected]> yegorslists> ---
yegorslists> package/python-netifaces/python-netifaces.mk | 2 +-
yegorslists> 1 files changed, 1 insertions(+), 1 deletions(-)
Committed, thanks.
Signature · 1 line
Bye, Peter Korsgaard