Skip to content

Build directory not on include path after FindTensorflow.cmake #51

@tykurtz

Description

@tykurtz

Environment

info output
os Ubuntu 18.04
c++ version 7.4.0
TF version 1.14.1
TF is working works

Issue

Build directory not on include path after FindTensorflow.cmake

Context:
Just trying to include image_ops.h

~/coding/catkin_ws$ ls $TENSORFLOW_BUILD_DIR/includes/tensorflow/cc/ops/
array_ops.h                        control_flow_ops.h           image_ops.h            list_ops.h              manip_ops.h           no_op.h                 remote_fused_graph_ops.h           string_ops.h
array_ops_internal.h               control_flow_ops_internal.h  image_ops_internal.h   list_ops_internal.h     manip_ops_internal.h  no_op_internal.h        remote_fused_graph_ops_internal.h  string_ops_internal.h
audio_ops.h                        data_flow_ops.h              io_ops.h               logging_ops.h           math_ops.h            parsing_ops.h           sparse_ops.h                       training_ops.h
audio_ops_internal.h               data_flow_ops_internal.h     io_ops_internal.h      logging_ops_internal.h  math_ops_internal.h   parsing_ops_internal.h  sparse_ops_internal.h              training_ops_internal.h
candidate_sampling_ops.h           functional_ops.h             linalg_ops.h           lookup_ops.h            nn_ops.h              random_ops.h            state_ops.h                        user_ops.h
candidate_sampling_ops_internal.h  functional_ops_internal.h    linalg_ops_internal.h  lookup_ops_internal.h   nn_ops_internal.h     random_ops_internal.h   state_ops_internal.h               user_ops_internal.h

Reproduce:
I followed the directions to copy the output of bazel-genfiles into ${TENSORFLOW_BUILD_DIR} as described here https://github.com/PatWie/tensorflow-cmake#inference

Output

The example inference file builds fine for me, but when trying to expand it by including image_ops I get the following error

fatal error: tensorflow/cc/ops/image_ops.h: No such file or directory
 #include "tensorflow/cc/ops/image_ops.h"
          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.

Expectation
Big beautiful green letters saying compile completed with 0 errors

Investigation

~/coding/catkin_ws$ python -c "import tensorflow as tf; print(tf.__version__); print(tf.__cxx11_abi_flag__); print(tf.sysconfig.get_include()); print(tf.sysconfig.get_lib() + '/libtensorflow_framework.so')"
1.14.1
1
/home/tyler/.local/lib/python2.7/site-packages/tensorflow/include
/home/tyler/.local/lib/python2.7/site-packages/tensorflow/libtensorflow_framework.so

Fixed it by adding

target_include_directories(TensorFlow_DEP SYSTEM INTERFACE ${TensorFlow_BUILD_DIR}/includes/

in FindTensorFlow.cmake.

Metadata

Metadata

Assignees

No one assigned

    Labels

    contribution welcomesomething I haven't figured out yet what the best solution is.currently not supportedThis is outside the scope of this project.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions