Build Tensorflow from source for old CPU (SSE4.2, no CUDA), error I can't solve

Hi all,

I am attempting to compile Tensorflow from source on a Linux machine (Opensuse Tumbleweed installed), with an old CPU (non-AVX-compatible, but SSE4.2-compatible) and an old graphic card (GeForce GT 435M, compatible with CUDA version 9.1). For my task, I need to compile Tensorflow without CUDA or AVX, and just compatible to SSE4.2. I am using Tensorflow v2.15 code: this is because of matching with some other requirements, including Clang’s version.

I managed to solve all the dependencies and other errors in this process, but I’ve stumbled upon something I can’t seem to solve. Would you please be able to give any hint? Is there maybe any package or library missing?

PS: I used the -march=native option during ./configure, and I am using Clang v16.0.3 for compiling (but I’ve also tried using gcc and it gives back the same error at the same location).
The error output code is the following:

[10,621 / 14,339] Compiling xla/mlir_hlo/mhlo/transforms/hlo_legalize_to_stablehlo/hlo_legalize_to_stablehlo.cc; 73s local ... (7 actions running) ERROR: /home/renzo/Downloads/tensorflow-r2.15/tensorflow/cc/BUILD:655:22: Linking tensorflow/cc/ops/array_ops_gen_cc [for tool] failed: (Exit 1): clang-16.0.6 failed: error executing command (from target //tensorflow/cc:ops/array_ops_gen_cc)   (cd /root/.cache/bazel/_bazel_root/91315da64db484e54c6772403286f857/execroot/org_tensorflow && \   exec env - \     PATH=/usr/sbin:/usr/bin:/sbin:/bin \      PWD=/proc/self/cwd \   /usr/bin/clang-16.0.6 @bazel-out/k8-opt-exec-50AE0418/bin/tensorflow/cc/ops/array_ops_gen_cc-2.params) # Configuration: b8dfe2206c057b51347229644e84b3c0f50352b06832a75bba6e05640765a47d # Execution platform: @local_execution_config_platform//:platform /usr/bin/ld: bazel-out/k8-opt-exec-50AE0418/bin/_solib_k8/_U_S_Stensorflow_Scc_Cops_Sarray_Uops_Ugen_Ucc___Utensorflow/libtensorflow_framework.so.2: undefined reference to `riegeli::RecordsMetadata::Clear()' clang-16.0: error: linker command failed with exit code 1 (use -v to see invocation) Target //tensorflow/tools/lib_package:libtensorflow failed to build 

…At row 655 (where the error originates) , the followin block is found, if that’s helpful:

tf_gen_op_wrappers_cc(     name = "array_ops",     api_def_srcs = ["//tensorflow/core/api_def:base_api_def"],     extra_gen_deps = ["//tensorflow/c/kernels:bitcast_op_lib"],     op_lib_names = [         "array_ops",     ],     pkg = "//tensorflow/core", )  

Thanks in advance for your help. If there is anything else I can provide, please let me know.

Hi @renzo_rr, Thank you for reporting the issue, and apologies for the delay!
The problem appears to be due to incompatibility. Make sure that you’re using the compatible versions. Kindly refer to this document. If the error still persists, Please provide more details including bazel version, To help us investigate this issue more effectively. Thank you!