pythonPackages.tensorflow: Don't change the rpath to point to gcc4.9

When using cuda, the rpath was set to include GCC lib version 4.9.
I am not sure what this was attempting to do, but an effect was to
prevent certain python libraries to find the correct (newer) version
of the std lib.

Also avoid mentions of any specifc version in the
propagatedBuildInputs
This commit is contained in:
Jean-Philippe Bernardy 2017-05-29 19:24:34 +02:00
parent 1d56c2fa43
commit 1fdf42d461

View File

@ -5,7 +5,6 @@
, cudaSupport ? false , cudaSupport ? false
, cudatoolkit ? null , cudatoolkit ? null
, cudnn ? null , cudnn ? null
, gcc49 ? null
, linuxPackages ? null , linuxPackages ? null
, numpy , numpy
, six , six
@ -13,13 +12,11 @@
, swig , swig
, werkzeug , werkzeug
, mock , mock
, gcc
, zlib , zlib
}: }:
assert cudaSupport -> cudatoolkit != null assert cudaSupport -> cudatoolkit != null
&& cudnn != null && cudnn != null
&& gcc49 != null
&& linuxPackages != null; && linuxPackages != null;
# unsupported combination # unsupported combination
@ -98,7 +95,7 @@ buildPythonPackage rec {
propagatedBuildInputs = with stdenv.lib; propagatedBuildInputs = with stdenv.lib;
[ numpy six protobuf3_2 swig werkzeug mock ] [ numpy six protobuf3_2 swig werkzeug mock ]
++ optionals cudaSupport [ cudatoolkit cudnn gcc49 ]; ++ optionals cudaSupport [ cudatoolkit cudnn stdenv.cc ];
# Note that we need to run *after* the fixup phase because the # Note that we need to run *after* the fixup phase because the
# libraries are loaded at runtime. If we run in preFixup then # libraries are loaded at runtime. If we run in preFixup then
@ -106,10 +103,10 @@ buildPythonPackage rec {
postFixup = let postFixup = let
rpath = stdenv.lib.makeLibraryPath rpath = stdenv.lib.makeLibraryPath
(if cudaSupport then (if cudaSupport then
[ gcc49.cc.lib zlib cudatoolkit cudnn [ stdenv.cc.cc.lib zlib cudatoolkit cudnn
linuxPackages.nvidia_x11 ] linuxPackages.nvidia_x11 ]
else else
[ gcc.cc.lib zlib ] [ stdenv.cc.cc.lib zlib ]
); );
in in
'' ''