undefined symbol: _ZTIN10tensorflow8OpKernelE
momo1986 opened this issue · 4 comments
Hello rohit,
Thanks for your algorithm.
I try to use your pretrained model for my video.
Here is my Makefile:
No compilation error, but be blocked for evaluation.
I run " python eval.py --cfg ../experiments/002_MPII_ResNet_withAttention_pretrained.yaml"
And got the error:
OS: Ubuntu-18
Python: 3.6
CUDA: 9.0
Tensorflow: 1.12
Sorry for disturbance.
Thanks for help!
Best regards!
Looks like it needs to refer to correct boost_lib file and include file.
I can find the boost_include file with
"dpkg -S /usr/include/boost/"
However, how can I find the correct boost library file?
Thanks
Jun Yan
Getting the same error, I've tried looking through previous undefined symbol issues but none of them seem to work.
Update: after modifying the make file, downgrading tensorflow to 1.1 I was able to move past this issue. Here is the beginning of my make file for reference:
BOOST_LIB_DIR := /home/boost_1_69_0/stage/lib
BOOST_INC_DIR := /home/boost_1_69_0
TF_INC := $(shell python -c 'import tensorflow as tf; print(tf.sysconfig.get_include())')
LDFLAGS := -Wl,--no-as-needed,-rpath,$(BOOST_LIB_DIR) -D_GLIBCXX_USE_CXX11_ABI=0 # this ensures it will look in the correct BOOST directory for libs (not the system path)
all: pose_to_heatmap.so zero_out_channels.so render_pose.so render_objects.so
I suggest starting over and following instructions on installing boost / opencv closely.
Update:
After upgrading to tensorflow-gpu 1.12 (because cuda9 isn't supported on 1.1), getting this error again.
Looks like it needs to refer to correct boost_lib file and include file.
I can find the boost_include file with
"dpkg -S /usr/include/boost/"
However, how can I find the correct boost library file?
Thanks
Jun Yan
You can find the boost library in /usr/lib/x86_64-linux-gnu/
And then set your LDFLAGS as @efang96 suggests