facebookresearch / DensePose

A real-time approach for mapping all human pixels of 2D RGB images to a 3D surface-based model of the body
http://densepose.org
Other
6.98k stars 1.3k forks source link

cannot find -lcaffe_library & -lcaffe2_gpu_library #251

Open wolf943134497 opened 5 years ago

wolf943134497 commented 5 years ago

[ 37%] Building CXX object CMakeFiles/caffe2_detectron_custom_ops.dir/detectron/ops/pool_points_interp.cc.o [ 50%] Building CXX object CMakeFiles/caffe2_detectron_custom_ops.dir/detectron/ops/zero_even_op.cc.o [ 62%] Linking CXX shared library libcaffe2_detectron_custom_ops.so /usr/bin/ld: cannot find -lcaffe2_library collect2: error: ld returned 1 exit status CMakeFiles/caffe2_detectron_custom_ops.dir/build.make:98: recipe for target 'libcaffe2_detectron_custom_ops.so' failed make[3]: [libcaffe2_detectron_custom_ops.so] Error 1 make[3]: Leaving directory '/home/densepose/build' CMakeFiles/Makefile2:109: recipe for target 'CMakeFiles/caffe2_detectron_custom_ops.dir/all' failed make[2]: [CMakeFiles/caffe2_detectron_custom_ops.dir/all] Error 2 make[2]: Waiting for unfinished jobs.... Scanning dependencies of target caffe2_detectron_custom_ops_gpu make[3]: Leaving directory '/home/densepose/build' make[3]: Entering directory '/home/densepose/build' [ 75%] Building CXX object CMakeFiles/caffe2_detectron_custom_ops_gpu.dir/detectron/ops/zero_even_op.cc.o [ 87%] Building CXX object CMakeFiles/caffe2_detectron_custom_ops_gpu.dir/detectron/ops/pool_points_interp.cc.o [100%] Linking CXX shared library libcaffe2_detectron_custom_ops_gpu.so /usr/bin/ld: cannot find -lcaffe2_gpu_library collect2: error: ld returned 1 exit status CMakeFiles/caffe2_detectron_custom_ops_gpu.dir/build.make:117: recipe for target 'libcaffe2_detectron_custom_ops_gpu.so' failed make[3]: [libcaffe2_detectron_custom_ops_gpu.so] Error 1 make[3]: Leaving directory '/home/densepose/build' CMakeFiles/Makefile2:72: recipe for target 'CMakeFiles/caffe2_detectron_custom_ops_gpu.dir/all' failed

Caffe2: CUDA detected: 9.0 -- Caffe2: CUDA nvcc is: /usr/local/cuda/bin/nvcc -- Caffe2: CUDA toolkit directory: /usr/local/cuda -- Caffe2: Header version is: 9.0 -- Found CUDNN: /usr/local/cuda/lib64/libcudnn.so -- Found cuDNN: v7.0.5 (include: /usr/local/cuda/include, library: /usr/local/cuda/lib64/libcudnn.so) -- Autodetected CUDA architecture(s): 3.7 3.7 3.7 3.7 -- Added CUDA NVCC flags for: -gencode;arch=compute_37,code=sm_37 -- Summary: -- CMake version : 3.13.3 -- CMake command : /home/anaconda3/envs/caffe2/lib/python2.7/site-packages/cmake/data/bin/cmake -- System name : Linux -- C++ compiler : /usr/bin/c++ -- C++ compiler version : 5.4.0 -- CXX flags : -std=c++11 -O2 -fPIC -Wno-narrowing -- Caffe2 version : 1.3.0 -- Caffe2 include path : /home/pytorch/torch/include -- Caffe2 found CUDA : True -- CUDA version : 9.0 -- CuDNN version : 7.0.5

3xWangDot commented 5 years ago

SAME Issue

pcp16 commented 5 years ago

Same issue here

3xWangDot commented 5 years ago

@pcp16 @wolf943134497 Problem solved by changing the pytorch version to 1.0.0 with protobuf 3.5.0 (or 1.1.0 with protobuf 3.6.1)

malcolmgarner-movement commented 5 years ago

@3xWangDot Heya, thanks for the response.

Just to be clear, do you mean that I'd have to remove and uninstall the caffe2 & pytorch (because they come bundled together) and re-install the version you are referring to?

3xWangDot commented 5 years ago

@mvmnt Yes. Check the version of your pytorch & protobuf. If they are not matched, then installed a matched version. You may need to install the protobuf from source, depending on the version you need.

malcolmgarner-movement commented 5 years ago

Hi @3xWangDot , thanks again for your response. but I'm afraid that's not the problem (I hoped it was), my version of protobuf matches what is stipulated in the headers of the caffe2.pb.h, as referenced here:

https://github.com/Johnqczhang/densepose_installation/blob/master/README.md#install-protobuf-package

I don't think my issue directly relates to this thread however, as I have been searching snippets of my error to see if I find a resolution. My error is as follows: - Caffe2: CUDA detected: 10.1 -- Caffe2: CUDA nvcc is: /usr/local/cuda/bin/nvcc -- Caffe2: CUDA toolkit directory: /usr/local/cuda -- Caffe2: Header version is: 10.1 -- Found cuDNN: v7.6.4 (include: /usr/include, library: /usr/lib/x86_64-linux-gnu/libcudnn.so) -- Autodetected CUDA architecture(s): 3.7 -- Added CUDA NVCC flags for: -gencode;arch=compute_37,code=sm_37 -- Summary: -- CMake version : 3.13.3 -- CMake command : /usr/local/lib/python3.5/dist-packages/cmake/data/bin/cmake -- System name : Linux -- C++ compiler : /usr/bin/c++ -- C++ compiler version : 5.4.0 -- CXX flags : -std=c++11 -O2 -fPIC -Wno-narrowing -- Caffe2 version : 1.3.0 -- Caffe2 include path : /home/malcolm/projects/pytorch/torch/include -- Caffe2 found CUDA : True -- CUDA version : 10.1 -- CuDNN version : 7.6.4 -- Configuring done -- Generating done -- Build files have been written to: /home/malcolm/projects/DensePose/build [ 12%] Linking CXX shared library libcaffe2_detectron_custom_ops_gpu.so /usr/bin/ld: cannot find -lcaffe2_gpu_library collect2: error: ld returned 1 exit status CMakeFiles/caffe2_detectron_custom_ops_gpu.dir/build.make:1300: recipe for target 'libcaffe2_detectron_custom_ops_gpu.so' failed make[2]: *** [libcaffe2_detectron_custom_ops_gpu.so] Error 1 CMakeFiles/Makefile2:72: recipe for target 'CMakeFiles/caffe2_detectron_custom_ops_gpu.dir/all' failed make[1]: *** [CMakeFiles/caffe2_detectron_custom_ops_gpu.dir/all] Error 2 Makefile:129: recipe for target 'all' failed make: *** [all] Error 2

malcolmgarner-movement commented 5 years ago

Hi @3xWangDot , thanks again for your response. but I'm afraid that's not the problem (I hoped it was), my version of protobuf matches what is stipulated in the headers of the caffe2.pb.h, as referenced here:

https://github.com/Johnqczhang/densepose_installation/blob/master/README.md#install-protobuf-package

I don't think my issue directly relates to this thread however, as I have been searching snippets of my error to see if I find a resolution. My error is as follows: - Caffe2: CUDA detected: 10.1 -- Caffe2: CUDA nvcc is: /usr/local/cuda/bin/nvcc -- Caffe2: CUDA toolkit directory: /usr/local/cuda -- Caffe2: Header version is: 10.1 -- Found cuDNN: v7.6.4 (include: /usr/include, library: /usr/lib/x86_64-linux-gnu/libcudnn.so) -- Autodetected CUDA architecture(s): 3.7 -- Added CUDA NVCC flags for: -gencode;arch=compute_37,code=sm_37 -- Summary: -- CMake version : 3.13.3 -- CMake command : /usr/local/lib/python3.5/dist-packages/cmake/data/bin/cmake -- System name : Linux -- C++ compiler : /usr/bin/c++ -- C++ compiler version : 5.4.0 -- CXX flags : -std=c++11 -O2 -fPIC -Wno-narrowing -- Caffe2 version : 1.3.0 -- Caffe2 include path : /home/malcolm/projects/pytorch/torch/include -- Caffe2 found CUDA : True -- CUDA version : 10.1 -- CuDNN version : 7.6.4 -- Configuring done -- Generating done -- Build files have been written to: /home/malcolm/projects/DensePose/build [ 12%] Linking CXX shared library libcaffe2_detectron_custom_ops_gpu.so /usr/bin/ld: cannot find -lcaffe2_gpu_library collect2: error: ld returned 1 exit status CMakeFiles/caffe2_detectron_custom_ops_gpu.dir/build.make:1300: recipe for target 'libcaffe2_detectron_custom_ops_gpu.so' failed make[2]: *** [libcaffe2_detectron_custom_ops_gpu.so] Error 1 CMakeFiles/Makefile2:72: recipe for target 'CMakeFiles/caffe2_detectron_custom_ops_gpu.dir/all' failed make[1]: *** [CMakeFiles/caffe2_detectron_custom_ops_gpu.dir/all] Error 2 Makefile:129: recipe for target 'all' failed make: *** [all] Error 2

I've only got one cuda and cudnn installed, as well as protobuf, as these were areas where I tripped up in the past. Any Ideas would be more than welcomed

pjraman commented 5 years ago

Just remove both the -l for caffe2 and caffe2_gpu and it would go through fine.

After that u might face one protobuf error while running the tests.

malcolmgarner-movement commented 5 years ago

Hi @pjraman, thanks for your response, however it turned out that it was indeed my version of pytorch as @3xWangDot said. It was made apparent to me that the lib in question "libcaffe2_gpu.so" was removed from pytorch 1.3.

Though i've downgraded my pytorch version to 1.1 since posting this question, one issue I have with the downgraded version is that there's no gpu support in this version of pytorch. I need the gpu support for the next stages of my project, so this is proving to be quite the conundrum.

I've subsequently set up 2 instances with the 2 separate versions of pytorch, and I'm currently attempting to transfer those libs that are missing in the new version from the old version, to see if this makes the new version to work.

This entire thing is absolutely crazy! 😅

I'll try my best to remember to update this thread with my results. Hopefully it will be a positive outcome!

malcolmgarner-movement commented 5 years ago

Hey guys,

Unfortunately the method above that I tried, didn't work. It only lead me down a debugging path for the last 2 weeks....

I think I will have to try my hand at Detectron2 and see where this goes, and hopefully I'll have more luck there.

Thanks again however for the help!