123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291 |
- 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 {
|