Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

tensorflow binding undefined symbol: _ZTIN10tensorflow8OpKernelE #31

Closed
Slyne opened this issue Jul 16, 2019 · 1 comment
Closed

tensorflow binding undefined symbol: _ZTIN10tensorflow8OpKernelE #31

Slyne opened this issue Jul 16, 2019 · 1 comment

Comments

@Slyne
Copy link

Slyne commented Jul 16, 2019

Hi,
I used a docker with pip installed tensorflow1.14, cuda10, python3.5 and nvidia-415 on my desktop and the script passed the test_cpu, test_gpu.
When I ran

python setup.py install

and there seemed no error.

However, when I ran

python setup.py test

the error shows that 'tensorflow.python.framework.errors_impl.NotFoundError: /usr/local/lib/python3.5/dist-packages/warprnnt_tensorflow-0.1-py3.5-linux-x86_64.egg/warprnnt_tensorflow/kernels.cpython-35m-x86_64-linux-gnu.so: undefined symbol: _ZTIN10tensorflow8OpKernelE'

Before running setup.py install, I find that it first has an error like 'fatal error: not found tensorflow/core/kernels/bounds_check.h', so I just change kernels to framework and past the setup install step.

(But on my desktop, which has cuda9 and tensorflow-1.12, there seems no problem at all since bounds_check.h is under kernels/ in tf1.12 source code. I successfully built this on my desktop.)

UPDATE:
Previously I've encountered /usr/bin/ld: cannot find -ltensorflow_framework. So followed a solution on warp-ctc, I made a soft-link

ln -s /usr/local/lib/python3.5/dist-packages/tensorflow/libtensorflow_framework.so.1 /usr/local/lib/ibtensorflow_framework.so

. Then I encountered the "xxxxx as list() " problem, so I changed the registered op according to here.Then I encountered _ZTIN10tensorflow8OpKernelE error.

I successfully solved this problem by just

cd  /usr/local/lib/python3.5/dist-packages/tensorflow/; ln -s libtensorflow_framework.so.1 libtensorflow_framework.so

After that, if I directly run

python setup.py test

it will encounter '"Registering two gradient with name 'WarpRNNT'!'.
So to test the test cases, just

python tests/test_basic.py
&
python tests/test_warprnnt_op.py
@Slyne Slyne closed this as completed Jul 16, 2019
@yjiangling
Copy link

Hi,
I used a docker with pip installed tensorflow1.14, cuda10, python3.5 and nvidia-415 on my desktop and the script passed the test_cpu, test_gpu.
When I ran

python setup.py install

and there seemed no error.

However, when I ran

python setup.py test

the error shows that _'tensorflow.python.framework.errors_impl.NotFoundError: /usr/local/lib/python3.5/dist-packages/warprnnt_tensorflow-0.1-py3.5-linux-x86_64.egg/warprnnt_tensorflow/kernels.cpython-35m-x86_64-linux-gnu.so: undefined symbol: ZTIN10tensorflow8OpKernelE'

Before running setup.py install, I find that it first has an error like 'fatal error: not found tensorflow/core/kernels/bounds_check.h', so I just change kernels to framework and past the setup install step.

(But on my desktop, which has cuda9 and tensorflow-1.12, there seems no problem at all since bounds_check.h is under kernels/ in tf1.12 source code. I successfully built this on my desktop.)

UPDATE:
Previously I've encountered /usr/bin/ld: cannot find -ltensorflow_framework. So followed a solution on warp-ctc, I made a soft-link

ln -s /usr/local/lib/python3.5/dist-packages/tensorflow/libtensorflow_framework.so.1 /usr/local/lib/ibtensorflow_framework.so

. Then I encountered the "xxxxx as list() " problem, so I changed the registered op according to here.Then I encountered _ZTIN10tensorflow8OpKernelE error.

I successfully solved this problem by just

cd  /usr/local/lib/python3.5/dist-packages/tensorflow/; ln -s libtensorflow_framework.so.1 libtensorflow_framework.so

After that, if I directly run

python setup.py test

it will encounter '"Registering two gradient with name 'WarpRNNT'!'.
So to test the test cases, just

python tests/test_basic.py
&
python tests/test_warprnnt_op.py

So why the error "KeyError: "Registering two gradient with name 'WarpRNNT' !" will appear when directly run python setup.py test? I still can not find out the reason.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants