zdzhaoyong / Map2DFusion

This is an open-source implementation of paper: Real-time Incremental UAV Image Mosaicing based on Monocular SLAM.
http://zhaoyong.adv-ci.com/map2dfusion/
GNU Lesser General Public License v3.0
326 stars 139 forks source link

crash before main function #2

Closed C8PAN closed 7 years ago

C8PAN commented 7 years ago

After the comman: ./Map2DFusion DataPath=phantom3-village-kfs I got the following runtime error: Error in `./Map2DFusion': realloc(): invalid pointer: 0x00007f2cfb7b0840 Aborted (core dumped) This error happens even before the main function is launched. I am not sure how to fix this. I am using Ubuntu 14.04

zdzhaoyong commented 7 years ago

Please excute "ldd Map2DFusion" and make sure all libraries are linked with correct version.

C8PAN commented 7 years ago

ldd Map2DFusion: linux-vdso.so.1 => (0x00007ffe157f5000) libpi_base.so => ./libs/libpi_base.so (0x00007fac68e79000) libpi_gui.so => ./libs/libpi_gui.so (0x00007fac68b7f000) libpi_hardware.so => ./libs/libpi_hardware.so (0x00007fac6892b000) libopmapwidget.so.1 => ./libs/libopmapwidget.so.1 (0x00007fac6863c000) libGL.so.1 => /usr/lib/nvidia-367/libGL.so.1 (0x00007fac68373000) libQtGui.so.4 => /usr/lib/x86_64-linux-gnu/libQtGui.so.4 (0x00007fac676c0000) libQtCore.so.4 => /usr/lib/x86_64-linux-gnu/libQtCore.so.4 (0x00007fac671db000) libopencv_core.so.2.4 => /usr/local/lib/libopencv_core.so.2.4 (0x00007fac66c6d000) libopencv_highgui.so.2.4 => /usr/local/lib/libopencv_highgui.so.2.4 (0x00007fac6696c000) libopencv_imgproc.so.2.4 => /usr/local/lib/libopencv_imgproc.so.2.4 (0x00007fac66461000) libopencv_stitching.so.2.4 => /usr/local/lib/libopencv_stitching.so.2.4 (0x00007fac661ef000) libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007fac65fd1000) libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007fac65ccd000) libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007fac659c6000) libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007fac657b0000) libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fac653eb000) libQtOpenGL.so.4 => /usr/lib/x86_64-linux-gnu/libQtOpenGL.so.4 (0x00007fac650ec000) libQGLViewer.so.2 => /usr/lib/x86_64-linux-gnu/libQGLViewer.so.2 (0x00007fac64e57000) libpi_lua.so => ./libs/libpi_lua.so (0x00007fac64c3c000) libGLU.so.1 => /usr/lib/x86_64-linux-gnu/libGLU.so.1 (0x00007fac649cd000) libGLEW.so.1.10 => /usr/lib/x86_64-linux-gnu/libGLEW.so.1.10 (0x00007fac64741000) libQtSvg.so.4 => /usr/lib/x86_64-linux-gnu/libQtSvg.so.4 (0x00007fac644e9000) libQtSql.so.4 => /usr/lib/x86_64-linux-gnu/libQtSql.so.4 (0x00007fac642aa000) libQtNetwork.so.4 => /usr/lib/x86_64-linux-gnu/libQtNetwork.so.4 (0x00007fac63f62000) libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007fac63d5d000) libGLX.so.0 => /usr/lib/nvidia-367/libGLX.so.0 (0x00007fac63b2c000) libGLdispatch.so.0 => /usr/lib/nvidia-367/libGLdispatch.so.0 (0x00007fac63843000) libfontconfig.so.1 => /usr/lib/x86_64-linux-gnu/libfontconfig.so.1 (0x00007fac63606000) libaudio.so.2 => /usr/lib/x86_64-linux-gnu/libaudio.so.2 (0x00007fac633ee000) libglib-2.0.so.0 => /lib/x86_64-linux-gnu/libglib-2.0.so.0 (0x00007fac630e6000) libpng12.so.0 => /lib/x86_64-linux-gnu/libpng12.so.0 (0x00007fac62ebf000) libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007fac62ca6000) libfreetype.so.6 => /usr/lib/x86_64-linux-gnu/libfreetype.so.6 (0x00007fac62a03000) libgobject-2.0.so.0 => /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0 (0x00007fac627b1000) libSM.so.6 => /usr/lib/x86_64-linux-gnu/libSM.so.6 (0x00007fac625a9000) libICE.so.6 => /usr/lib/x86_64-linux-gnu/libICE.so.6 (0x00007fac6238d000) libXi.so.6 => /usr/lib/x86_64-linux-gnu/libXi.so.6 (0x00007fac6217c000) libXrender.so.1 => /usr/lib/x86_64-linux-gnu/libXrender.so.1 (0x00007fac61f72000) libXext.so.6 => /usr/lib/x86_64-linux-gnu/libXext.so.6 (0x00007fac61d60000) libX11.so.6 => /usr/lib/x86_64-linux-gnu/libX11.so.6 (0x00007fac61a2a000) librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007fac61822000) /lib64/ld-linux-x86-64.so.2 (0x000055e628276000) libcudart.so.7.5 => /usr/local/cuda-7.5/lib64/libcudart.so.7.5 (0x00007fac615c3000) libtbb.so.2 => /usr/lib/libtbb.so.2 (0x00007fac6138f000) libjpeg.so.8 => /usr/lib/x86_64-linux-gnu/libjpeg.so.8 (0x00007fac6113a000) libjasper.so.1 => /usr/lib/x86_64-linux-gnu/libjasper.so.1 (0x00007fac60ee2000) libIlmImf.so.6 => /usr/lib/x86_64-linux-gnu/libIlmImf.so.6 (0x00007fac60c33000) libHalf.so.6 => /usr/lib/x86_64-linux-gnu/libHalf.so.6 (0x00007fac609f0000) libgstreamer-0.10.so.0 => /usr/lib/x86_64-linux-gnu/libgstreamer-0.10.so.0 (0x00007fac60705000) libgstvideo-0.10.so.0 => /usr/lib/x86_64-linux-gnu/libgstvideo-0.10.so.0 (0x00007fac604e9000) libgstapp-0.10.so.0 => /usr/lib/x86_64-linux-gnu/libgstapp-0.10.so.0 (0x00007fac602dd000) libgstriff-0.10.so.0 => /usr/lib/x86_64-linux-gnu/libgstriff-0.10.so.0 (0x00007fac600cf000) libgstpbutils-0.10.so.0 => /usr/lib/x86_64-linux-gnu/libgstpbutils-0.10.so.0 (0x00007fac5feab000) libdc1394.so.22 => /usr/lib/x86_64-linux-gnu/libdc1394.so.22 (0x00007fac5fc37000) libv4l1.so.0 => /usr/lib/x86_64-linux-gnu/libv4l1.so.0 (0x00007fac5fa30000) libv4l2.so.0 => /usr/lib/x86_64-linux-gnu/libv4l2.so.0 (0x00007fac5f822000) libavcodec.so.54 => /usr/lib/x86_64-linux-gnu/libavcodec.so.54 (0x00007fac5eacc000) libavformat.so.54 => /usr/lib/x86_64-linux-gnu/libavformat.so.54 (0x00007fac5e7a9000) libavutil.so.52 => /usr/lib/x86_64-linux-gnu/libavutil.so.52 (0x00007fac5e584000) libswscale.so.2 => /usr/lib/x86_64-linux-gnu/libswscale.so.2 (0x00007fac5e33d000) libQt5Core.so.5 => /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 (0x00007fac5dc96000) libQt5Gui.so.5 => /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5 (0x00007fac5d649000) libQt5Widgets.so.5 => /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5 (0x00007fac5ce20000) libQt5Test.so.5 => /usr/lib/x86_64-linux-gnu/libQt5Test.so.5 (0x00007fac5cbf6000) libQt5OpenGL.so.5 => /usr/lib/x86_64-linux-gnu/libQt5OpenGL.so.5 (0x00007fac5c992000) libopencv_flann.so.2.4 => /usr/local/lib/libopencv_flann.so.2.4 (0x00007fac5c719000) libopencv_features2d.so.2.4 => /usr/local/lib/libopencv_features2d.so.2.4 (0x00007fac5c467000) libopencv_calib3d.so.2.4 => /usr/local/lib/libopencv_calib3d.so.2.4 (0x00007fac5c188000) libopencv_gpu.so.2.4 => /usr/local/lib/libopencv_gpu.so.2.4 (0x00007fac55f15000) libopencv_nonfree.so.2.4 => /usr/local/lib/libopencv_nonfree.so.2.4 (0x00007fac55cbd000) libQtXml.so.4 => /usr/lib/x86_64-linux-gnu/libQtXml.so.4 (0x00007fac55a77000) liblua.so => ./libs/liblua.so (0x00007fac55849000) libexpat.so.1 => /lib/x86_64-linux-gnu/libexpat.so.1 (0x00007fac5561e000) libXt.so.6 => /usr/lib/x86_64-linux-gnu/libXt.so.6 (0x00007fac553b8000) libXau.so.6 => /usr/lib/x86_64-linux-gnu/libXau.so.6 (0x00007fac551b4000) libpcre.so.3 => /lib/x86_64-linux-gnu/libpcre.so.3 (0x00007fac54f75000) libffi.so.6 => /usr/lib/x86_64-linux-gnu/libffi.so.6 (0x00007fac54d6d000) libuuid.so.1 => /lib/x86_64-linux-gnu/libuuid.so.1 (0x00007fac54b68000) libxcb.so.1 => /usr/lib/x86_64-linux-gnu/libxcb.so.1 (0x00007fac54948000) libIex.so.6 => /usr/lib/x86_64-linux-gnu/libIex.so.6 (0x00007fac5472a000) libIlmThread.so.6 => /usr/lib/x86_64-linux-gnu/libIlmThread.so.6 (0x00007fac54523000) libgmodule-2.0.so.0 => /usr/lib/x86_64-linux-gnu/libgmodule-2.0.so.0 (0x00007fac5431f000) libxml2.so.2 => /usr/lib/x86_64-linux-gnu/libxml2.so.2 (0x00007fac53fb8000) libgstbase-0.10.so.0 => /usr/lib/x86_64-linux-gnu/libgstbase-0.10.so.0 (0x00007fac53d63000) liborc-0.4.so.0 => /usr/lib/x86_64-linux-gnu/liborc-0.4.so.0 (0x00007fac53ae1000) libgstaudio-0.10.so.0 => /usr/lib/x86_64-linux-gnu/libgstaudio-0.10.so.0 (0x00007fac538a8000) libgsttag-0.10.so.0 => /usr/lib/x86_64-linux-gnu/libgsttag-0.10.so.0 (0x00007fac53671000) libraw1394.so.11 => /usr/lib/x86_64-linux-gnu/libraw1394.so.11 (0x00007fac53463000) libusb-1.0.so.0 => /lib/x86_64-linux-gnu/libusb-1.0.so.0 (0x00007fac5324b000) libv4lconvert.so.0 => /usr/lib/x86_64-linux-gnu/libv4lconvert.so.0 (0x00007fac52fd2000) libxvidcore.so.4 => /usr/lib/x86_64-linux-gnu/libxvidcore.so.4 (0x00007fac52c94000) libx264.so.142 => /usr/lib/x86_64-linux-gnu/libx264.so.142 (0x00007fac528fd000) libvpx.so.1 => /usr/lib/x86_64-linux-gnu/libvpx.so.1 (0x00007fac5251e000) libvorbisenc.so.2 => /usr/lib/x86_64-linux-gnu/libvorbisenc.so.2 (0x00007fac5204f000) libvorbis.so.0 => /usr/lib/x86_64-linux-gnu/libvorbis.so.0 (0x00007fac51e21000) libvo-amrwbenc.so.0 => /usr/lib/x86_64-linux-gnu/libvo-amrwbenc.so.0 (0x00007fac51c07000) libvo-aacenc.so.0 => /usr/lib/x86_64-linux-gnu/libvo-aacenc.so.0 (0x00007fac519ea000) libtheoraenc.so.1 => /usr/lib/x86_64-linux-gnu/libtheoraenc.so.1 (0x00007fac517a9000) libtheoradec.so.1 => /usr/lib/x86_64-linux-gnu/libtheoradec.so.1 (0x00007fac51590000) libspeex.so.1 => /usr/lib/x86_64-linux-gnu/libspeex.so.1 (0x00007fac51377000) libschroedinger-1.0.so.0 => /usr/lib/x86_64-linux-gnu/libschroedinger-1.0.so.0 (0x00007fac510b2000) libopus.so.0 => /usr/lib/x86_64-linux-gnu/libopus.so.0 (0x00007fac50e6a000) libopenjpeg.so.2 => /usr/lib/x86_64-linux-gnu/libopenjpeg.so.2 (0x00007fac50c48000) libopencore-amrwb.so.0 => /usr/lib/x86_64-linux-gnu/libopencore-amrwb.so.0 (0x00007fac50a33000) libopencore-amrnb.so.0 => /usr/lib/x86_64-linux-gnu/libopencore-amrnb.so.0 (0x00007fac50809000) libmp3lame.so.0 => /usr/lib/x86_64-linux-gnu/libmp3lame.so.0 (0x00007fac5057c000) libgsm.so.1 => /usr/lib/x86_64-linux-gnu/libgsm.so.1 (0x00007fac5036d000) libva.so.1 => /usr/lib/x86_64-linux-gnu/libva.so.1 (0x00007fac50156000) librtmp.so.0 => /usr/lib/x86_64-linux-gnu/librtmp.so.0 (0x00007fac4ff3b000) libgnutls.so.26 => /usr/lib/x86_64-linux-gnu/libgnutls.so.26 (0x00007fac4fc7d000) libbz2.so.1.0 => /lib/x86_64-linux-gnu/libbz2.so.1.0 (0x00007fac4fa6d000) libicui18n.so.52 => /usr/lib/x86_64-linux-gnu/libicui18n.so.52 (0x00007fac4f665000) libicuuc.so.52 => /usr/lib/x86_64-linux-gnu/libicuuc.so.52 (0x00007fac4f2ec000) libharfbuzz.so.0 => /usr/lib/x86_64-linux-gnu/libharfbuzz.so.0 (0x00007fac4f096000) libopencv_objdetect.so.2.4 => /usr/local/lib/libopencv_objdetect.so.2.4 (0x00007fac4ee10000) libnppc.so.7.5 => /usr/local/cuda-7.5/lib64/libnppc.so.7.5 (0x00007fac4eba6000) libnppi.so.7.5 => /usr/local/cuda-7.5/lib64/libnppi.so.7.5 (0x00007fac4acd5000) libnpps.so.7.5 => /usr/local/cuda-7.5/lib64/libnpps.so.7.5 (0x00007fac4a4e8000) libcublas.so.7.5 => /usr/local/cuda-7.5/lib64/libcublas.so.7.5 (0x00007fac48c08000) libcufft.so.7.5 => /usr/local/cuda-7.5/lib64/libcufft.so.7.5 (0x00007fac41fcd000) libopencv_ocl.so.2.4 => /usr/local/lib/libopencv_ocl.so.2.4 (0x00007fac41be7000) libXdmcp.so.6 => /usr/lib/x86_64-linux-gnu/libXdmcp.so.6 (0x00007fac419e1000) liblzma.so.5 => /lib/x86_64-linux-gnu/liblzma.so.5 (0x00007fac417bf000) libgstinterfaces-0.10.so.0 => /usr/lib/x86_64-linux-gnu/libgstinterfaces-0.10.so.0 (0x00007fac415ac000) libudev.so.1 => /lib/x86_64-linux-gnu/libudev.so.1 (0x00007fac4139b000) libogg.so.0 => /usr/lib/x86_64-linux-gnu/libogg.so.0 (0x00007fac41191000) libgcrypt.so.11 => /lib/x86_64-linux-gnu/libgcrypt.so.11 (0x00007fac40f11000) libtasn1.so.6 => /usr/lib/x86_64-linux-gnu/libtasn1.so.6 (0x00007fac40cfc000) libp11-kit.so.0 => /usr/lib/x86_64-linux-gnu/libp11-kit.so.0 (0x00007fac40aba000) libicudata.so.52 => /usr/lib/x86_64-linux-gnu/libicudata.so.52 (0x00007fac3f24d000) libgraphite2.so.3 => /usr/lib/x86_64-linux-gnu/libgraphite2.so.3 (0x00007fac3f026000) libopencv_ml.so.2.4 => /usr/local/lib/libopencv_ml.so.2.4 (0x00007fac3ed96000) libcgmanager.so.0 => /lib/x86_64-linux-gnu/libcgmanager.so.0 (0x00007fac3eb7a000) libnih.so.1 => /lib/x86_64-linux-gnu/libnih.so.1 (0x00007fac3e962000) libnih-dbus.so.1 => /lib/x86_64-linux-gnu/libnih-dbus.so.1 (0x00007fac3e758000) libdbus-1.so.3 => /lib/x86_64-linux-gnu/libdbus-1.so.3 (0x00007fac3e512000) libgpg-error.so.0 => /lib/x86_64-linux-gnu/libgpg-error.so.0 (0x00007fac3e30d000)

zdzhaoyong commented 7 years ago

The crash occurs since Qt5 is linked, Map2DFusion need Qt4 instead of Qt5.

C8PAN commented 7 years ago

OK, I see. Thank you very much.

KeoChi commented 5 years ago

My error is "Segmentation fault (core dumped)". @C8PAN Do you solve problem? Can you share relevant experience? I made sure opencv use Qt4. But the QT5 is still linked. @zdzhaoyong I look forward to your detailed explanation or update of the source code. Thank you!

KeoChi commented 5 years ago

I solved it. My experience: 1.ubuntu 16.04 2.compile opencv2.4: In OpenCVFindLibsGUI.cmake, make it linked the qt4.

 # if(NOT CMAKE_VERSION VERSION_LESS 2.8.3 AND NOT WITH_QT EQUAL 4)
  #   find_package(Qt5Core)
  #   find_package(Qt5Gui)
  #   find_package(Qt5Widgets)
  #   find_package(Qt5Test)
  #   find_package(Qt5Concurrent)
  #   if(Qt5Core_FOUND AND Qt5Gui_FOUND AND Qt5Widgets_FOUND AND Qt5Test_FOUND AND Qt5Concurrent_FOUND)
  #     set(HAVE_QT5 ON)
  #     set(HAVE_QT  ON)
  #     find_package(Qt5OpenGL)
  #     if(Qt5OpenGL_FOUND)
  #       set(QT_QTOPENGL_FOUND ON)
  #     endif()
  #   endif()
  # endif()

3.sudo apt-get install libqglviewer2-qt4

4.In LIBS_CONFIG.linux,LIBS_CONFIG.mingw,LIBS_CONFIG.linux, change -lQGLViewer to -lQGLViewer-qt4

  1. export PKG_CONFIG_PATH=(your path)/opencv-2.4.11-install/lib/pkgconfig export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:(your path)/opencv-2.4.11-install/lib

6.make

xlong0513 commented 4 years ago

@KeoChi Hey, there. I got the same questions. Since OpenCV is installed by 'sudo', how can I use the code without compiling OpenCv myself?