pcn
pcn copied to clipboard
Can you give me some advises on makefile?
I encounter some difficulties during make makefile, as follow:
make: Circular tf_nndistance.cu <- tf_nndistance.cu.o dependency dropped.
g++ tf_nndistance.cpp tf_nndistance.cu.o -o tf_nndistance_so.so \
-I /usr/local/cuda-10.0/include/ -I /home/machinelearning/.local/lib/python3.6/site-packages/tensorflow_core/include -L /usr/local/cuda-10.0/lib64/ -lcudart -L /home/machinelearning/.local/lib/python3.6/site-packages/tensorflow_core -ltensorflow_framework \
-shared -D_GLIBCXX_USE_CXX11_ABI=0 -std=c++11 -fPIC -O2
/usr/bin/ld: cannot find -ltensorflow_framework
collect2: error: ld returned 1 exit status
makefile:13: recipe for target 'tf_nndistance_so.so' failed
make: *** [tf_nndistance_so.so] Error 1
The environment is tf.version == 1.15 and cuda == 10.0, and the modified content as follow:
cuda_inc = /usr/local/cuda-10.0/include/
cuda_lib = /usr/local/cuda-10.0/lib64/
nvcc = /usr/local/cuda-10.0/bin/nvcc
tf_inc = /home/machinelearning/.local/lib/python3.6/site-packages/tensorflow_core/include
tf_lib =/home/machinelearning/.local/lib/python3.6/site-packages/tensorflow_core
Thanks a lot.
Hi. The same problem appears. Have you got the solution?
Hi. The same problem appears. Have you got the solution?
This can be solved by:
cd /home/machinelearning/.local/lib/python3.6/site-packages/tensorflow_core
ln -s libtensorflow_framework.so.1 libtensorflow_framework.so
@TerenceCYJ
Thank you.
I've executed same commands, but problem is not solved. Can you please once look into the same.
@TerenceCYJ
Thank you.
I've executed same commands, but problem is not solved. Can you please once look into the same.
Hi, @GopiRajuMatta. I just fix the bug by what I wrote. And my environment is tf.version == 1.15 and cuda == 10.0.
Hi, @TerenceCYJ
Thank you Terence, It was built without any error. But when I try to run demo.py, it is throwing this error.
"
Traceback (most recent call last):
File "demo.py", line 32, in
Any idea, where it went wrong?
Thank you Gopi
Hi, Gopi. I think you should check your pc_distance.
After successful make, there should be a tf_nndistance_so.so
In my setting, after make, ls pc_distance
Get:__init__.py __pycache__ tf_approxmatch.cu tf_approxmatch.py tf_nndistance.cpp tf_nndistance.cu.o tf_nndistance_so.so makefile tf_approxmatch.cpp tf_approxmatch.cu.o tf_approxmatch_so.so tf_nndistance.cu tf_nndistance.py
Thank you Terence.
These are the files after make, it has all the files as you reported. "init_.py tf_approxmatch.cpp tf_approxmatch.py tf_nndistance.cu tf_nndistance_so.so makefile tf_approxmatch.cu tf_approxmatch_so.so tf_nndistance.cu.o pycache tf_approxmatch.cu.o tf_nndistance.cpp tf_nndistance.py"
However, I am getting the reported error.
Thank you Gopi
Hi Terence,
It seems, problem is with file tf_nndistance_so.so. It was compiled without errors. But I am not sure, why I am getting that particular error. I have used cuda=9.0, tf.version == 1.15. Is there any problem with this? If you don't mind, can you please share with me your compiled pc_distance folder.
Thank you Gopi
I encountered the same issues. After several days of bashing my head against the desk, I got the code up and running using the following steps:
- Create a conda environment with cuda=9.2, tf=1.12, open3d=0.8.0.0 and python=3.6:
conda create -n pcn tensorflow=1.12 python=3.6
conda activate pcn
conda install -c conda-forge nvcc_linux-64=9.2
conda install -c nvidia cudatoolkit=9.2
conda install -c open3d-admin open3d=0.8
- Modify
makefile
as follows (replaceuser
with your username):
cuda_inc = /home/user/.conda/envs/pcn/include/
cuda_lib = /home/user/.conda/envs/pcn/lib/
nvcc = /home/user/.conda/envs/pcn/bin/nvcc
tf_inc = /home/user/.conda/envs/pcn/lib/python3.6/site-packages/tensorflow/include
tf_lib = /home/user/.conda/envs/pcn/lib/python3.6/site-packages/tensorflow
all: tf_nndistance_so.so tf_approxmatch_so.so
tf_nndistance.cu.o: tf_nndistance.cu
$(nvcc) tf_nndistance.cu -o tf_nndistance.cu.o -c -O2 -DGOOGLE_CUDA=1 -x cu -Xcompiler -fPIC
tf_nndistance_so.so: tf_nndistance.cpp tf_nndistance.cu.o
g++ tf_nndistance.cpp tf_nndistance.cu.o -o tf_nndistance_so.so -shared -std=c++11 -fPIC -O2 \
-I $(tf_inc) -D_GLIBCXX_USE_CXX11_ABI=1 -L $(tf_lib) -ltensorflow_framework -L $(cuda_lib) -lcudart
tf_approxmatch.cu.o: tf_approxmatch.cu
$(nvcc) tf_approxmatch.cu -o tf_approxmatch.cu.o -c -O2 -DGOOGLE_CUDA=1 -x cu -Xcompiler -fPIC
tf_approxmatch_so.so: tf_approxmatch.cpp tf_approxmatch.cu.o
g++ -shared $(CPPFLAGS) tf_approxmatch.cpp tf_approxmatch.cu.o -o tf_approxmatch_so.so -shared -std=c++11 -fPIC -O2 \
-I $(tf_inc) -D_GLIBCXX_USE_CXX11_ABI=1 -L $(tf_lib) -ltensorflow_framework -L $(cuda_lib) -lcudart
clean:
rm -rf *.o *.so
- Run
make clean && make
inside the conda environment.
Hope this helps!
@mihaimorariu, I really appreciate your help. I am getting new errors. I will work around. I will try to resolve those. I will update you.
Thank you so much Gopi
Hi I am having exactly same error when running demo.py. Have you figured it out @GopiRajuMatta ?
Hi I am having exactly same error when running demo.py. Have you figured it out @GopiRajuMatta ?
Hello @francisduan
Presently, I am working on other problem. I will try again and let you know, if it is resolved.
@mihaimorariu would be able to help you.
Thank you Gopi
Hello guys,
Has anyone of you resolved the ''make: Circular tf_nndistance.cu <- tf_nndistance.cu.o dependency dropped.'' problem mentioned above? I have tried pretty much anything i could find and no result. I am working with tf .version==1.12, cuda== 9.0 Thanks in advance, Yakamoko
Hi guys, removing -D_GLIBCXX_USE_CXX11_ABI=1 solved my probelm
Hi gillbam,
Could you plz define the version of tf and cuda-gcc you are using in order to achieve this?
Furthermore, the code you are mentioning for removal is on the makefile right?
Thanks in advance, Yakamoko
Hi gillbam,
Could you plz define the version of tf and cuda-gcc you are using in order to achieve this?
Furthermore, the code you are mentioning for removal is on the makefile right?
Thanks in advance, Yakamoko
Hi Yakamoko, I have tf 1.12, cuda 10.1 installed. Check my attached code.
cuda_inc = /usr/local/cuda-10.1/include/
cuda_lib = /usr/local/cuda-10.1/lib64/
nvcc = /usr/local/cuda-10.1/bin/nvcc
tf_inc = /root/anaconda3/envs/pcn/lib/python3.6/site-packages/tensorflow/include
tf_lib = /root/anaconda3/envs/pcn/lib/python3.6/site-packages/tensorflow
all: tf_nndistance_so.so tf_approxmatch_so.so
tf_nndistance.cu.o: tf_nndistance.cu
$(nvcc) tf_nndistance.cu -o tf_nndistance.cu.o -c -O2 -DGOOGLE_CUDA=1 -x cu -Xcompiler -fPIC
tf_nndistance_so.so: tf_nndistance.cpp tf_nndistance.cu.o
g++ tf_nndistance.cpp tf_nndistance.cu.o -o tf_nndistance_so.so
-I $(cuda_inc) -I $(tf_inc) -L $(cuda_lib) -lcudart -L $(tf_lib) -ltensorflow_framework
-shared -std=c++11 -fPIC -O2
tf_approxmatch.cu.o: tf_approxmatch.cu
$(nvcc) tf_approxmatch.cu -o tf_approxmatch.cu.o -c -O2 -DGOOGLE_CUDA=1 -x cu -Xcompiler -fPIC
tf_approxmatch_so.so: tf_approxmatch.cpp tf_approxmatch.cu.o
g++ -shared $(CPPFLAGS) tf_approxmatch.cpp tf_approxmatch.cu.o -o tf_approxmatch_so.so
-I $(cuda_inc) -I $(tf_inc) -L $(cuda_lib) -lcudart -L $(tf_lib) -ltensorflow_framework
-shared -std=c++11 -fPIC -O2
clean:
rm -rf *.o *.so
Hi, I am getting the same error:
make: Circular tf_nndistance.cu <- tf_nndistance.cu.o dependency dropped. g++ tf_nndistance.cpp tf_nndistance.cu.o -o tf_nndistance_so.so .... make (e=2): The system cannot find the file specified. make: *** [makefile:13: tf_nndistance_so.so] Error 2
and I have intalled: conda install -c nvidia/label/cuda-11.3.0 cuda-nvcc and conda install -c nvidia cudatoolkit=9.2
using the same makefile above. Is it a version problem still? Thanks in advance.
I am trying to run demo.py with the right versions and with the updated versions, and I keep getting an error that I cannot fix. I've been working around this for some days already and can't manage to get anything better.
Traceback (most recent call last):
File "demo.py", line 121, in <module>
main()
File "demo.py", line 77, in main
model_module = importlib.import_module('.%s' % args.model_type, 'models')
File "/home/mk/anaconda3/envs/pcnconda/lib/python3.6/importlib/__init__.py", line 126, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "<frozen importlib._bootstrap>", line 994, in _gcd_import
File "<frozen importlib._bootstrap>", line 971, in _find_and_load
File "<frozen importlib._bootstrap>", line 955, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 665, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 678, in exec_module
File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
File "/home/mk/Downloads/pcn-master/models/pcn_cd.py", line 26, in <module>
from tf_util import *
File "/home/mk/Downloads/pcn-master/tf_util.py", line 26, in <module>
from pc_distance import tf_nndistance, tf_approxmatch
File "/home/mk/Downloads/pcn-master/pc_distance/tf_approxmatch.py", line 21, in <module>
@ops.RegisterShape('ApproxMatch')
AttributeError: module 'tensorflow.python.framework.ops' has no attribute 'RegisterShape'