From e12802213e5ee50ff95eac9fd25d6a4a3338abb4 Mon Sep 17 00:00:00 2001 From: Ryan Burns Date: Wed, 22 Sep 2021 21:57:13 -0700 Subject: [PATCH 1/4] caffe: fix build with protobuf 3.18+ --- pkgs/applications/science/math/caffe/default.nix | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/pkgs/applications/science/math/caffe/default.nix b/pkgs/applications/science/math/caffe/default.nix index 08bf84be7c89..462a05d300ce 100644 --- a/pkgs/applications/science/math/caffe/default.nix +++ b/pkgs/applications/science/math/caffe/default.nix @@ -91,7 +91,11 @@ stdenv.mkDerivation rec { inherit (python.sourceVersion) major minor; # Should be changed in case of PyPy }); - postPatch = lib.optionalString (cudaSupport && lib.versionAtLeast cudatoolkit.version "9.0") '' + postPatch = '' + substituteInPlace src/caffe/util/io.cpp --replace \ + 'SetTotalBytesLimit(kProtoReadBytesLimit, 536870912)' \ + 'SetTotalBytesLimit(kProtoReadBytesLimit)' + '' + lib.optionalString (cudaSupport && lib.versionAtLeast cudatoolkit.version "9.0") '' # CUDA 9.0 doesn't support sm_20 sed -i 's,20 21(20) ,,' cmake/Cuda.cmake ''; From 6a01398cccc010b0c91cade3dbabc6cfacdd72dc Mon Sep 17 00:00:00 2001 From: Ryan Burns Date: Thu, 23 Sep 2021 01:21:47 -0700 Subject: [PATCH 2/4] valhalla: fix build with protobuf 3.18+ --- pkgs/development/libraries/valhalla/default.nix | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/pkgs/development/libraries/valhalla/default.nix b/pkgs/development/libraries/valhalla/default.nix index 6eac19bcb2cd..b3d61e6efd72 100644 --- a/pkgs/development/libraries/valhalla/default.nix +++ b/pkgs/development/libraries/valhalla/default.nix @@ -14,6 +14,15 @@ stdenv.mkDerivation rec { fetchSubmodules = true; }; + # https://github.com/valhalla/valhalla/issues/2119 + postPatch = '' + for f in valhalla/mjolnir/transitpbf.h \ + src/mjolnir/valhalla_query_transit.cc; do + substituteInPlace $f --replace 'SetTotalBytesLimit(limit, limit)' \ + 'SetTotalBytesLimit(limit)' + done + ''; + nativeBuildInputs = [ cmake pkg-config ]; buildInputs = [ zlib curl protobuf prime-server boost sqlite libspatialite From 0c350944709004cf29645601d6e886dcaeba6a0c Mon Sep 17 00:00:00 2001 From: Ryan Burns Date: Thu, 23 Sep 2021 01:30:17 -0700 Subject: [PATCH 3/4] openvino: fix build with protobuf 3.18+ --- .../libraries/openvino/default.nix | 23 +++++++++++++++---- 1 file changed, 18 insertions(+), 5 deletions(-) diff --git a/pkgs/development/libraries/openvino/default.nix b/pkgs/development/libraries/openvino/default.nix index b4e487887999..86bc3b0d009c 100644 --- a/pkgs/development/libraries/openvino/default.nix +++ b/pkgs/development/libraries/openvino/default.nix @@ -3,6 +3,7 @@ , autoPatchelfHook , stdenv , fetchFromGitHub +, fetchpatch , cmake , git , protobuf @@ -10,17 +11,29 @@ , opencv , unzip , shellcheck +, srcOnly , python , enablePython ? false }: let - onnx_src = fetchFromGitHub { - owner = "onnx"; - repo = "onnx"; - rev = "v1.8.1"; - sha256 = "+1zNnZ4lAyVYRptfk0PV7koIX9FqcfD1Ah33qj/G2rA="; + onnx_src = srcOnly { + name = "onnx-patched"; + src = fetchFromGitHub { + owner = "onnx"; + repo = "onnx"; + rev = "v1.8.1"; + sha256 = "+1zNnZ4lAyVYRptfk0PV7koIX9FqcfD1Ah33qj/G2rA="; + }; + patches = [ + # Fix build with protobuf 3.18+ + # Remove with onnx 1.9 release + (fetchpatch { + url = "https://github.com/onnx/onnx/commit/d3bc82770474761571f950347560d62a35d519d7.patch"; + sha256 = "0vdsrklkzhdjaj8wdsl4icn93q3961g8dx35zvff0nhpr08wjb7y"; + }) + ]; }; in From 813c400edc0802a16c9c4b305f111b7f9b22c537 Mon Sep 17 00:00:00 2001 From: Ryan Burns Date: Thu, 23 Sep 2021 01:40:27 -0700 Subject: [PATCH 4/4] cntk: fix build with protobuf 3.18+ --- .../science/math/cntk/default.nix | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/pkgs/applications/science/math/cntk/default.nix b/pkgs/applications/science/math/cntk/default.nix index c007490c94d0..ba2225b903fa 100644 --- a/pkgs/applications/science/math/cntk/default.nix +++ b/pkgs/applications/science/math/cntk/default.nix @@ -1,4 +1,5 @@ { lib, stdenv, fetchgit, fetchFromGitHub, cmake +, fetchpatch , openblas, blas, lapack, opencv3, libzip, boost, protobuf, mpi , onebitSGDSupport ? false , cudaSupport ? false, addOpenGLRunpath, cudatoolkit, nvidia_x11 @@ -28,6 +29,26 @@ in stdenv.mkDerivation rec { sha256 = "18l9k7s966a26ywcf7flqyhm61788pcb9fj3wk61jrmgkhy2pcns"; }; + patches = [ + # Fix build with protobuf 3.18+ + # Remove with onnx submodule bump to 1.9+ + (fetchpatch { + url = "https://github.com/onnx/onnx/commit/d3bc82770474761571f950347560d62a35d519d7.patch"; + extraPrefix = "Source/CNTKv2LibraryDll/proto/onnx/onnx_repo/"; + stripLen = 1; + sha256 = "00raqj8wx30b06ky6cdp5vvc1mrzs7hglyi6h58hchw5lhrwkzxp"; + }) + ]; + + postPatch = '' + # Fix build with protobuf 3.18+ + substituteInPlace Source/CNTKv2LibraryDll/Serialization.cpp \ + --replace 'SetTotalBytesLimit(INT_MAX, INT_MAX)' \ + 'SetTotalBytesLimit(INT_MAX)' \ + --replace 'SetTotalBytesLimit(limit, limit)' \ + 'SetTotalBytesLimit(limit)' + ''; + nativeBuildInputs = [ cmake ] ++ lib.optional cudaSupport addOpenGLRunpath; # Force OpenMPI to use g++ in PATH.