From mboxrd@z Thu Jan 1 00:00:00 1970 From: Danny Milosavljevic Subject: bug#26136: core-updates: python-minimal@2.7.13 fails due to missing zlib Date: Sat, 18 Mar 2017 21:19:01 +0100 Message-ID: <20170318211901.35ed1744@scratchpost.org> References: <20170317014622.GA27842@jasmine> <20170317150851.56e225f0@scratchpost.org> <20170318172601.GA2721@jasmine> Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:56885) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1cpKpa-0000Xs-UB for bug-guix@gnu.org; Sat, 18 Mar 2017 16:20:07 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1cpKpW-0007vM-RC for bug-guix@gnu.org; Sat, 18 Mar 2017 16:20:06 -0400 Received: from debbugs.gnu.org ([208.118.235.43]:36151) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1cpKpW-0007vE-Nw for bug-guix@gnu.org; Sat, 18 Mar 2017 16:20:02 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1cpKpW-0000VQ-FE for bug-guix@gnu.org; Sat, 18 Mar 2017 16:20:02 -0400 Sender: "Debbugs-submit" Resent-Message-ID: In-Reply-To: <20170318172601.GA2721@jasmine> List-Id: Bug reports for GNU Guix List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-guix-bounces+gcggb-bug-guix=m.gmane.org@gnu.org Sender: "bug-Guix" To: Leo Famulari Cc: 26136@debbugs.gnu.org Hi Leo, >The python-minimal package *should* use that libffi. I'm not sure why it's failing now. Yeah, sorry. I checked the package definition now and it explicitly disables the system libffi. >Do you mean if CONFIG_SHELL is not set, so the build process can't find libffi? Yes, a workaround for the first problem is: diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index be452f062..978aeca47 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -192,7 +192,8 @@ '("Lib/subprocess.py" "Lib/popen2.py" "Lib/distutils/tests/test_spawn.py" - "Lib/test/test_subprocess.py")) + "Lib/test/test_subprocess.py" + "Modules/_ctypes/libffi/configure")) (("/bin/sh") (which "sh"))) ;; Use zero as the timestamp in .pyc files so that builds are The reason why that helps is because the configure script contains embedded HERE scripts with their own shebangs which patch-shebang doesn't patch. An alternative workaround is to use this instead: diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index be452f062..04c944d84 100644 --- a/gnu/packages/python.scm12/bin/shore-updates/guix$ /gnu/store/k7029k5va68lka +++ b/gnu/packages/python.scm @@ -229,6 +229,8 @@ ;; before 1980". Work around this by setting the file times in the ;; source tree to sometime in early 1980. (lambda _ + (setenv "CONFIG_SHELL" (which "bash")) + (let ((circa-1980 (* 10 366 24 60 60))) (ftw "." (lambda (file stat flag) (utime file circa-1980 circa-1980) >There is also the question about zlib and the bundled pip: why is it failing now? The above doesn't fix the pip zlib problem. It's very strange: The value of the environment variable C_INCLUDE_PATH includes bzip2 but not zlib. Might make python unable to find zlib. setup.py does some strange stuff with reading the zlib.h header file manually - maybe that broke. Then it tries to find the library file for libz. The value of the environment variable LIBRARY_PATH doesn't contain zlib either.