luigifreda / plvs

PLVS is a real-time SLAM system with points, lines, volumetric mapping and 3D unsupervised incremental segmentation.
GNU General Public License v3.0
453 stars 66 forks source link

ThirdParty libelas-gpu error #23

Closed Ayoub-adil closed 5 months ago

Ayoub-adil commented 5 months ago

Hi,Luigi! I'm having trouble compiling Thirdparty. It seems that an error occurred while compiling "libelas-gpu". The error message is as follows:

Screenshot from 2024-03-13 14-14-17


nvcc warning : The 'compute_35', 'compute_37', 'compute_50', 'sm_35', 'sm_37' and 'sm_50' architectures are deprecated, and may be removed in a future release (Use -Wno-deprecated-gpu-targets to suppress warning).
nvcc warning : The 'compute_35', 'compute_37', 'compute_50', 'sm_35', 'sm_37' and 'sm_50' architectures are deprecated, and may be removed in a future release (Use -Wno-deprecated-gpu-targets to suppress warning).
/home/aadil/Documents/plvs/Thirdparty/libelas-gpu/GPU/elas_gpu.cu(394): warning #2361-D: invalid narrowing conversion from "signed int" to "float"

/home/aadil/Documents/plvs/Thirdparty/libelas-gpu/GPU/elas_gpu.cu(394): warning #2361-D: invalid narrowing conversion from "signed int" to "float"

/home/aadil/Documents/plvs/Thirdparty/libelas-gpu/GPU/elas_gpu.cu(394): warning #2361-D: invalid narrowing conversion from "signed int" to "float"

/home/aadil/Documents/plvs/Thirdparty/libelas-gpu/GPU/elas_gpu.cu(365): warning #177-D: variable "p_i" was declared but never referenced

/home/aadil/Documents/plvs/Thirdparty/libelas-gpu/GPU/elas_gpu.cu(325): warning #177-D: variable "window_size" was declared but never referenced

/home/aadil/Documents/plvs/Thirdparty/libelas-gpu/GPU/elas_gpu.cu(344): warning #177-D: variable "offset" was declared but never referenced

/home/aadil/Documents/plvs/Thirdparty/libelas-gpu/GPU/elas_gpu.cu(345): warning #177-D: variable "milliseconds" was declared but never referenced

/home/aadil/Documents/plvs/Thirdparty/libelas-gpu/GPU/elas_gpu.cu(721): warning #174-D: expression has no effect

/home/aadil/Documents/plvs/Thirdparty/libelas-gpu/GPU/elas_gpu.cu(727): warning #174-D: expression has no effect

/home/aadil/Documents/plvs/Thirdparty/libelas-gpu/GPU/elas_gpu.cu(625): warning #177-D: variable "xweight2" was declared but never referenced

/home/aadil/Documents/plvs/Thirdparty/libelas-gpu/GPU/elas_gpu.cu(625): warning #177-D: variable "xfactor2" was declared but never referenced

/home/aadil/Documents/plvs/Thirdparty/libelas-gpu/GPU/elas_gpu.cu(394): warning #2361-D: invalid narrowing conversion from "signed int" to "float"

/home/aadil/Documents/plvs/Thirdparty/libelas-gpu/GPU/elas_gpu.cu(394): warning #2361-D: invalid narrowing conversion from "signed int" to "float"

/home/aadil/Documents/plvs/Thirdparty/libelas-gpu/GPU/elas_gpu.cu(394): warning #2361-D: invalid narrowing conversion from "signed int" to "float"

/home/aadil/Documents/plvs/Thirdparty/libelas-gpu/GPU/elas_gpu.cu(365): warning #177-D: variable "p_i" was declared but never referenced

/home/aadil/Documents/plvs/Thirdparty/libelas-gpu/GPU/elas_gpu.cu(325): warning #177-D: variable "window_size" was declared but never referenced

/home/aadil/Documents/plvs/Thirdparty/libelas-gpu/GPU/elas_gpu.cu(344): warning #177-D: variable "offset" was declared but never referenced

/home/aadil/Documents/plvs/Thirdparty/libelas-gpu/GPU/elas_gpu.cu(345): warning #177-D: variable "milliseconds" was declared but never referenced

/home/aadil/Documents/plvs/Thirdparty/libelas-gpu/GPU/elas_gpu.cu(721): warning #174-D: expression has no effect

/home/aadil/Documents/plvs/Thirdparty/libelas-gpu/GPU/elas_gpu.cu(727): warning #174-D: expression has no effect

/home/aadil/Documents/plvs/Thirdparty/libelas-gpu/GPU/elas_gpu.cu(625): warning #177-D: variable "xweight2" was declared but never referenced

/home/aadil/Documents/plvs/Thirdparty/libelas-gpu/GPU/elas_gpu.cu(625): warning #177-D: variable "xfactor2" was declared but never referenced

/home/aadil/Documents/plvs/Thirdparty/libelas-gpu/GPU/elas_gpu.cu(394): warning #2361-D: invalid narrowing conversion from "signed int" to "float"

/home/aadil/Documents/plvs/Thirdparty/libelas-gpu/GPU/elas_gpu.cu(394): warning #2361-D: invalid narrowing conversion from "signed int" to "float"

/home/aadil/Documents/plvs/Thirdparty/libelas-gpu/GPU/elas_gpu.cu(394): warning #2361-D: invalid narrowing conversion from "signed int" to "float"

/home/aadil/Documents/plvs/Thirdparty/libelas-gpu/GPU/elas_gpu.cu(365): warning #177-D: variable "p_i" was declared but never referenced

/home/aadil/Documents/plvs/Thirdparty/libelas-gpu/GPU/elas_gpu.cu(325): warning #177-D: variable "window_size" was declared but never referenced

/home/aadil/Documents/plvs/Thirdparty/libelas-gpu/GPU/elas_gpu.cu(344): warning #177-D: variable "offset" was declared but never referenced

/home/aadil/Documents/plvs/Thirdparty/libelas-gpu/GPU/elas_gpu.cu(345): warning #177-D: variable "milliseconds" was declared but never referenced

/home/aadil/Documents/plvs/Thirdparty/libelas-gpu/GPU/elas_gpu.cu(721): warning #174-D: expression has no effect

/home/aadil/Documents/plvs/Thirdparty/libelas-gpu/GPU/elas_gpu.cu(727): warning #174-D: expression has no effect

/home/aadil/Documents/plvs/Thirdparty/libelas-gpu/GPU/elas_gpu.cu(625): warning #177-D: variable "xweight2" was declared but never referenced

/home/aadil/Documents/plvs/Thirdparty/libelas-gpu/GPU/elas_gpu.cu(625): warning #177-D: variable "xfactor2" was declared but never referenced

/home/aadil/Documents/plvs/Thirdparty/libelas-gpu/GPU/elas_gpu.cu(394): warning #2361-D: invalid narrowing conversion from "signed int" to "float"

/home/aadil/Documents/plvs/Thirdparty/libelas-gpu/GPU/elas_gpu.cu(394): warning #2361-D: invalid narrowing conversion from "signed int" to "float"

/home/aadil/Documents/plvs/Thirdparty/libelas-gpu/GPU/elas_gpu.cu(394): warning #2361-D: invalid narrowing conversion from "signed int" to "float"

/home/aadil/Documents/plvs/Thirdparty/libelas-gpu/GPU/elas_gpu.cu(365): warning #177-D: variable "p_i" was declared but never referenced

/home/aadil/Documents/plvs/Thirdparty/libelas-gpu/GPU/elas_gpu.cu(325): warning #177-D: variable "window_size" was declared but never referenced

/home/aadil/Documents/plvs/Thirdparty/libelas-gpu/GPU/elas_gpu.cu(344): warning #177-D: variable "offset" was declared but never referenced

/home/aadil/Documents/plvs/Thirdparty/libelas-gpu/GPU/elas_gpu.cu(345): warning #177-D: variable "milliseconds" was declared but never referenced

/home/aadil/Documents/plvs/Thirdparty/libelas-gpu/GPU/elas_gpu.cu(721): warning #174-D: expression has no effect

/home/aadil/Documents/plvs/Thirdparty/libelas-gpu/GPU/elas_gpu.cu(727): warning #174-D: expression has no effect

/home/aadil/Documents/plvs/Thirdparty/libelas-gpu/GPU/elas_gpu.cu(625): warning #177-D: variable "xweight2" was declared but never referenced

/home/aadil/Documents/plvs/Thirdparty/libelas-gpu/GPU/elas_gpu.cu(625): warning #177-D: variable "xfactor2" was declared but never referenced

/home/aadil/Documents/plvs/Thirdparty/libelas-gpu/GPU/elas_gpu.cu(394): warning #2361-D: invalid narrowing conversion from "signed int" to "float"

/home/aadil/Documents/plvs/Thirdparty/libelas-gpu/GPU/elas_gpu.cu(394): warning #2361-D: invalid narrowing conversion from "signed int" to "float"

/home/aadil/Documents/plvs/Thirdparty/libelas-gpu/GPU/elas_gpu.cu(394): warning #2361-D: invalid narrowing conversion from "signed int" to "float"

/home/aadil/Documents/plvs/Thirdparty/libelas-gpu/GPU/elas_gpu.cu(365): warning #177-D: variable "p_i" was declared but never referenced

/home/aadil/Documents/plvs/Thirdparty/libelas-gpu/GPU/elas_gpu.cu(325): warning #177-D: variable "window_size" was declared but never referenced

/home/aadil/Documents/plvs/Thirdparty/libelas-gpu/GPU/elas_gpu.cu(344): warning #177-D: variable "offset" was declared but never referenced

/home/aadil/Documents/plvs/Thirdparty/libelas-gpu/GPU/elas_gpu.cu(345): warning #177-D: variable "milliseconds" was declared but never referenced

/home/aadil/Documents/plvs/Thirdparty/libelas-gpu/GPU/elas_gpu.cu(721): warning #174-D: expression has no effect

/home/aadil/Documents/plvs/Thirdparty/libelas-gpu/GPU/elas_gpu.cu(727): warning #174-D: expression has no effect

/home/aadil/Documents/plvs/Thirdparty/libelas-gpu/GPU/elas_gpu.cu(625): warning #177-D: variable "xweight2" was declared but never referenced

/home/aadil/Documents/plvs/Thirdparty/libelas-gpu/GPU/elas_gpu.cu(625): warning #177-D: variable "xfactor2" was declared but never referenced

/home/aadil/Documents/plvs/Thirdparty/libelas-gpu/GPU/elas_gpu.cu(394): warning #2361-D: invalid narrowing conversion from "signed int" to "float"

/home/aadil/Documents/plvs/Thirdparty/libelas-gpu/GPU/elas_gpu.cu(394): warning #2361-D: invalid narrowing conversion from "signed int" to "float"

/home/aadil/Documents/plvs/Thirdparty/libelas-gpu/GPU/elas_gpu.cu(394): warning #2361-D: invalid narrowing conversion from "signed int" to "float"

/home/aadil/Documents/plvs/Thirdparty/libelas-gpu/GPU/elas_gpu.cu(365): warning #177-D: variable "p_i" was declared but never referenced

/home/aadil/Documents/plvs/Thirdparty/libelas-gpu/GPU/elas_gpu.cu(325): warning #177-D: variable "window_size" was declared but never referenced

/home/aadil/Documents/plvs/Thirdparty/libelas-gpu/GPU/elas_gpu.cu(344): warning #177-D: variable "offset" was declared but never referenced

/home/aadil/Documents/plvs/Thirdparty/libelas-gpu/GPU/elas_gpu.cu(345): warning #177-D: variable "milliseconds" was declared but never referenced

/home/aadil/Documents/plvs/Thirdparty/libelas-gpu/GPU/elas_gpu.cu(721): warning #174-D: expression has no effect

/home/aadil/Documents/plvs/Thirdparty/libelas-gpu/GPU/elas_gpu.cu(727): warning #174-D: expression has no effect

/home/aadil/Documents/plvs/Thirdparty/libelas-gpu/GPU/elas_gpu.cu(625): warning #177-D: variable "xweight2" was declared but never referenced

/home/aadil/Documents/plvs/Thirdparty/libelas-gpu/GPU/elas_gpu.cu(625): warning #177-D: variable "xfactor2" was declared but never referenced

/home/aadil/Documents/plvs/Thirdparty/libelas-gpu/GPU/elas_gpu.cu(394): warning #2361-D: invalid narrowing conversion from "signed int" to "float"

/home/aadil/Documents/plvs/Thirdparty/libelas-gpu/GPU/elas_gpu.cu(394): warning #2361-D: invalid narrowing conversion from "signed int" to "float"

/home/aadil/Documents/plvs/Thirdparty/libelas-gpu/GPU/elas_gpu.cu(394): warning #2361-D: invalid narrowing conversion from "signed int" to "float"

/home/aadil/Documents/plvs/Thirdparty/libelas-gpu/GPU/elas_gpu.cu(365): warning #177-D: variable "p_i" was declared but never referenced

/home/aadil/Documents/plvs/Thirdparty/libelas-gpu/GPU/elas_gpu.cu(325): warning #177-D: variable "window_size" was declared but never referenced

/home/aadil/Documents/plvs/Thirdparty/libelas-gpu/GPU/elas_gpu.cu(344): warning #177-D: variable "offset" was declared but never referenced

/home/aadil/Documents/plvs/Thirdparty/libelas-gpu/GPU/elas_gpu.cu(345): warning #177-D: variable "milliseconds" was declared but never referenced

/home/aadil/Documents/plvs/Thirdparty/libelas-gpu/GPU/elas_gpu.cu(721): warning #174-D: expression has no effect

/home/aadil/Documents/plvs/Thirdparty/libelas-gpu/GPU/elas_gpu.cu(727): warning #174-D: expression has no effect

/home/aadil/Documents/plvs/Thirdparty/libelas-gpu/GPU/elas_gpu.cu(625): warning #177-D: variable "xweight2" was declared but never referenced

/home/aadil/Documents/plvs/Thirdparty/libelas-gpu/GPU/elas_gpu.cu(625): warning #177-D: variable "xfactor2" was declared but never referenced

/home/aadil/Documents/plvs/Thirdparty/libelas-gpu/GPU/elas_gpu.cu(394): warning #2361-D: invalid narrowing conversion from "signed int" to "float"

/home/aadil/Documents/plvs/Thirdparty/libelas-gpu/GPU/elas_gpu.cu(394): warning #2361-D: invalid narrowing conversion from "signed int" to "float"

/home/aadil/Documents/plvs/Thirdparty/libelas-gpu/GPU/elas_gpu.cu(394): warning #2361-D: invalid narrowing conversion from "signed int" to "float"

/home/aadil/Documents/plvs/Thirdparty/libelas-gpu/GPU/elas_gpu.cu(721): warning #174-D: expression has no effect

/home/aadil/Documents/plvs/Thirdparty/libelas-gpu/GPU/elas_gpu.cu(727): warning #174-D: expression has no effect

/usr/include/c++/11/bits/std_function.h:435:145: error: parameter packs not expanded with ‘...’:
  435 |         function(_Functor&& __f)
      |                                                                                                                                                 ^ 
/usr/include/c++/11/bits/std_function.h:435:145: note:         ‘_ArgTypes’
/usr/include/c++/11/bits/std_function.h:530:146: error: parameter packs not expanded with ‘...’:
  530 |         operator=(_Functor&& __f)
      |                                                                                                                                                  ^ 
/usr/include/c++/11/bits/std_function.h:530:146: note:         ‘_ArgTypes’
/home/aadil/Documents/plvs/Thirdparty/libelas-gpu/GPU/elas_gpu.cu: In member function ‘virtual void libelas::ElasGPU::computeDisparity(std::vector<libelas::Elas::support_pt>, std::vector<libelas::Elas::triangle>, int32_t*, int32_t*, uint8_t*, uint8_t*, bool, float*)’:
/home/aadil/Documents/plvs/Thirdparty/libelas-gpu/GPU/elas_gpu.cu:394:33: warning: narrowing conversion of ‘p_support.std::vector<libelas::Elas::support_pt>::operator[](((std::vector<libelas::Elas::support_pt>::size_type)c1)).libelas::Elas::support_pt::v’ from ‘int32_t’ {aka ‘int’} to ‘float’ [-Wnarrowing]
  394 |     float tri_v[3] = {p_support[c1].v,p_support[c2].v,p_support[c3].v};
/home/aadil/Documents/plvs/Thirdparty/libelas-gpu/GPU/elas_gpu.cu:394:50: warning: narrowing conversion of ‘p_support.std::vector<libelas::Elas::support_pt>::operator[](((std::vector<libelas::Elas::support_pt>::size_type)c2)).libelas::Elas::support_pt::v’ from ‘int32_t’ {aka ‘int’} to ‘float’ [-Wnarrowing]
  394 |     float tri_v[3] = {p_support[c1].v,p_support[c2].v,p_support[c3].v};
/home/aadil/Documents/plvs/Thirdparty/libelas-gpu/GPU/elas_gpu.cu:394:67: warning: narrowing conversion of ‘p_support.std::vector<libelas::Elas::support_pt>::operator[](((std::vector<libelas::Elas::support_pt>::size_type)c3)).libelas::Elas::support_pt::v’ from ‘int32_t’ {aka ‘int’} to ‘float’ [-Wnarrowing]
  394 |     float tri_v[3] = {p_support[c1].v,p_support[c2].v,p_support[c3].v};
CMake Error at cuda_compile_1_generated_elas_gpu.cu.o.Release.cmake:276 (message):
  Error generating file
  /home/aadil/Documents/plvs/Thirdparty/libelas-gpu/build/CMakeFiles/cuda_compile_1.dir/GPU/./cuda_compile_1_generated_elas_gpu.cu.o

make[2]: *** [CMakeFiles/libelas_gpu.dir/build.make:77: CMakeFiles/cuda_compile_1.dir/GPU/cuda_compile_1_generated_elas_gpu.cu.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:90: CMakeFiles/libelas_gpu.dir/all] Error 2
make: *** [Makefile:91: all] Error 2 ```

**PS :** I am on ubuntu 22.04 and I followed your tutorial.

I do not know how to fix this kind of error.
Has anything like that ever happened to you?
Could you give me some advice in solving this error?

Thanks for your kind attention and look forward your reply.
Ayoub
Ayoub-adil commented 5 months ago

btw I already run these two scripts from the root of my PLVS working copy:

./install_dependencies.sh
./install_local_opencv.sh

I also tried to build libelas_gpu alone,but same issue. I used the scripts ./clean.sh ./build_thirdparty.sh and ./build.sh also .

Ayoub-adil commented 5 months ago

Screenshot from 2024-03-13 14-32-30 Screenshot from 2024-03-13 14-32-51

luigifreda commented 5 months ago

Hi, thanks for your feedback. As explained in the main README, plvs is officially supported under Ubuntu 20 (for different reasons). You can use rosdocker to smoothly manage docker images and containers and test plvs under Ubuntu 20.

Unfortunately, there is no official support under Ubuntu 22 yet. Just for science, I tried to build libelas with rosdocker under ubuntu20_cuda and it works. There are other build problems with the core plvs code though (as expected).