WIP: ABSL Error and Array_ops Error Fixed
authorMyungJoo Ham <myungjoo.ham@samsung.com>
Wed, 26 Jun 2019 09:17:17 +0000 (18:17 +0900)
committerMyungJoo Ham <myungjoo.ham@samsung.com>
Wed, 26 Jun 2019 09:17:17 +0000 (18:17 +0900)
Change-Id: I0e94da6128d841ca9c86cbbf264006cc2cb7035f
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
tensorflow/contrib/cmake/external/abseil_cpp.cmake
tensorflow/contrib/cmake/tf_core_cpu.cmake
tensorflow/contrib/cmake/tf_python.cmake

index 1cb5da356a4242ce27a48e7b43bb0372c91e4ce0..a7859c142efeb9e0b746b92a9cdfc3784a1af8ed 100644 (file)
@@ -73,8 +73,14 @@ else (systemlib_ABSEIL_CPP)
         ${abseil_cpp_BUILD}/absl/numeric/libabsl_int128.a
         ${abseil_cpp_BUILD}/absl/strings/libabsl_strings.a
         ${abseil_cpp_BUILD}/absl/strings/libabsl_internal_str_format_internal.a
+        ${abseil_cpp_BUILD}/absl/hash/libabsl_hash.a
+        ${abseil_cpp_BUILD}/absl/hash/libabsl_internal_city.a
+        ${abseil_cpp_BUILD}/absl/container/libabsl_container.a
         ${abseil_cpp_BUILD}/absl/types/libabsl_bad_optional_access.a)
   endif()
+# libabsl_hash.a added to avoid undefined reference to `absl::hash_internal::CityHash64(char const*, unsigned long)'
+# libabsl_container.a added to avoid undefined reference to `absl::container_internal::ShouldInsertBackwards(unsigned long, signed char*)'
+# libabsl_internal_city.c added to avoid undefined reference to `absl::hash_internal::CityHash64(char const*, unsigned long)'
 
   ExternalProject_Add(abseil_cpp
       PREFIX abseil_cpp
index d8884d464fb5974d77506561a9ed36110a3804c0..47dd3dddd0774ee0fe0a77d7b2dfb7855c4b83d8 100644 (file)
@@ -92,4 +92,4 @@ if (tensorflow_ENABLE_GPU)
 endif()
 
 add_library(tf_core_cpu OBJECT ${tf_core_cpu_srcs})
-add_dependencies(tf_core_cpu tf_core_framework)
+add_dependencies(tf_core_cpu tf_core_framework tf_array_ops create_cc_ops_header_dir array_ops_gen_cc)
index ad86d6aef3214b73bd662c312122aa245e361694..8faccf8d55902e6701ebb4ce534b84705304fd5f 100755 (executable)
@@ -365,8 +365,6 @@ GENERATE_PYTHON_OP_LIB("user_ops")
 GENERATE_PYTHON_OP_LIB("training_ops"
   DESTINATION ${CMAKE_CURRENT_BINARY_DIR}/tf_python/tensorflow/python/training/gen_training_ops.py)
 GENERATE_PYTHON_OP_LIB("word2vec_ops")
-target_link_libraries(word2vec_ops_gen_python PRIVATE ${abseil_cpp_STATIC_LIBRARIES})
-add_dependencies(word2vec_ops_gen_python abseil_cpp)
 
 GENERATE_PYTHON_OP_LIB("contrib_boosted_trees_model_ops"
   DESTINATION ${CMAKE_CURRENT_BINARY_DIR}/tf_python/tensorflow/contrib/boosted_trees/python/ops/gen_model_ops.py)