aboutsummaryrefslogtreecommitdiffhomepage
path: root/tensorflow
diff options
context:
space:
mode:
authorGravatar ruanjiandong <ruanjiandong@gmail.com>2018-06-14 17:05:01 -0700
committerGravatar Allen Lavoie <allenlavoie@gmail.com>2018-06-15 01:05:01 +0100
commite6570147c4699518af50d2b08190290003d33aa8 (patch)
treeb46ca02872e69d6624c19a82911ac4f92eb9a562 /tensorflow
parenteefd88284ba3744a5d7f6a3a7c179bed8421b7e2 (diff)
opencv interop fix: exclude libjpeg symbols from libtensorflow_framew… (#19966)
* opencv interop fix: exclude libjpeg symbols from libtensorflow_framework.so to avoid symbol conflict * Fix buildifier issue (sorting of fields)
Diffstat (limited to 'tensorflow')
-rw-r--r--tensorflow/BUILD10
-rw-r--r--tensorflow/tf_framework_version_script.lds11
2 files changed, 21 insertions, 0 deletions
diff --git a/tensorflow/BUILD b/tensorflow/BUILD
index 6d134dbb80..d77f04139e 100644
--- a/tensorflow/BUILD
+++ b/tensorflow/BUILD
@@ -451,6 +451,15 @@ filegroup(
tf_cc_shared_object(
name = "libtensorflow_framework.so",
framework_so = [],
+ linkopts = select({
+ "//tensorflow:darwin": [],
+ "//tensorflow:windows": [],
+ "//tensorflow:windows_msvc": [],
+ "//conditions:default": [
+ "-Wl,--version-script", # This line must be directly followed by the version_script.lds file
+ "$(location //tensorflow:tf_framework_version_script.lds)",
+ ],
+ }),
linkstatic = 1,
visibility = ["//visibility:public"],
deps = [
@@ -460,6 +469,7 @@ tf_cc_shared_object(
"//tensorflow/core/grappler/optimizers:custom_graph_optimizer_registry_impl",
"//tensorflow/core:lib_internal_impl",
"//tensorflow/stream_executor:stream_executor_impl",
+ "//tensorflow:tf_framework_version_script.lds",
] + tf_additional_binary_deps(),
)
diff --git a/tensorflow/tf_framework_version_script.lds b/tensorflow/tf_framework_version_script.lds
new file mode 100644
index 0000000000..d4977f88c0
--- /dev/null
+++ b/tensorflow/tf_framework_version_script.lds
@@ -0,0 +1,11 @@
+VERS_1.0 {
+ # Hide libjpeg symbols to avoid symbol conflict with OpenCV
+ local:
+ jpeg_*;
+ jinit_*;
+ jdiv_round_up;
+ jround_up;
+ jzero_far;
+ jcopy_*;
+ jsimd_*;
+};