ScaViSLAM icon indicating copy to clipboard operation
ScaViSLAM copied to clipboard

/usr/lib/x86_64-linux-gnu/libGLU.so.1: error adding symbols: DSO missing from command line

Open LINANZHE opened this issue 11 years ago • 7 comments

cnlnz@cnlnz-All-Series:~/MY_SOFTWARE_DIRECTORY/ScaViSLAM/svs_build$ cmake .. -DCMAKE_PREFIX_PATH:PATH=$HOME/svslocal CUDA SUPPORT OFF PCL SUPPORT OFF SSE 4.1 SUPPORT OFF -- found library 'GL': /usr/lib/x86_64-linux-gnu/libGL.so -- found library 'pangolin': /home/cnlnz/svslocal/lib/libpangolin.so -- found library 'glut': /usr/lib/x86_64-linux-gnu/libglut.so -- found library 'g2o_stuff': /home/cnlnz/svslocal/lib/libg2o_stuff.so -- found library 'g2o_core': /home/cnlnz/svslocal/lib/libg2o_core.so -- found library 'g2o_solver_csparse': /home/cnlnz/svslocal/lib/libg2o_solver_csparse.so -- found library 'csparse': /usr/lib/libcsparse.so -- found library 'g2o_csparse_extension': /home/cnlnz/svslocal/lib/libg2o_csparse_extension.so -- found library 'VisionTools': /home/cnlnz/svslocal/lib/libVisionTools.so -- found library 'Sophus': /home/cnlnz/svslocal/lib/libSophus.so -- found library 'boost_system': /usr/lib/x86_64-linux-gnu/libboost_system.so -- found library 'boost_thread': /usr/lib/x86_64-linux-gnu/libboost_thread.so -- found library 'boost_filesystem': /usr/lib/x86_64-linux-gnu/libboost_filesystem.so -- found library 'boost_regex': /usr/lib/x86_64-linux-gnu/libboost_regex.so -- found library 'opencv_core': /home/cnlnz/svslocal/lib/libopencv_core.so -- found library 'opencv_features2d': /home/cnlnz/svslocal/lib/libopencv_features2d.so -- found library 'opencv_flann': /home/cnlnz/svslocal/lib/libopencv_flann.so -- found library 'opencv_gpu': /home/cnlnz/svslocal/lib/libopencv_gpu.so -- found library 'opencv_nonfree': /home/cnlnz/svslocal/lib/libopencv_nonfree.so -- found library 'opencv_highgui': /home/cnlnz/svslocal/lib/libopencv_highgui.so -- found library 'opencv_imgproc': /home/cnlnz/svslocal/lib/libopencv_imgproc.so -- found library 'opencv_calib3d': /home/cnlnz/svslocal/lib/libopencv_calib3d.so -- Configuring done -- Generating done -- Build files have been written to: /home/cnlnz/MY_SOFTWARE_DIRECTORY/ScaViSLAM/svs_build cnlnz@cnlnz-All-Series:~/MY_SOFTWARE_DIRECTORY/ScaViSLAM/svs_build$ make -j4 /usr/bin/cmake -H/home/cnlnz/MY_SOFTWARE_DIRECTORY/ScaViSLAM -B/home/cnlnz/MY_SOFTWARE_DIRECTORY/ScaViSLAM/svs_build --check-build-system CMakeFiles/Makefile.cmake 0 /usr/bin/cmake -E cmake_progress_start /home/cnlnz/MY_SOFTWARE_DIRECTORY/ScaViSLAM/svs_build/CMakeFiles /home/cnlnz/MY_SOFTWARE_DIRECTORY/ScaViSLAM/svs_build/CMakeFiles/progress.marks make -f CMakeFiles/Makefile2 all make[1]: Entering directory /home/cnlnz/MY_SOFTWARE_DIRECTORY/ScaViSLAM/svs_build' make -f CMakeFiles/ScaViSLAM.dir/build.make CMakeFiles/ScaViSLAM.dir/depend make[2]: Entering directory/home/cnlnz/MY_SOFTWARE_DIRECTORY/ScaViSLAM/svs_build' cd /home/cnlnz/MY_SOFTWARE_DIRECTORY/ScaViSLAM/svs_build && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /home/cnlnz/MY_SOFTWARE_DIRECTORY/ScaViSLAM /home/cnlnz/MY_SOFTWARE_DIRECTORY/ScaViSLAM /home/cnlnz/MY_SOFTWARE_DIRECTORY/ScaViSLAM/svs_build /home/cnlnz/MY_SOFTWARE_DIRECTORY/ScaViSLAM/svs_build /home/cnlnz/MY_SOFTWARE_DIRECTORY/ScaViSLAM/svs_build/CMakeFiles/ScaViSLAM.dir/DependInfo.cmake --color= make[2]: Leaving directory /home/cnlnz/MY_SOFTWARE_DIRECTORY/ScaViSLAM/svs_build' make -f CMakeFiles/ScaViSLAM.dir/build.make CMakeFiles/ScaViSLAM.dir/build make[2]: Entering directory/home/cnlnz/MY_SOFTWARE_DIRECTORY/ScaViSLAM/svs_build' make[2]: Nothing to be done for CMakeFiles/ScaViSLAM.dir/build'. make[2]: Leaving directory/home/cnlnz/MY_SOFTWARE_DIRECTORY/ScaViSLAM/svs_build' /usr/bin/cmake -E cmake_progress_report /home/cnlnz/MY_SOFTWARE_DIRECTORY/ScaViSLAM/svs_build/CMakeFiles 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 [ 90%] Built target ScaViSLAM make -f CMakeFiles/create_dictionary.dir/build.make CMakeFiles/create_dictionary.dir/depend make -f CMakeFiles/stereo_slam.dir/build.make CMakeFiles/stereo_slam.dir/depend make[2]: Entering directory /home/cnlnz/MY_SOFTWARE_DIRECTORY/ScaViSLAM/svs_build' cd /home/cnlnz/MY_SOFTWARE_DIRECTORY/ScaViSLAM/svs_build && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /home/cnlnz/MY_SOFTWARE_DIRECTORY/ScaViSLAM /home/cnlnz/MY_SOFTWARE_DIRECTORY/ScaViSLAM /home/cnlnz/MY_SOFTWARE_DIRECTORY/ScaViSLAM/svs_build /home/cnlnz/MY_SOFTWARE_DIRECTORY/ScaViSLAM/svs_build /home/cnlnz/MY_SOFTWARE_DIRECTORY/ScaViSLAM/svs_build/CMakeFiles/create_dictionary.dir/DependInfo.cmake --color= make[2]: Entering directory/home/cnlnz/MY_SOFTWARE_DIRECTORY/ScaViSLAM/svs_build' cd /home/cnlnz/MY_SOFTWARE_DIRECTORY/ScaViSLAM/svs_build && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /home/cnlnz/MY_SOFTWARE_DIRECTORY/ScaViSLAM /home/cnlnz/MY_SOFTWARE_DIRECTORY/ScaViSLAM /home/cnlnz/MY_SOFTWARE_DIRECTORY/ScaViSLAM/svs_build /home/cnlnz/MY_SOFTWARE_DIRECTORY/ScaViSLAM/svs_build /home/cnlnz/MY_SOFTWARE_DIRECTORY/ScaViSLAM/svs_build/CMakeFiles/stereo_slam.dir/DependInfo.cmake --color= make[2]: Leaving directory /home/cnlnz/MY_SOFTWARE_DIRECTORY/ScaViSLAM/svs_build' make -f CMakeFiles/create_dictionary.dir/build.make CMakeFiles/create_dictionary.dir/build make[2]: Leaving directory/home/cnlnz/MY_SOFTWARE_DIRECTORY/ScaViSLAM/svs_build' make -f CMakeFiles/stereo_slam.dir/build.make CMakeFiles/stereo_slam.dir/build make[2]: Entering directory /home/cnlnz/MY_SOFTWARE_DIRECTORY/ScaViSLAM/svs_build' make[2]: Nothing to be done forCMakeFiles/create_dictionary.dir/build'. make[2]: Leaving directory /home/cnlnz/MY_SOFTWARE_DIRECTORY/ScaViSLAM/svs_build' /usr/bin/cmake -E cmake_progress_report /home/cnlnz/MY_SOFTWARE_DIRECTORY/ScaViSLAM/svs_build/CMakeFiles 20 [ 95%] Built target create_dictionary make[2]: Entering directory/home/cnlnz/MY_SOFTWARE_DIRECTORY/ScaViSLAM/svs_build' Linking CXX executable stereo_slam /usr/bin/cmake -E cmake_link_script CMakeFiles/stereo_slam.dir/link.txt --verbose=1 /usr/bin/c++ -O3 -g CMakeFiles/stereo_slam.dir/scavislam/stereo_slam.cpp.o -o stereo_slam -rdynamic libScaViSLAM.so -lGL /home/cnlnz/svslocal/lib/libpangolin.so -lglut /home/cnlnz/svslocal/lib/libg2o_stuff.so /home/cnlnz/svslocal/lib/libg2o_core.so /home/cnlnz/svslocal/lib/libg2o_solver_csparse.so -lcsparse /home/cnlnz/svslocal/lib/libg2o_csparse_extension.so /home/cnlnz/svslocal/lib/libVisionTools.so /home/cnlnz/svslocal/lib/libSophus.so -lboost_system -lboost_thread -lboost_filesystem -lboost_regex /home/cnlnz/svslocal/lib/libopencv_core.so /home/cnlnz/svslocal/lib/libopencv_features2d.so /home/cnlnz/svslocal/lib/libopencv_flann.so /home/cnlnz/svslocal/lib/libopencv_gpu.so /home/cnlnz/svslocal/lib/libopencv_nonfree.so /home/cnlnz/svslocal/lib/libopencv_highgui.so /home/cnlnz/svslocal/lib/libopencv_imgproc.so /home/cnlnz/svslocal/lib/libopencv_calib3d.so -Wl,-rpath,/home/cnlnz/MY_SOFTWARE_DIRECTORY/ScaViSLAM/svs_build:/home/cnlnz/svslocal/lib /usr/bin/ld: CMakeFiles/stereo_slam.dir/scavislam/stereo_slam.cpp.o: undefined reference to symbol 'gluDeleteQuadric' /usr/lib/x86_64-linux-gnu/libGLU.so.1: error adding symbols: DSO missing from command line collect2: error: ld returned 1 exit status make[2]: *** [stereo_slam] Error 1 make[2]: Leaving directory /home/cnlnz/MY_SOFTWARE_DIRECTORY/ScaViSLAM/svs_build' make[1]: *** [CMakeFiles/stereo_slam.dir/all] Error 2 make[1]: Leaving directory/home/cnlnz/MY_SOFTWARE_DIRECTORY/ScaViSLAM/svs_build' make: *** [all] Error 2

LINANZHE avatar Feb 24 '14 06:02 LINANZHE

I had the same problem. I think the problem is that it's not linking to libGLU, so adding the following line

-lGLU /usr/lib/x86_64-linux-gnu/libGLU.so

in ScaViSLAM/svs_build/CMakeFiles/stereo_slam.dir/link.txt

made it compile for me.

khaledalturkestani avatar Jun 27 '14 23:06 khaledalturkestani

Add the previous line in link.txt works for me.

Thanks!

romulogcerqueira avatar Sep 08 '14 17:09 romulogcerqueira

it just the compiling procedure. You will come across many other errors like this. Let's discuss and solve it.

asimay avatar Sep 09 '14 06:09 asimay

I have the same error trying to compile Ubuntu 14.04 LTS.

Is there any to fix this through the CMakeLists.txt file?

Unfortunately link.txt exists in many different .dir/ folders.

YonatanSimson avatar May 20 '16 18:05 YonatanSimson

I have the same error trying to compile Ubuntu 14.04 LTS.

Is there any to fix this through the CMakeLists.txt file?

Unfortunately link.txt exists in many different .dir/ folders.

Same question here...

NEGU93 avatar Oct 18 '18 07:10 NEGU93

I have the same error trying to compile Ubuntu 14.04 LTS. Is there any to fix this through the CMakeLists.txt file? Unfortunately link.txt exists in many different .dir/ folders.

Same question here...

Same question +1! ubuntu 18.04 has the same problem! Anyone have fixed it yet?

disini avatar Apr 20 '20 08:04 disini

this error because of the incorrect relations between targets and libraries. please check your linking parameters order.

possible causes for this error :

  • incorrect order of linking.
  • incorrect relations between targets and libraries
  • does not linking required libraries
  • invalid rpath seting for cmake

hi from rabbit hole..

eheperson avatar May 26 '22 19:05 eheperson