Repository: spack/spack

Issue:
Remove binutils 2.26 deprecation
Binutils provides version 2.26, but makes version 2.25 the default, with the comment "2.26 is incompatible with py-pillow build for some reason.".

I find that Binutils 2.25 does not build LLVM on Ubuntu 16.04, while Binutils 2.26 is working fine. The problem with version 2.25 is well known; see e.g. https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=808205.

If py-pillow requires a specific version of Binutils, then it should describe this in its package.py file instead.

Remove binutils 2.26 deprecation
Binutils provides version 2.26, but makes version 2.25 the default, with the comment "2.26 is incompatible with py-pillow build for some reason.".

I find that Binutils 2.25 does not build LLVM on Ubuntu 16.04, while Binutils 2.26 is working fine. The problem with version 2.25 is well known; see e.g. https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=808205.

If py-pillow requires a specific version of Binutils, then it should describe this in its package.py file instead.



Discussion:
Agreed. The problem with binutils may have been resolved in newer versions of py-pillow for all I know. @citibeth You added the binutils dependency to py-pillow. Do you have any comments?

No comments.  I will only know if pypillow breaks in the future.
On Aug 12, 2016 10:18 AM, "Adam J. Stewart" notifications@github.com
wrote:

> Agreed. The problem with binutils may have been resolved in newer versions
> of py-pillow for all I know. @citibeth https://github.com/citibeth You
> added the binutils dependency to py-pillow. Do you have any comments?
> 
> —
> You are receiving this because you were mentioned.
> Reply to this email directly, view it on GitHub
> https://github.com/LLNL/spack/issues/1506#issuecomment-239458603, or mute
> the thread
> https://github.com/notifications/unsubscribe-auth/AB1cdx3aS-sJ-PsgB1WdZ56Nb3yrSIPMks5qfICwgaJpZM4JjFL5
> .

Inspection of my past builds shows py-pillow building with binutils@2.26.  I don't know where this @2.25 stuff came from, maybe it was a typo on my part.  binutils@2.25 seems to be a dog for so many reasons...

Agreed. The problem with binutils may have been resolved in newer versions of py-pillow for all I know. @citibeth You added the binutils dependency to py-pillow. Do you have any comments?

No comments.  I will only know if pypillow breaks in the future.
On Aug 12, 2016 10:18 AM, "Adam J. Stewart" notifications@github.com
wrote:

> Agreed. The problem with binutils may have been resolved in newer versions
> of py-pillow for all I know. @citibeth https://github.com/citibeth You
> added the binutils dependency to py-pillow. Do you have any comments?
> 
> —
> You are receiving this because you were mentioned.
> Reply to this email directly, view it on GitHub
> https://github.com/LLNL/spack/issues/1506#issuecomment-239458603, or mute
> the thread
> https://github.com/notifications/unsubscribe-auth/AB1cdx3aS-sJ-PsgB1WdZ56Nb3yrSIPMks5qfICwgaJpZM4JjFL5
> .

Inspection of my past builds shows py-pillow building with binutils@2.26.  I don't know where this @2.25 stuff came from, maybe it was a typo on my part.  binutils@2.25 seems to be a dog for so many reasons...


Resolving patch:
diff --git a/var/spack/repos/builtin/packages/binutils/package.py b/var/spack/repos/builtin/packages/binutils/package.py
--- a/var/spack/repos/builtin/packages/binutils/package.py
+++ b/var/spack/repos/builtin/packages/binutils/package.py
@@ -31,9 +31,8 @@ class Binutils(Package):
     homepage = "http://www.gnu.org/software/binutils/"
     url      = "https://ftp.gnu.org/gnu/binutils/binutils-2.25.tar.bz2"
 
-    # 2.26 is incompatible with py-pillow build for some reason.
     version('2.26', '64146a0faa3b411ba774f47d41de239f')
-    version('2.25', 'd9f3303f802a5b6b0bb73a335ab89d66', preferred=True)
+    version('2.25', 'd9f3303f802a5b6b0bb73a335ab89d66')
     version('2.24', 'e0f71a7b2ddab0f8612336ac81d9636b')
     version('2.23.2', '4f8fa651e35ef262edc01d60fb45702e')
     version('2.20.1', '2b9dc8f2b7dbd5ec5992c6e29de0b764')
diff --git a/var/spack/repos/builtin/packages/py-pillow/package.py b/var/spack/repos/builtin/packages/py-pillow/package.py
--- a/var/spack/repos/builtin/packages/py-pillow/package.py
+++ b/var/spack/repos/builtin/packages/py-pillow/package.py
@@ -32,7 +32,7 @@ class PyPillow(Package):
     capabilities."""
 
     homepage = "https://python-pillow.org/"
-    url      = "https://pypi.python.org/packages/source/P/Pillow/Pillow-3.0.0.tar.gz"
+    url = "https://pypi.python.org/packages/source/P/Pillow/Pillow-3.0.0.tar.gz"
 
     # TODO: This version should be deleted once the next release comes out.
     # TODO: It fixes a bug that prevented us from linking to Tk/Tcl.
diff --git a/var/spack/repos/builtin/packages/py-scipy/package.py b/var/spack/repos/builtin/packages/py-scipy/package.py
--- a/var/spack/repos/builtin/packages/py-scipy/package.py
+++ b/var/spack/repos/builtin/packages/py-scipy/package.py
@@ -28,7 +28,7 @@
 class PyScipy(Package):
     """Scientific Library for Python."""
     homepage = "http://www.scipy.org/"
-    url      = "https://pypi.python.org/packages/source/s/scipy/scipy-0.15.0.tar.gz"
+    url = "https://pypi.python.org/packages/source/s/scipy/scipy-0.15.0.tar.gz"
 
     version('0.17.0', '5ff2971e1ce90e762c59d2cd84837224')
     version('0.15.1', 'be56cd8e60591d6332aac792a5880110')
@@ -36,6 +36,8 @@ class PyScipy(Package):
 
     extends('python')
     depends_on('py-nose', type='build')
+    # Known not to work with 2.23, 2.25
+    depends_on('binutils@2.26:', type='build')
     depends_on('py-numpy+blas+lapack', type=nolink)
 
     def install(self, spec, prefix):


Test patch: