summarylogtreecommitdiffstats
path: root/fix-TFLite-build-on-linux-with-system-zlib.patch
diff options
context:
space:
mode:
authorlinxlan2022-09-03 14:43:57 +0300
committerlinxlan2022-09-03 14:43:57 +0300
commit5e81f70c903c50cef0b3353c369b2b533bd19526 (patch)
treeac74eeb3d0fd081b82798fd9718309729121618e /fix-TFLite-build-on-linux-with-system-zlib.patch
parenta708b44b026a9008a8dfbd0e0a159ac1eb26d8de (diff)
downloadaur-chromium-framerate-fix.tar.gz
105.0.5195.102
Diffstat (limited to 'fix-TFLite-build-on-linux-with-system-zlib.patch')
-rw-r--r--fix-TFLite-build-on-linux-with-system-zlib.patch291
1 files changed, 291 insertions, 0 deletions
diff --git a/fix-TFLite-build-on-linux-with-system-zlib.patch b/fix-TFLite-build-on-linux-with-system-zlib.patch
new file mode 100644
index 000000000000..83b122544718
--- /dev/null
+++ b/fix-TFLite-build-on-linux-with-system-zlib.patch
@@ -0,0 +1,291 @@
+From ae0f9adb7e14c0d19ca695ef6ad40b321a8cb64c Mon Sep 17 00:00:00 2001
+From: Andres Salomon <dilinger@queued.net>
+Date: Mon, 8 Aug 2022 23:01:53 +0000
+Subject: [PATCH] Fix TFLite build errors on linux when using the system zlib
+
+The commit a3be9805c1601d3fabe1e5adb6b9199c033aa2c5 updated TFLite,
+which included the new zip_*_mem_file.* files that include minizip's
+ioapi.h. To support that, it also declared that tflite_support depends
+on minizip (in third_party/tflite_support/BUILD.gn). However, that's not
+enough, and results in a build error when building using the stub linux
+zlib build scripts.
+
+Other places that depend on minizip use a longer path to its header
+files. For example, chrome/chrome_cleaner/zip_archiver/'s test_support
+depends on minizip, and
+chrome/chrome_cleaner/zip_archiver/target/zip_archiver_impl.cc
+includes "third_party/zlib/contrib/minizip/ioapi.h".
+
+The new tensorflow stuff should do the same, instead of just including
+"contrib/minizip/ioapi.h". This patch fixes that, as well as other
+places where ioapi.h or zip.h/unzip.h are included without a fuller
+path.
+
+Note: if you prefer to not modify the tflite code, let me know and I
+can instead do a change that adds third_party/zlib as an include path
+for minizip.
+
+R=mcrouse@chromium.org, robertogden@chromium.org, sesse@chromium.org, thestig@chromium.org
+
+Bug: 1348787
+Change-Id: I922d18b3d1c0e459437624fd248c21afc1be6bb8
+Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3797828
+Commit-Queue: Andres Salomon <dilinger@queued.net>
+Auto-Submit: Andres Salomon <dilinger@queued.net>
+Reviewed-by: Michael Crouse <mcrouse@chromium.org>
+Cr-Commit-Position: refs/heads/main@{#1032774}
+---
+ third_party/tflite_support/README.chromium | 2 +
+ ...-errors-on-linux-when-using-the-syst.patch | 129 ++++++++++++++++++
+ .../metadata/cc/metadata_extractor.cc | 4 +-
+ .../metadata/cc/metadata_populator.cc | 4 +-
+ .../cc/utils/zip_readonly_mem_file.cc | 2 +-
+ .../metadata/cc/utils/zip_readonly_mem_file.h | 2 +-
+ .../cc/utils/zip_writable_mem_file.cc | 2 +-
+ .../metadata/cc/utils/zip_writable_mem_file.h | 2 +-
+ 8 files changed, 139 insertions(+), 8 deletions(-)
+ create mode 100644 third_party/tflite_support/patches/0010-Fix-TFLite-build-errors-on-linux-when-using-the-syst.patch
+
+diff --git a/third_party/tflite_support/README.chromium b/third_party/tflite_support/README.chromium
+index cfaf220adb..91f4baf82b 100644
+--- a/third_party/tflite_support/README.chromium
++++ b/third_party/tflite_support/README.chromium
+@@ -36,6 +36,8 @@ is a no-op in chromium builds and upsets clang.
+ * This patch intentionally does not apply because it was made with
+ `--irreversible-delete` because it is deleting a large .tflite file causing
+ the chromium-presubmit bot to fail.
++10) Fix minizip path inclusion. Upstream uses contrib/minizip/, but chromium
++uses third_party/zlib/contrib/minizip/.
+
+ Update Process (internal: http://shortn/_nwz8liqimy):
+ 1) Run these commands:
+diff --git a/third_party/tflite_support/patches/0010-Fix-TFLite-build-errors-on-linux-when-using-the-syst.patch b/third_party/tflite_support/patches/0010-Fix-TFLite-build-errors-on-linux-when-using-the-syst.patch
+new file mode 100644
+index 0000000000..34acf277fc
+--- /dev/null
++++ b/third_party/tflite_support/patches/0010-Fix-TFLite-build-errors-on-linux-when-using-the-syst.patch
+@@ -0,0 +1,129 @@
++From 12da2fa8f2d779e2fc14f48de73af79e9040c141 Mon Sep 17 00:00:00 2001
++From: Andres Salomon <dilinger@queued.net>
++Date: Sun, 31 Jul 2022 19:07:24 -0400
++Subject: [PATCH] Fix TFLite build errors on linux when using the system zlib
++
++The commit a3be9805c1601d3fabe1e5adb6b9199c033aa2c5 updated TFLite,
++which included the new zip_*_mem_file.* files that include minizip's
++ioapi.h. To support that, it also declared that tflite_support depends
++on minizip (in third_party/tflite_support/BUILD.gn). However, that's not
++enough, and results in a build error when building using the stub linux
++zlib build scripts.
++
++Other places that depend on minizip use a longer path to its header
++files. For example, chrome/chrome_cleaner/zip_archiver/'s test_support
++depends on minizip, and
++chrome/chrome_cleaner/zip_archiver/target/zip_archiver_impl.cc
++includes "third_party/zlib/contrib/minizip/ioapi.h".
++
++The new tensorflow stuff should do the same, instead of just including
++"contrib/minizip/ioapi.h". This patch fixes that, as well as other
++places where ioapi.h or zip.h/unzip.h are included without a fuller
++path.
++---
++ .../tensorflow_lite_support/metadata/cc/metadata_extractor.cc | 4 ++--
++ .../tensorflow_lite_support/metadata/cc/metadata_populator.cc | 4 ++--
++ .../metadata/cc/utils/zip_readonly_mem_file.cc | 2 +-
++ .../metadata/cc/utils/zip_readonly_mem_file.h | 2 +-
++ .../metadata/cc/utils/zip_writable_mem_file.cc | 2 +-
++ .../metadata/cc/utils/zip_writable_mem_file.h | 2 +-
++ 6 files changed, 8 insertions(+), 8 deletions(-)
++
++diff --git a/third_party/tflite_support/src/tensorflow_lite_support/metadata/cc/metadata_extractor.cc b/third_party/tflite_support/src/tensorflow_lite_support/metadata/cc/metadata_extractor.cc
++index 2a72338741626..62d0910182877 100644
++--- a/third_party/tflite_support/src/tensorflow_lite_support/metadata/cc/metadata_extractor.cc
+++++ b/third_party/tflite_support/src/tensorflow_lite_support/metadata/cc/metadata_extractor.cc
++@@ -21,14 +21,14 @@ limitations under the License.
++ #include "absl/status/status.h" // from @com_google_absl
++ #include "absl/strings/str_format.h" // from @com_google_absl
++ #include "absl/strings/string_view.h" // from @com_google_absl
++-#include "contrib/minizip/ioapi.h"
++-#include "contrib/minizip/unzip.h"
++ #include "flatbuffers/flatbuffers.h" // from @flatbuffers
++ #include "tensorflow/lite/schema/schema_generated.h"
++ #include "tensorflow_lite_support/cc/common.h"
++ #include "tensorflow_lite_support/cc/port/status_macros.h"
++ #include "tensorflow_lite_support/metadata/cc/utils/zip_readonly_mem_file.h"
++ #include "tensorflow_lite_support/metadata/metadata_schema_generated.h"
+++#include "third_party/zlib/contrib/minizip/ioapi.h"
+++#include "third_party/zlib/contrib/minizip/unzip.h"
++
++ namespace tflite {
++ namespace metadata {
++diff --git a/third_party/tflite_support/src/tensorflow_lite_support/metadata/cc/metadata_populator.cc b/third_party/tflite_support/src/tensorflow_lite_support/metadata/cc/metadata_populator.cc
++index 299ade3e95d54..8e13fa63dafbc 100644
++--- a/third_party/tflite_support/src/tensorflow_lite_support/metadata/cc/metadata_populator.cc
+++++ b/third_party/tflite_support/src/tensorflow_lite_support/metadata/cc/metadata_populator.cc
++@@ -19,8 +19,6 @@ limitations under the License.
++ #include <cstring>
++ #include <functional>
++
++-#include "contrib/minizip/ioapi.h"
++-#include "contrib/minizip/zip.h"
++ #include "flatbuffers/flatbuffers.h" // from @flatbuffers
++ #include "tensorflow/lite/schema/schema_generated.h"
++ #include "tensorflow_lite_support/cc/common.h"
++@@ -28,6 +26,8 @@ limitations under the License.
++ #include "tensorflow_lite_support/cc/port/statusor.h"
++ #include "tensorflow_lite_support/metadata/cc/utils/zip_writable_mem_file.h"
++ #include "tensorflow_lite_support/metadata/metadata_schema_generated.h"
+++#include "third_party/zlib/contrib/minizip/ioapi.h"
+++#include "third_party/zlib/contrib/minizip/zip.h"
++
++ namespace tflite {
++ namespace metadata {
++diff --git a/third_party/tflite_support/src/tensorflow_lite_support/metadata/cc/utils/zip_readonly_mem_file.cc b/third_party/tflite_support/src/tensorflow_lite_support/metadata/cc/utils/zip_readonly_mem_file.cc
++index 392b6b411fe03..525ae4a2b45bd 100644
++--- a/third_party/tflite_support/src/tensorflow_lite_support/metadata/cc/utils/zip_readonly_mem_file.cc
+++++ b/third_party/tflite_support/src/tensorflow_lite_support/metadata/cc/utils/zip_readonly_mem_file.cc
++@@ -19,7 +19,7 @@ limitations under the License.
++ #include <cstdio>
++
++ #include "absl/strings/string_view.h" // from @com_google_absl
++-#include "contrib/minizip/ioapi.h"
+++#include "third_party/zlib/contrib/minizip/ioapi.h"
++
++ namespace tflite {
++ namespace metadata {
++diff --git a/third_party/tflite_support/src/tensorflow_lite_support/metadata/cc/utils/zip_readonly_mem_file.h b/third_party/tflite_support/src/tensorflow_lite_support/metadata/cc/utils/zip_readonly_mem_file.h
++index a1799ff509de5..72413a0a56252 100644
++--- a/third_party/tflite_support/src/tensorflow_lite_support/metadata/cc/utils/zip_readonly_mem_file.h
+++++ b/third_party/tflite_support/src/tensorflow_lite_support/metadata/cc/utils/zip_readonly_mem_file.h
++@@ -19,7 +19,7 @@ limitations under the License.
++ #include <cstdlib>
++
++ #include "absl/strings/string_view.h" // from @com_google_absl
++-#include "contrib/minizip/ioapi.h"
+++#include "third_party/zlib/contrib/minizip/ioapi.h"
++
++ namespace tflite {
++ namespace metadata {
++diff --git a/third_party/tflite_support/src/tensorflow_lite_support/metadata/cc/utils/zip_writable_mem_file.cc b/third_party/tflite_support/src/tensorflow_lite_support/metadata/cc/utils/zip_writable_mem_file.cc
++index 38ad17ad8935c..3ba91b5e22890 100644
++--- a/third_party/tflite_support/src/tensorflow_lite_support/metadata/cc/utils/zip_writable_mem_file.cc
+++++ b/third_party/tflite_support/src/tensorflow_lite_support/metadata/cc/utils/zip_writable_mem_file.cc
++@@ -19,7 +19,7 @@ limitations under the License.
++ #include <cstdio>
++
++ #include "absl/strings/string_view.h" // from @com_google_absl
++-#include "contrib/minizip/ioapi.h"
+++#include "third_party/zlib/contrib/minizip/ioapi.h"
++
++ namespace tflite {
++ namespace metadata {
++diff --git a/third_party/tflite_support/src/tensorflow_lite_support/metadata/cc/utils/zip_writable_mem_file.h b/third_party/tflite_support/src/tensorflow_lite_support/metadata/cc/utils/zip_writable_mem_file.h
++index 30e42fdb72a31..3d329925df756 100644
++--- a/third_party/tflite_support/src/tensorflow_lite_support/metadata/cc/utils/zip_writable_mem_file.h
+++++ b/third_party/tflite_support/src/tensorflow_lite_support/metadata/cc/utils/zip_writable_mem_file.h
++@@ -19,7 +19,7 @@ limitations under the License.
++ #include <cstdlib>
++
++ #include "absl/strings/string_view.h" // from @com_google_absl
++-#include "contrib/minizip/ioapi.h"
+++#include "third_party/zlib/contrib/minizip/ioapi.h"
++
++ namespace tflite {
++ namespace metadata {
++--
++2.30.2
++
+diff --git a/third_party/tflite_support/src/tensorflow_lite_support/metadata/cc/metadata_extractor.cc b/third_party/tflite_support/src/tensorflow_lite_support/metadata/cc/metadata_extractor.cc
+index 2a72338741..62d0910182 100644
+--- a/third_party/tflite_support/src/tensorflow_lite_support/metadata/cc/metadata_extractor.cc
++++ b/third_party/tflite_support/src/tensorflow_lite_support/metadata/cc/metadata_extractor.cc
+@@ -21,14 +21,14 @@ limitations under the License.
+ #include "absl/status/status.h" // from @com_google_absl
+ #include "absl/strings/str_format.h" // from @com_google_absl
+ #include "absl/strings/string_view.h" // from @com_google_absl
+-#include "contrib/minizip/ioapi.h"
+-#include "contrib/minizip/unzip.h"
+ #include "flatbuffers/flatbuffers.h" // from @flatbuffers
+ #include "tensorflow/lite/schema/schema_generated.h"
+ #include "tensorflow_lite_support/cc/common.h"
+ #include "tensorflow_lite_support/cc/port/status_macros.h"
+ #include "tensorflow_lite_support/metadata/cc/utils/zip_readonly_mem_file.h"
+ #include "tensorflow_lite_support/metadata/metadata_schema_generated.h"
++#include "third_party/zlib/contrib/minizip/ioapi.h"
++#include "third_party/zlib/contrib/minizip/unzip.h"
+
+ namespace tflite {
+ namespace metadata {
+diff --git a/third_party/tflite_support/src/tensorflow_lite_support/metadata/cc/metadata_populator.cc b/third_party/tflite_support/src/tensorflow_lite_support/metadata/cc/metadata_populator.cc
+index 299ade3e95..8e13fa63da 100644
+--- a/third_party/tflite_support/src/tensorflow_lite_support/metadata/cc/metadata_populator.cc
++++ b/third_party/tflite_support/src/tensorflow_lite_support/metadata/cc/metadata_populator.cc
+@@ -19,8 +19,6 @@ limitations under the License.
+ #include <cstring>
+ #include <functional>
+
+-#include "contrib/minizip/ioapi.h"
+-#include "contrib/minizip/zip.h"
+ #include "flatbuffers/flatbuffers.h" // from @flatbuffers
+ #include "tensorflow/lite/schema/schema_generated.h"
+ #include "tensorflow_lite_support/cc/common.h"
+@@ -28,6 +26,8 @@ limitations under the License.
+ #include "tensorflow_lite_support/cc/port/statusor.h"
+ #include "tensorflow_lite_support/metadata/cc/utils/zip_writable_mem_file.h"
+ #include "tensorflow_lite_support/metadata/metadata_schema_generated.h"
++#include "third_party/zlib/contrib/minizip/ioapi.h"
++#include "third_party/zlib/contrib/minizip/zip.h"
+
+ namespace tflite {
+ namespace metadata {
+diff --git a/third_party/tflite_support/src/tensorflow_lite_support/metadata/cc/utils/zip_readonly_mem_file.cc b/third_party/tflite_support/src/tensorflow_lite_support/metadata/cc/utils/zip_readonly_mem_file.cc
+index 392b6b411f..525ae4a2b4 100644
+--- a/third_party/tflite_support/src/tensorflow_lite_support/metadata/cc/utils/zip_readonly_mem_file.cc
++++ b/third_party/tflite_support/src/tensorflow_lite_support/metadata/cc/utils/zip_readonly_mem_file.cc
+@@ -19,7 +19,7 @@ limitations under the License.
+ #include <cstdio>
+
+ #include "absl/strings/string_view.h" // from @com_google_absl
+-#include "contrib/minizip/ioapi.h"
++#include "third_party/zlib/contrib/minizip/ioapi.h"
+
+ namespace tflite {
+ namespace metadata {
+diff --git a/third_party/tflite_support/src/tensorflow_lite_support/metadata/cc/utils/zip_readonly_mem_file.h b/third_party/tflite_support/src/tensorflow_lite_support/metadata/cc/utils/zip_readonly_mem_file.h
+index a1799ff509..72413a0a56 100644
+--- a/third_party/tflite_support/src/tensorflow_lite_support/metadata/cc/utils/zip_readonly_mem_file.h
++++ b/third_party/tflite_support/src/tensorflow_lite_support/metadata/cc/utils/zip_readonly_mem_file.h
+@@ -19,7 +19,7 @@ limitations under the License.
+ #include <cstdlib>
+
+ #include "absl/strings/string_view.h" // from @com_google_absl
+-#include "contrib/minizip/ioapi.h"
++#include "third_party/zlib/contrib/minizip/ioapi.h"
+
+ namespace tflite {
+ namespace metadata {
+diff --git a/third_party/tflite_support/src/tensorflow_lite_support/metadata/cc/utils/zip_writable_mem_file.cc b/third_party/tflite_support/src/tensorflow_lite_support/metadata/cc/utils/zip_writable_mem_file.cc
+index 38ad17ad89..3ba91b5e22 100644
+--- a/third_party/tflite_support/src/tensorflow_lite_support/metadata/cc/utils/zip_writable_mem_file.cc
++++ b/third_party/tflite_support/src/tensorflow_lite_support/metadata/cc/utils/zip_writable_mem_file.cc
+@@ -19,7 +19,7 @@ limitations under the License.
+ #include <cstdio>
+
+ #include "absl/strings/string_view.h" // from @com_google_absl
+-#include "contrib/minizip/ioapi.h"
++#include "third_party/zlib/contrib/minizip/ioapi.h"
+
+ namespace tflite {
+ namespace metadata {
+diff --git a/third_party/tflite_support/src/tensorflow_lite_support/metadata/cc/utils/zip_writable_mem_file.h b/third_party/tflite_support/src/tensorflow_lite_support/metadata/cc/utils/zip_writable_mem_file.h
+index 30e42fdb72..3d329925df 100644
+--- a/third_party/tflite_support/src/tensorflow_lite_support/metadata/cc/utils/zip_writable_mem_file.h
++++ b/third_party/tflite_support/src/tensorflow_lite_support/metadata/cc/utils/zip_writable_mem_file.h
+@@ -19,7 +19,7 @@ limitations under the License.
+ #include <cstdlib>
+
+ #include "absl/strings/string_view.h" // from @com_google_absl
+-#include "contrib/minizip/ioapi.h"
++#include "third_party/zlib/contrib/minizip/ioapi.h"
+
+ namespace tflite {
+ namespace metadata {