From fc00bcd2f5826ee0f2b840da387d33ccb60b4ae9 Mon Sep 17 00:00:00 2001 From: whispers Date: Thu, 12 Mar 2026 20:56:43 -0400 Subject: [PATCH] apache-orc: fix build with protobuf 34 Protobuf 34 adds `[[nodiscard]]` to several serialization functions. In order to avoid these warnings causing build failures, we add handling for this failure case --- pkgs/by-name/ap/apache-orc/package.nix | 5 +++++ .../ap/apache-orc/protobuf34-nodiscard.patch | 15 +++++++++++++++ 2 files changed, 20 insertions(+) create mode 100644 pkgs/by-name/ap/apache-orc/protobuf34-nodiscard.patch diff --git a/pkgs/by-name/ap/apache-orc/package.nix b/pkgs/by-name/ap/apache-orc/package.nix index 86146a938cb6..57d13a92797e 100644 --- a/pkgs/by-name/ap/apache-orc/package.nix +++ b/pkgs/by-name/ap/apache-orc/package.nix @@ -43,6 +43,11 @@ stdenv.mkDerivation (finalAttrs: { # /bin/ld: /lib/libabsl_raw_hash-set.so.2601.0.0: # error adding symbols: DSO missing from command line ./cmake-link-abseil.patch + + # Protobuf 34 adds `[[nodiscard]]` to several serialization functions. In + # order to avoid these warnings causing build failures, we add handling for + # this failure case. + ./protobuf34-nodiscard.patch ]; nativeBuildInputs = [ diff --git a/pkgs/by-name/ap/apache-orc/protobuf34-nodiscard.patch b/pkgs/by-name/ap/apache-orc/protobuf34-nodiscard.patch new file mode 100644 index 000000000000..643b7da2aeca --- /dev/null +++ b/pkgs/by-name/ap/apache-orc/protobuf34-nodiscard.patch @@ -0,0 +1,15 @@ +diff --git a/c++/src/ColumnWriter.cc b/c++/src/ColumnWriter.cc +index 9cdbae0709..d049e91bb1 100644 +--- a/c++/src/ColumnWriter.cc ++++ b/c++/src/ColumnWriter.cc +@@ -212,7 +212,9 @@ + } + } + // write row index to output stream +- rowIndex->SerializeToZeroCopyStream(indexStream.get()); ++ if (!rowIndex->SerializeToZeroCopyStream(indexStream.get())) { ++ throw std::logic_error("Failed to write index stream."); ++ } + + // construct row index stream + proto::Stream stream;