Skip to contentSkip to conversation

Python related changes

PATCH New yegorslists at googlemail.com 6 participants 18 messages Jan 4, 2012 – Jan 9, 2012

lore
Share & tools
lore
#0 lore raw

v5 cover Python related changes

1. add infrastructure for external python packages
2. enable zlib support for host-python due to setuptools and others dependencies
3. add some external packages
4. add distutilscross for cross-compiling python extensions
5. fix netifaces cross-compilation issue

Yegor

#1 lore raw

PATCH v5 1/6 Python: add external modules option

From: Yegor Yefremov <[email protected]>

all external python packages/libraries should reside in "external python modules" section.

Move existing modules python-serial and python-mad there

Move python-mad from package/multimedia to package

---
 package/Config.in                           |    7 ++++-
 package/multimedia/Config.in                |    1 -
 package/multimedia/python-mad/Config.in     |    9 ------
 package/multimedia/python-mad/python-mad.mk |   41 ---------------------------
 package/python-mad/Config.in                |    9 ++++++
 package/python-mad/python-mad.mk            |   41 +++++++++++++++++++++++++++
 6 files changed, 56 insertions(+), 52 deletions(-)
 delete mode 100644 package/multimedia/python-mad/Config.in
 delete mode 100644 package/multimedia/python-mad/python-mad.mk
 create mode 100644 package/python-mad/Config.in
 create mode 100644 package/python-mad/python-mad.mk
package/Config.in +6 -1
index eb93b1c..6ab893f 100644
@@ -236,6 +236,12 @@ endif
 source "package/microperl/Config.in"
 source "package/php/Config.in"
 source "package/python/Config.in"
+if BR2_PACKAGE_PYTHON
+menu "external python modules"
+source "package/python-mad/Config.in"
+source "package/python-serial/Config.in"
+endmenu
+endif
 source "package/ruby/Config.in"
 source "package/tcl/Config.in"
 endmenu
@@ -312,7 +318,6 @@ source "package/libhid/Config.in"
 source "package/libiqrf/Config.in"
 source "package/libusb/Config.in"
 source "package/libusb-compat/Config.in"
-source "package/python-serial/Config.in"
 endmenu
 
 if BROKEN
package/multimedia/Config.in +0 -1
index d50e4fc..a05d1d9 100644
@@ -40,7 +40,6 @@ source "package/multimedia/mplayer/Config.in"
 source "package/multimedia/musepack/Config.in"
 source "package/multimedia/portaudio/Config.in"
 source "package/multimedia/pulseaudio/Config.in"
-source "package/multimedia/python-mad/Config.in"
 source "package/multimedia/speex/Config.in"
 source "package/multimedia/tidsp-binaries/Config.in"
 source "package/multimedia/taglib/Config.in"
package/multimedia/python-mad/Config.in deleted +0 -9
deleted file mode 100644
index 2535421..0000000
@@ -1,9 +0,0 @@
-config BR2_PACKAGE_PYTHON_MAD
-	bool "python-mad"
-	depends on BR2_PACKAGE_PYTHON
-	select BR2_PACKAGE_LIBMAD
-	help
-	  python-mad is a Python binding for the MAD library, a
-	  high-quality integer-only MPEG decoder.
-
-	  http://spacepants.org/src/pymad/
package/multimedia/python-mad/python-mad.mk deleted +0 -41

41 lines not on this page · raw message

package/python-mad/Config.in new file +9 -0
new file mode 100644
index 0000000..2535421
@@ -0,0 +1,9 @@
+config BR2_PACKAGE_PYTHON_MAD
+	bool "python-mad"
+	depends on BR2_PACKAGE_PYTHON
+	select BR2_PACKAGE_LIBMAD
+	help
+	  python-mad is a Python binding for the MAD library, a
+	  high-quality integer-only MPEG decoder.
+
+	  http://spacepants.org/src/pymad/
package/python-mad/python-mad.mk new file +41 -0

41 lines not on this page · raw message

Signature · 1 line
1.7.1.1
#2 lore raw

PATCH v5 1/6 Python: add external modules option

Quoted 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> all external python packages/libraries should reside in yegorslists> "external python modules" section.

yegorslists> Move existing modules python-serial and python-mad there

yegorslists> Move python-mad from package/multimedia to package

Committed, thanks. Please consider enabling git's rename detection (-M) to make such a patch here a lot easier to review.

Signature · 1 line
Bye, Peter Korsgaard
#3 lore raw

PATCH v5 2/6 Python: enable zlib support for the host package

In reply to yegorslists at googlemail.com

From: Yegor Yefremov <[email protected]>

zlib is needed for the host-setuptools package

---
 package/python/python.mk |    3 +--
 1 files changed, 1 insertions(+), 2 deletions(-)
package/python/python.mk +1 -2
index 9ef2ccc..78895d4 100644
@@ -28,7 +28,6 @@ HOST_PYTHON_CONF_OPT += 	\
 	--disable-bsddb		\
 	--disable-test-modules	\
 	--disable-bz2		\
-	--disable-zlib		\
 	--disable-ssl
 
 HOST_PYTHON_MAKE_ENV = \
@@ -52,7 +51,7 @@ endef
 
 PYTHON_DEPENDENCIES  = host-python libffi
 
-HOST_PYTHON_DEPENDENCIES = host-expat
+HOST_PYTHON_DEPENDENCIES = host-expat host-zlib
 
 PYTHON_INSTALL_STAGING = YES
 
Signature · 1 line
1.7.1.1
#4 lore raw

PATCH v5 2/6 Python: enable zlib support for the host package

Quoted 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> zlib is needed for the host-setuptools package

Committed, thanks.

Signature · 1 line
Bye, Peter Korsgaard
#5 lore raw

PATCH v5 3/6 New package: python-dpkt

In reply to yegorslists at googlemail.com

From: Yegor Yefremov <[email protected]>

---
 package/Config.in                  |    1 +
 package/python-dpkt/Config.in      |   11 +++++++++++
 package/python-dpkt/python-dpkt.mk |   22 ++++++++++++++++++++++
 3 files changed, 34 insertions(+), 0 deletions(-)
 create mode 100644 package/python-dpkt/Config.in
 create mode 100644 package/python-dpkt/python-dpkt.mk
package/Config.in +1 -0
index 6ab893f..bb5e5b0 100644
@@ -238,6 +238,7 @@ source "package/php/Config.in"
 source "package/python/Config.in"
 if BR2_PACKAGE_PYTHON
 menu "external python modules"
+source "package/python-dpkt/Config.in"
 source "package/python-mad/Config.in"
 source "package/python-serial/Config.in"
 endmenu
package/python-dpkt/Config.in new file +11 -0
new file mode 100644
index 0000000..aac9f09
@@ -0,0 +1,11 @@
+config BR2_PACKAGE_PYTHON_DPKT
+	bool "python-dpkt"
+	depends on BR2_PACKAGE_PYTHON
+	select BR2_PACKAGE_PYTHON_ZLIB
+	help
+	  Fast, simple packet creation / parsing, with definitions
+	  for the basic TCP/IP protocols.
+
+	  http://code.google.com/p/dpkt/
+
+
package/python-dpkt/python-dpkt.mk new file +22 -0
new file mode 100644
index 0000000..7ac873c
@@ -0,0 +1,22 @@
+#############################################################
+#
+# python-dpkt
+#
+#############################################################
+
+PYTHON_DPKT_VERSION = 1.7
+PYTHON_DPKT_SOURCE  = dpkt-$(PYTHON_DPKT_VERSION).tar.gz
+PYTHON_DPKT_SITE    = http://dpkt.googlecode.com/files
+
+PYTHON_DPKT_DEPENDENCIES = python
+
+define PYTHON_DPKT_BUILD_CMDS
+	(cd $(@D); $(HOST_DIR)/usr/bin/python setup.py build)
+endef
+
+define PYTHON_DPKT_INSTALL_TARGET_CMDS
+	(cd $(@D); $(HOST_DIR)/usr/bin/python setup.py install --prefix=$(TARGET_DIR)/usr)
+endef
+
+$(eval $(call GENTARGETS))
+
Signature · 1 line
1.7.1.1
#6 lore raw

PATCH v5 3/6 New package: python-dpkt

Quoted 18 lines · yegorslists at googlemail.com
package/python-dpkt/python-dpkt.mk new file +12 -0
new file mode 100644
index 0000000..7ac873c
@@ -0,0 +1,22 @@
+#############################################################
+#
+# python-dpkt
+#
+#############################################################
+
+PYTHON_DPKT_VERSION = 1.7
+PYTHON_DPKT_SOURCE  = dpkt-$(PYTHON_DPKT_VERSION).tar.gz
+PYTHON_DPKT_SITE    = http://dpkt.googlecode.com/files
+
+PYTHON_DPKT_DEPENDENCIES = python
+

package/python-dpkt/python-dpkt.mk line 22

Quoted 10 lines
package/python-dpkt/python-dpkt.mk new file +10 -0
+define PYTHON_DPKT_BUILD_CMDS
+	(cd $(@D); $(HOST_DIR)/usr/bin/python setup.py build)
+endef
+
+define PYTHON_DPKT_INSTALL_TARGET_CMDS
+	(cd $(@D); $(HOST_DIR)/usr/bin/python setup.py install --prefix=$(TARGET_DIR)/usr)
+endef
+
+$(eval $(call GENTARGETS))
+

Do somebody ever thought in doing a distutils package infrastructure that would make the adding of a new python package just a matter of:

     $(eval $(call DISTUTILSTARGETS))

(or something like that)
?

Regards,
Julien

#7 lore raw

PATCH v5 3/6 New package: python-dpkt

Le Thu, 05 Jan 2012 11:14:09 +0100,
Julien Boibessot <[email protected]> a ?crit :

Quoted 4 lines

Do somebody ever thought in doing a distutils package infrastructure that would make the adding of a new python package just a matter of:

     $(eval $(call DISTUTILSTARGETS))

(or something like that)

Yeah, we discussed that sometime ago. I think our conclusion was:
"let's wait to have a few Python packages to see what are the common things and then we'll do an infrastructure". I guess we could merge Yegor's patches as is and then work on a common infrastructure.

Regards,

Thomas

Signature · 4 lines
Thomas Petazzoni, Free Electrons
Kernel, drivers, real-time and embedded Linux
development, consulting, training and support.
http://free-electrons.com
#8 lore raw

PATCH v5 3/6 New package: python-dpkt

Am 05.01.2012 11:16, schrieb Thomas Petazzoni:

Quoted 8 lines

Le Thu, 05 Jan 2012 11:14:09 +0100,
Julien Boibessot <[email protected]> a ?crit :

Quoted 4 lines

Do somebody ever thought in doing a distutils package infrastructure that would make the adding of a new python package just a matter of:

     $(eval $(call DISTUTILSTARGETS))

(or something like that)

Quoted 4 lines

Yeah, we discussed that sometime ago. I think our conclusion was:
"let's wait to have a few Python packages to see what are the common things and then we'll do an infrastructure". I guess we could merge Yegor's patches as is and then work on a common infrastructure.

I agree. These package can be merged as they are. In the patch series we have 3 packages all using different installation methods:

dpkt - uses internal distutils and ships no C code
mad - uses internal distutils but a part of it must be cross-compiled
netifaces - uses setuptools on top of distutils, has C code and uses distutilscross to get the code crosscompiled

in the future there will be one more internal tool ditsutils2 https://bitbucket.org/tarek/distutils2/overview

and Chris Lambacher is going to PyCon with following talk: https://us.pycon.org/2012/schedule/presentation/11/

So we should wait a little till the sings will calm down and then make our decision.

Best regards,
Yegor

#9 lore raw

PATCH v5 3/6 New package: python-dpkt

In reply to yegorslists at googlemail.com
Quoted 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> Reviewed-by: Arnout Vandecappelle (Essensium/Mind) <[email protected]>

Committed, thanks.

Signature · 1 line
Bye, Peter Korsgaard
#10 lore raw

PATCH v5 4/6 New package: python-setuptools

In reply to yegorslists at googlemail.com

From: Yegor Yefremov <[email protected]>

---
 package/Config.in                              |    1 +
 package/python-setuptools/Config.in            |    8 +++++
 package/python-setuptools/python-setuptools.mk |   34 ++++++++++++++++++++++++
 3 files changed, 43 insertions(+), 0 deletions(-)
 create mode 100644 package/python-setuptools/Config.in
 create mode 100644 package/python-setuptools/python-setuptools.mk
package/Config.in +1 -0
index bb5e5b0..71e1889 100644
@@ -241,6 +241,7 @@ menu "external python modules"
 source "package/python-dpkt/Config.in"
 source "package/python-mad/Config.in"
 source "package/python-serial/Config.in"
+source "package/python-setuptools/Config.in"
 endmenu
 endif
 source "package/ruby/Config.in"
package/python-setuptools/Config.in new file +8 -0
new file mode 100644
index 0000000..63c2b01
@@ -0,0 +1,8 @@
+config BR2_PACKAGE_PYTHON_SETUPTOOLS
+	bool "python-setuptools"
+	depends on BR2_PACKAGE_PYTHON
+	select BR2_PACKAGE_PYTHON_ZLIB
+	help
+	  Download, build, install, upgrade, and uninstall Python packages.
+
+	  http://pypi.python.org/pypi/setuptools
package/python-setuptools/python-setuptools.mk new file +34 -0
new file mode 100644
index 0000000..b75987b
@@ -0,0 +1,34 @@
+#############################################################
+#
+# python-setuptools
+#
+#############################################################
+
+PYTHON_SETUPTOOLS_VERSION = 0.6c11
+PYTHON_SETUPTOOLS_SOURCE  = setuptools-$(PYTHON_SETUPTOOLS_VERSION).tar.gz
+PYTHON_SETUPTOOLS_SITE    = http://pypi.python.org/packages/source/s/setuptools
+PYTHON_SETUPTOOLS_DEPENDENCIES = python
+HOST_PYTHON_SETUPTOOLS_DEPENDENCIES = host-python
+
+
+define HOST_PYTHON_SETUPTOOLS_BUILD_CMDS
+	(cd $(@D); $(HOST_DIR)/usr/bin/python setup.py build)
+endef
+
+define PYTHON_SETUPTOOLS_BUILD_CMDS
+	(cd $(@D); $(HOST_DIR)/usr/bin/python setup.py build)
+endef
+
+define HOST_PYTHON_SETUPTOOLS_INSTALL_CMDS
+	(cd $(@D); PYTHONPATH="$(HOST_DIR)/usr/lib/python$(PYTHON_VERSION_MAJOR)/site-packages"\
+	$(HOST_DIR)/usr/bin/python setup.py install --prefix=$(HOST_DIR)/usr)
+endef
+
+define PYTHON_SETUPTOOLS_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))
+$(eval $(call GENTARGETS,host))
+
Signature · 1 line
1.7.1.1
#11 lore raw

PATCH v5 4/6 New package: python-setuptools

Quoted 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]>

Committed, thanks.

Signature · 1 line
Bye, Peter Korsgaard
#12 lore raw

PATCH v5 5/6 New package: python-distutilscross

In reply to yegorslists at googlemail.com

From: Yegor Yefremov <[email protected]>

---
 .../python-distutilscross/python-distutilscross.mk |   22 ++++++++++++++++++++
 1 files changed, 22 insertions(+), 0 deletions(-)
 create mode 100644 package/python-distutilscross/python-distutilscross.mk
package/python-distutilscross/python-distutilscross.mk new file +22 -0
new file mode 100644
index 0000000..41def71
@@ -0,0 +1,22 @@
+#############################################################
+#
+# python-distutilscross
+#
+#############################################################
+
+PYTHON_DISTUTILSCROSS_VERSION = 0.1
+PYTHON_DISTUTILSCROSS_SOURCE  = distutilscross-$(PYTHON_DISTUTILSCROSS_VERSION).tar.gz
+PYTHON_DISTUTILSCROSS_SITE    = http://pypi.python.org/packages/source/d/distutilscross
+
+HOST_PYTHON_DISTUTILSCROSS_DEPENDENCIES = host-python host-python-setuptools
+
+define HOST_PYTHON_DISTUTILSCROSS_BUILD_CMDS
+	(cd $(@D); $(HOST_DIR)/usr/bin/python setup.py build)
+endef
+
+define HOST_PYTHON_DISTUTILSCROSS_INSTALL_CMDS
+	(cd $(@D); $(HOST_DIR)/usr/bin/python setup.py install --prefix=$(HOST_DIR)/usr)
+endef
+
+$(eval $(call GENTARGETS,host))
+
Signature · 1 line
1.7.1.1
#13 lore raw

PATCH v5 5/6 New package: python-distutilscross

Quoted 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]>

Committed, thanks.

Signature · 1 line
Bye, Peter Korsgaard
#14 lore raw

PATCH v5 6/6 New package: python-netifaces

In reply to yegorslists at googlemail.com

From: Yegor Yefremov <[email protected]>

---
 package/Config.in                                  |    1 +
 package/python-netifaces/Config.in                 |    9 +++
 .../python-netifaces-fix-cross-build.patch         |   54 ++++++++++++++++++++
 package/python-netifaces/python-netifaces.mk       |   27 ++++++++++
 4 files changed, 91 insertions(+), 0 deletions(-)
 create mode 100644 package/python-netifaces/Config.in
 create mode 100644 package/python-netifaces/python-netifaces-fix-cross-build.patch
 create mode 100644 package/python-netifaces/python-netifaces.mk
package/Config.in +1 -0
index 71e1889..666a224 100644
@@ -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
package/python-netifaces/Config.in new file +9 -0
new file mode 100644
index 0000000..199191c
@@ -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
+
package/python-netifaces/python-netifaces-fix-cross-build.patch new file +54 -0

54 lines not on this page · raw message

package/python-netifaces/python-netifaces.mk new file +27 -0
new file mode 100644
index 0000000..6473e23
@@ -0,0 +1,27 @@
+#############################################################
+#
+# 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 host-python-distutilscross
+
+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)
+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))
+
Signature · 1 line
1.7.1.1
#16 lore raw

PATCH v5 6/6 New package: python-netifaces

Quoted 3 lines
Quoted 3 lines
Quoted 3 lines
Quoted 3 lines
Quoted 3 lines

"Peter" == Peter Korsgaard <[email protected]> writes:

"yegorslists" == yegorslists <[email protected]> writes:

yegorslists> From: Yegor Yefremov <[email protected]> yegorslists> Signed-off-by: Yegor Yefremov <[email protected]>

Peter> Committed, thanks.

It unfortunately seems broken and tries to build for the host rather than the target:

(on a ppc64 host building for i686):

creating build/lib.linux-ppc64-2.7
/usr/lib64/ccache/gcc -pthread -shared -L/home/peko/scratch/host/lib -L/home/peko/scratch/host/usr/lib -Wl,-rpath,/home/peko/scratch/host/usr/lib -L/home/peko/scratch/host/usr/i686-unknown-linux-uclibc/sysroot/lib -L/home/peko/scratch/host/usr/i686-unknown-linux-uclibc/sysroot/usr/lib build/temp.linux-ppc64-2.7/netifaces.o -o build/lib.linux-ppc64-2.7/netifaces.so /usr/bin/ld: skipping incompatible /home/peko/scratch/host/usr/i686-unknown-linux-uclibc/sysroot/lib/libgcc_s.so when searching for -lgcc_s
/usr/bin/ld: skipping incompatible /lib/libpthread.so.0 when searching for /lib/libpthread.so.0
/usr/bin/ld: cannot find /lib/libpthread.so.0
/usr/bin/ld: skipping incompatible /usr/lib/libpthread_nonshared.a when searching for /usr/lib/libpthread_nonshared.a
/usr/bin/ld: cannot find /usr/lib/libpthread_nonshared.a
collect2: ld returned 1 exit status
error: command '/usr/lib64/ccache/gcc' failed with exit status 1
make: *** [/home/peko/scratch/build/python-netifaces-0.6/.stamp_built] Error 1

Any ideas?

Signature · 1 line
Bye, Peter Korsgaard
#17 lore raw

PATCH v5 6/6 New package: python-netifaces

Quoted 24 lines · Peter Korsgaard
Quoted 3 lines
Quoted 3 lines
Quoted 3 lines
Quoted 3 lines
Quoted 3 lines

"Peter" == Peter Korsgaard <[email protected]> writes:

"yegorslists" == yegorslists ?<[email protected]> writes:

?yegorslists> From: Yegor Yefremov <[email protected]> ?yegorslists> Signed-off-by: Yegor Yefremov <[email protected]>

?Peter> Committed, thanks.

It unfortunately seems broken and tries to build for the host rather than the target:

(on a ppc64 host building for i686):

creating build/lib.linux-ppc64-2.7
/usr/lib64/ccache/gcc -pthread -shared -L/home/peko/scratch/host/lib -L/home/peko/scratch/host/usr/lib -Wl,-rpath,/home/peko/scratch/host/usr/lib -L/home/peko/scratch/host/usr/i686-unknown-linux-uclibc/sysroot/lib -L/home/peko/scratch/host/usr/i686-unknown-linux-uclibc/sysroot/usr/lib build/temp.linux-ppc64-2.7/netifaces.o -o build/lib.linux-ppc64-2.7/netifaces.so /usr/bin/ld: skipping incompatible /home/peko/scratch/host/usr/i686-unknown-linux-uclibc/sysroot/lib/libgcc_s.so when searching for -lgcc_s
/usr/bin/ld: skipping incompatible /lib/libpthread.so.0 when searching for /lib/libpthread.so.0
/usr/bin/ld: cannot find /lib/libpthread.so.0
/usr/bin/ld: skipping incompatible /usr/lib/libpthread_nonshared.a when searching for /usr/lib/libpthread_nonshared.a
/usr/bin/ld: cannot find /usr/lib/libpthread_nonshared.a
collect2: ld returned 1 exit status
error: command '/usr/lib64/ccache/gcc' failed with exit status 1
make: *** [/home/peko/scratch/build/python-netifaces-0.6/.stamp_built] Error 1

Quoted 1 line

Any ideas?

My bad. I had some problems reorganizing my patches and forgot -x option by build command. Still learning git :-( Please test the patch I submitted.

Yegor