Results 1 to 11 of 11

Thread: Run an application in Qt4.6 Linux

  1. #1
    Join Date
    Dec 2009
    Posts
    8
    Thanks
    1
    Qt products
    Qt4
    Platforms
    Unix/X11

    Default Run an application in Qt4.6 Linux

    Hi, all,

    I can build an application both in terminal and Qt4.6, but it can only run in terminal. When I tried to run it in Qt4.6, I got this error message:" error while loading shared libraries: libcudart.so.2: cannot open shared object file: No such file or directory". I think it might be a library dependencies problem. The following is my .pro file
    ///////////////////////////////////////////////////////////////////////////////////////////////////
    # Path to opencv install
    OPENCV_DIR = /usr/local/opencv

    # Path to cuda SDK install
    CUDA_SDK = /home/wu/NVIDIA_GPU_Computing_SDK/C

    # Path to cuda toolkit install
    CUDA_DIR = /usr/local/cuda
    #CUDA_DIR = $$system(which nvcc | sed 's,/bin/nvcc$,,')

    # GPU architecture
    CUDA_ARCH = sm_11


    PROJECT_DIR = $$system(pwd)


    #CONFIG += create_prl

    #CONFIG += link_prl

    TEMPLATE = app
    #TARGET = release_binary
    #CONFIG += release
    QMAKE_CXXFLAGS_RELEASE =-O3
    DESTDIR = ../bin


    LIBS += -lcudart -lcutil
    LIBS += -lGLEW -lGL -lGLU
    LIBS += -lcxcore -lcv -lhighgui -lcvaux -lml

    RESOURCES += ressources.qrc
    OBJECTS_DIR = $$PROJECT_DIR/Obj
    NVCCFLAGS = --compile --host-compilation \'C++\' \
    --compiler-options -fno-strict-aliasing -use_fast_math


    DEPENDPATH += $$PROJECT_DIR/Gui
    DEPENDPATH += $$PROJECT_DIR/Motion
    DEPENDPATH += $$PROJECT_DIR/Cuda
    DEPENDPATH += $$PROJECT_DIR/Core
    DEPENDPATH += $$PROJECT_DIR/Media
    DEPENDPATH += $$PROJECT_DIR/OpenGL
    DEPENDPATH += $$PROJECT_DIR


    INCLUDEPATH += $$PROJECT_DIR/Gui
    INCLUDEPATH += $$PROJECT_DIR/Motion
    INCLUDEPATH += $$PROJECT_DIR/Cuda
    INCLUDEPATH += $$PROJECT_DIR/Media
    INCLUDEPATH += $$PROJECT_DIR/Core
    INCLUDEPATH += $$PROJECT_DIR/OpenGL
    INCLUDEPATH += $$PROJECT_DIR


    QT += opengl



    INCLUDEPATH += $$CUDA_DIR/include
    QMAKE_LIBDIR += $$CUDA_DIR/lib64

    INCLUDEPATH += $$CUDA_SDK/common/inc/
    QMAKE_LIBDIR += $$CUDA_SDK/lib
    QMAKE_LIBDIR += $$CUDA_SDK/common/lib

    INCLUDEPATH += $$OPENCV_DIR/include
    QMAKE_LIBDIR += $$OPENCV_DIR/lib

    # Input
    FORMS += paramsFolki.ui

    HEADERS += LIVA.hpp
    HEADERS += Logger.hpp
    HEADERS += Singleton.hpp
    HEADERS += mainwindows.h
    HEADERS += paramsFolki.hpp
    HEADERS += LiGL2Dwidget.hpp
    HEADERS += MediaPlayer.hpp
    HEADERS += LkCvWidget.hpp
    HEADERS += FolkiOpticalFlow.hpp
    HEADERS += OpticalFlow.hpp
    HEADERS += endianness.h
    HEADERS += FlotRender.hpp
    HEADERS += GestionBuffer.hpp

    SOURCES += main.cpp
    SOURCES += paramsFolki.cpp
    SOURCES += LiGL2Dwidget.cpp
    SOURCES += MediaPlayer.cpp
    SOURCES += LkCvWidget.cpp
    SOURCES += FolkiOpticalFlow.cpp
    SOURCES += OpticalFlow.cpp
    SOURCES += endianness.c
    SOURCES += FlotRender.cpp


    CUDA_SOURCES += ConvolutionSeparable.cu
    CUDA_SOURCES += ConvolutionSeparableFlat.cu
    CUDA_SOURCES += ConvolutionSeparableU.cu
    CUDA_SOURCES += ConvolutionSeparableFlatU.cu
    CUDA_SOURCES += DeriveGradient.cu
    CUDA_SOURCES += FolkiOpticalFlowKernels.cu
    CUDA_SOURCES += PyramidBurt.cu
    CUDA_SOURCES += PyramidHaar.cu
    CUDA_SOURCES += DivRot.cu
    CUDA_SOURCES += RenderGL.cu
    CUDA_SOURCES += Morpho.cu
    CUDA_SOURCES += Reduction.cu
    CUDA_SOURCES += Propage.cu

    HEADERS += ConvolutionSeparableFlat.hpp
    HEADERS += ConvolutionSeparable.hpp
    HEADERS += ConvolutionSeparableFlatU.hpp
    HEADERS += ConvolutionSeparableU.hpp
    HEADERS += DeriveGradient.hpp
    HEADERS += FolkiOpticalFlowKernels.hpp
    HEADERS += LiCuda.hpp
    HEADERS += PyramidBurt.hpp
    HEADERS += PyramidHaar.hpp
    HEADERS += DivRot.hpp
    HEADERS += RenderGL.hpp
    HEADERS += Morpho.hpp
    HEADERS += Reduction.hpp
    HEADERS += Propage.hpp

    CUDA_INC = $$join(INCLUDEPATH,' -I','-I',' ')


    cuda.output = ${OBJECTS_DIR}${QMAKE_FILE_BASE}_cuda.o
    cuda.commands = /usr/local/cuda/bin/nvcc -arch=$$CUDA_ARCH -c $$NVCCFLAGS $$CUDA_INC $$LIBS ${QMAKE_FILE_NAME} -o ${QMAKE_FILE_OUT}
    cuda.dependcy_type = TYPE_C
    cuda.depend_command = /usr/local/cuda/bin/nvcc -M $$CUDA_INC $$NVCCFLAGS ${QMAKE_FILE_NAME} |sed "s,^.*:,,"|sed "s,^ *,," | tr -d '\\\n'
    cuda.input = CUDA_SOURCES
    QMAKE_EXTRA_UNIX_COMPILERS += cuda

    /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    Please help me out. Thank you very much.

    Best,
    Wu

  2. #2
    Join Date
    Jan 2006
    Location
    Munich, Germany
    Posts
    4,714
    Thanks
    21
    Thanked 418 Times in 411 Posts
    Qt products
    Qt3 Qt4 Qt5 Qt/Embedded
    Platforms
    Unix/X11 Windows

    Default Re: Run an application in Qt4.6 Linux

    make sure libcudart.so.2 is located in the paths specified under LD_LIBRARY_PATH
    ==========================signature=============== ==================
    S.O.L.I.D principles (use them!):
    https://en.wikipedia.org/wiki/SOLID_...iented_design)

    Do you write clean code? - if you are TDD'ing then maybe, if not, your not writing clean code.

  3. #3
    Join Date
    Dec 2009
    Posts
    8
    Thanks
    1
    Qt products
    Qt4
    Platforms
    Unix/X11

    Default Re: Run an application in Qt4.6 Linux

    Hi,

    Thank you for your reply. My LD_LIBRARY_PATH variable for build and run environment is /home/wu/qtsdk-2009.05/lib/qtcreator. I moved libcudart.so.2 file to /home/wu/qtsdk-2009.05/lib/qtcreator directory and tried to run again, but I still got the same error message.

    Best,
    Wu

  4. #4
    Join Date
    Jan 2006
    Location
    Munich, Germany
    Posts
    4,714
    Thanks
    21
    Thanked 418 Times in 411 Posts
    Qt products
    Qt3 Qt4 Qt5 Qt/Embedded
    Platforms
    Unix/X11 Windows

    Default Re: Run an application in Qt4.6 Linux

    what does
    ldd <appname>
    return?
    ==========================signature=============== ==================
    S.O.L.I.D principles (use them!):
    https://en.wikipedia.org/wiki/SOLID_...iented_design)

    Do you write clean code? - if you are TDD'ing then maybe, if not, your not writing clean code.

  5. #5
    Join Date
    Dec 2009
    Posts
    8
    Thanks
    1
    Qt products
    Qt4
    Platforms
    Unix/X11

    Default Re: Run an application in Qt4.6 Linux

    linux-vdso.so.1 => (0x00007fffb1a8d000)
    libcudart.so.2 => /usr/local/cuda/lib64/libcudart.so.2 (0x00007fa531498000)
    libGLEW.so.1.5 => /usr/lib/libGLEW.so.1.5 (0x00007fa531253000)
    libcxcore.so.4 => /usr/local/opencv/lib/libcxcore.so.4 (0x00007fa530dbc000)
    libcv.so.4 => /usr/local/opencv/lib/libcv.so.4 (0x00007fa53093b000)
    libhighgui.so.4 => /usr/local/opencv/lib/libhighgui.so.4 (0x00007fa5306fc000)
    libcvaux.so.4 => /usr/local/opencv/lib/libcvaux.so.4 (0x00007fa5303f8000)
    libml.so.4 => /usr/local/opencv/lib/libml.so.4 (0x00007fa53016e000)
    libQtOpenGL.so.4 => /home/wu/qtsdk-2009.05/qt/lib/libQtOpenGL.so.4 (0x00007fa52fe97000)
    libQtGui.so.4 => /home/wu/qtsdk-2009.05/qt/lib/libQtGui.so.4 (0x00007fa52f186000)
    libQtCore.so.4 => /home/wu/qtsdk-2009.05/qt/lib/libQtCore.so.4 (0x00007fa52ecd6000)
    libGLU.so.1 => /usr/lib/libGLU.so.1 (0x00007fa52ea64000)
    libGL.so.1 => /usr/lib/libGL.so.1 (0x00007fa52e875000)
    libpthread.so.0 => /lib/libpthread.so.0 (0x00007fa52e659000)
    libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x00007fa52e34c000)
    libm.so.6 => /lib/libm.so.6 (0x00007fa52e0c7000)
    libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x00007fa52deaf000)
    libc.so.6 => /lib/libc.so.6 (0x00007fa52db3d000)
    libdl.so.2 => /lib/libdl.so.2 (0x00007fa52d939000)
    librt.so.1 => /lib/librt.so.1 (0x00007fa52d731000)
    libXmu.so.6 => /usr/lib/libXmu.so.6 (0x00007fa52d518000)
    libXi.so.6 => /usr/lib/libXi.so.6 (0x00007fa52d30d000)
    libXext.so.6 => /usr/lib/libXext.so.6 (0x00007fa52d0fb000)
    libX11.so.6 => /usr/lib/libX11.so.6 (0x00007fa52cdf4000)
    libavformat.so.52 => /usr/lib/libavformat.so.52 (0x00007fa52cafc000)
    libavcodec.so.52 => /usr/lib/libavcodec.so.52 (0x00007fa52c149000)
    libz.so.1 => /lib/libz.so.1 (0x00007fa52bf31000)
    libgomp.so.1 => /usr/lib/libgomp.so.1 (0x00007fa52bd28000)
    libgthread-2.0.so.0 => /usr/lib/libgthread-2.0.so.0 (0x00007fa52bb23000)
    libgtk-x11-2.0.so.0 => /usr/lib/libgtk-x11-2.0.so.0 (0x00007fa52b527000)
    libgdk-x11-2.0.so.0 => /usr/lib/libgdk-x11-2.0.so.0 (0x00007fa52b285000)
    libatk-1.0.so.0 => /usr/lib/libatk-1.0.so.0 (0x00007fa52b065000)
    libpangoft2-1.0.so.0 => /usr/lib/libpangoft2-1.0.so.0 (0x00007fa52ae37000)
    libpangocairo-1.0.so.0 => /usr/lib/libpangocairo-1.0.so.0 (0x00007fa52ac2b000)
    libgio-2.0.so.0 => /usr/lib/libgio-2.0.so.0 (0x00007fa52a9ae000)
    libcairo.so.2 => /usr/lib/libcairo.so.2 (0x00007fa52a72b000)
    libpango-1.0.so.0 => /usr/lib/libpango-1.0.so.0 (0x00007fa52a4e2000)
    libfreetype.so.6 => /usr/lib/libfreetype.so.6 (0x00007fa52a25c000)
    libfontconfig.so.1 => /usr/lib/libfontconfig.so.1 (0x00007fa52a02a000)
    libgdk_pixbuf-2.0.so.0 => /usr/lib/libgdk_pixbuf-2.0.so.0 (0x00007fa529e0e000)
    libgobject-2.0.so.0 => /usr/lib/libgobject-2.0.so.0 (0x00007fa529bc8000)
    libgmodule-2.0.so.0 => /usr/lib/libgmodule-2.0.so.0 (0x00007fa5299c4000)
    libglib-2.0.so.0 => /usr/lib/libglib-2.0.so.0 (0x00007fa5296ff000)
    libpng12.so.0 => /usr/lib/libpng12.so.0 (0x00007fa5294d8000)
    libtiff.so.4 => /usr/lib/libtiff.so.4 (0x00007fa52927d000)
    libjpeg.so.62 => /usr/lib/libjpeg.so.62 (0x00007fa52905a000)
    libswscale.so.0 => /usr/lib/libswscale.so.0 (0x00007fa528e2e000)
    libraw1394.so.8 => /usr/lib/libraw1394.so.8 (0x00007fa528c27000)
    libdc1394.so.22 => /usr/lib/libdc1394.so.22 (0x00007fa5289b9000)
    libXrender.so.1 => /usr/lib/libXrender.so.1 (0x00007fa5287af000)
    libSM.so.6 => /usr/lib/libSM.so.6 (0x00007fa5285a6000)
    libICE.so.6 => /usr/lib/libICE.so.6 (0x00007fa52838b000)
    libGLcore.so.1 => /usr/lib/libGLcore.so.1 (0x00007fa526f61000)
    libnvidia-tls.so.1 => /usr/lib/tls/libnvidia-tls.so.1 (0x00007fa5317d0000)
    /lib64/ld-linux-x86-64.so.2 (0x00007fa5316d8000)
    libXt.so.6 => /usr/lib/libXt.so.6 (0x00007fa526cfb000)
    libXau.so.6 => /usr/lib/libXau.so.6 (0x00007fa526af8000)
    libxcb.so.1 => /usr/lib/libxcb.so.1 (0x00007fa5268dc000)
    libavutil.so.49 => /usr/lib/libavutil.so.49 (0x00007fa5266cd000)
    libgsm.so.1 => /usr/lib/libgsm.so.1 (0x00007fa5264c0000)
    libschroedinger-1.0.so.0 => /usr/lib/libschroedinger-1.0.so.0 (0x00007fa52624c000)
    libspeex.so.1 => /usr/lib/libspeex.so.1 (0x00007fa526032000)
    libtheora.so.0 => /usr/lib/libtheora.so.0 (0x00007fa525de5000)
    libvorbisenc.so.2 => /usr/lib/libvorbisenc.so.2 (0x00007fa525a0b000)
    libvorbis.so.0 => /usr/lib/libvorbis.so.0 (0x00007fa5257de000)
    libpcre.so.3 => /lib/libpcre.so.3 (0x00007fa5255ae000)
    libXinerama.so.1 => /usr/lib/libXinerama.so.1 (0x00007fa5253ac000)
    libXrandr.so.2 => /usr/lib/libXrandr.so.2 (0x00007fa5251a3000)
    libXcursor.so.1 => /usr/lib/libXcursor.so.1 (0x00007fa524f99000)
    libXcomposite.so.1 => /usr/lib/libXcomposite.so.1 (0x00007fa524d96000)
    libXdamage.so.1 => /usr/lib/libXdamage.so.1 (0x00007fa524b94000)
    libXfixes.so.3 => /usr/lib/libXfixes.so.3 (0x00007fa52498f000)
    libselinux.so.1 => /lib/libselinux.so.1 (0x00007fa524773000)
    libpixman-1.so.0 => /usr/lib/libpixman-1.so.0 (0x00007fa52452e000)
    libdirectfb-1.0.so.0 => /usr/lib/libdirectfb-1.0.so.0 (0x00007fa5242ba000)
    libfusion-1.0.so.0 => /usr/lib/libfusion-1.0.so.0 (0x00007fa5240b1000)
    libdirect-1.0.so.0 => /usr/lib/libdirect-1.0.so.0 (0x00007fa523e9b000)
    libxcb-render-util.so.0 => /usr/lib/libxcb-render-util.so.0 (0x00007fa523c97000)
    libxcb-render.so.0 => /usr/lib/libxcb-render.so.0 (0x00007fa523a8e000)
    libexpat.so.1 => /usr/lib/libexpat.so.1 (0x00007fa523864000)
    libuuid.so.1 => /lib/libuuid.so.1 (0x00007fa52365f000)
    libXdmcp.so.6 => /usr/lib/libXdmcp.so.6 (0x00007fa52345a000)
    liboil-0.3.so.0 => /usr/lib/liboil-0.3.so.0 (0x00007fa5231cb000)
    libogg.so.0 => /usr/lib/libogg.so.0 (0x00007fa522fc5000)

  6. #6
    Join Date
    Jan 2006
    Location
    Munich, Germany
    Posts
    4,714
    Thanks
    21
    Thanked 418 Times in 411 Posts
    Qt products
    Qt3 Qt4 Qt5 Qt/Embedded
    Platforms
    Unix/X11 Windows

    Default Re: Run an application in Qt4.6 Linux

    well, libcudart.so.2 is found.
    What happens if you launch creator from the console and then try to run the application from creator?
    ==========================signature=============== ==================
    S.O.L.I.D principles (use them!):
    https://en.wikipedia.org/wiki/SOLID_...iented_design)

    Do you write clean code? - if you are TDD'ing then maybe, if not, your not writing clean code.

  7. #7
    Join Date
    Dec 2009
    Posts
    8
    Thanks
    1
    Qt products
    Qt4
    Platforms
    Unix/X11

    Default Re: Run an application in Qt4.6 Linux

    I got the following message:

    Starting /home/wu/Desktop/E47/FOLKI_GPU/bin/FolkiGpu...
    /home/wu/Desktop/E47/FOLKI_GPU/bin/FolkiGpu: error while loading shared libraries: libcudart.so.2: cannot open shared object file: No such file or directory
    /home/wu/Desktop/E47/FOLKI_GPU/bin/FolkiGpu exited with code 127

    Wu

  8. #8
    Join Date
    Jan 2006
    Location
    Munich, Germany
    Posts
    4,714
    Thanks
    21
    Thanked 418 Times in 411 Posts
    Qt products
    Qt3 Qt4 Qt5 Qt/Embedded
    Platforms
    Unix/X11 Windows

    Default Re: Run an application in Qt4.6 Linux

    Just add libcudart.so.2's location to your LD_LIBRARY_PATH.
    I am quite sure it will fix the problem.
    ==========================signature=============== ==================
    S.O.L.I.D principles (use them!):
    https://en.wikipedia.org/wiki/SOLID_...iented_design)

    Do you write clean code? - if you are TDD'ing then maybe, if not, your not writing clean code.

  9. The following user says thank you to high_flyer for this useful post:

    Wu (29th December 2009)

  10. #9
    Join Date
    Sep 2009
    Location
    UK
    Posts
    2,447
    Thanks
    6
    Thanked 348 Times in 333 Posts
    Qt products
    Qt4
    Platforms
    Windows

    Default Re: Run an application in Qt4.6 Linux

    Quote Originally Posted by Wu View Post
    I moved libcudart.so.2 file to /home/wu/qtsdk-2009.05/lib/qtcreator directory and tried to run again, but I still got the same error message.
    libcudart.so.2 is probably just a soft-link to another file in the same directory (or depends on other files in that directory). Instead of copying the file elsewhere, include the path to that file in your LD_LIBRARY_PATH, as already suggested.

  11. #10
    Join Date
    Dec 2009
    Posts
    8
    Thanks
    1
    Qt products
    Qt4
    Platforms
    Unix/X11

    Default Re: Run an application in Qt4.6 Linux

    I added the directory (/usr/local/cuda/lib64/) containing libcudart.so.2 to LD_LIBRARY_PATH variable in the Build and Run Environment of the Projects settings. The application still can not run in Qt. How can I add a directory to LD_LIBRARY_PATH in Qt? Thank you very much.

    Best,
    Wu

  12. #11
    Join Date
    Dec 2009
    Posts
    8
    Thanks
    1
    Qt products
    Qt4
    Platforms
    Unix/X11

    Default Re: Run an application in Qt4.6 Linux

    It works now. Thank you very much.

    Best,
    Wu

Similar Threads

  1. Deploying Qt Application under Linux
    By addu in forum Qt Programming
    Replies: 17
    Last Post: 27th November 2010, 04:40
  2. Qt application from linux to windows
    By chs in forum Newbie
    Replies: 6
    Last Post: 17th November 2009, 16:54
  3. running application in linux
    By aj2903 in forum Qt Programming
    Replies: 5
    Last Post: 28th October 2009, 06:43
  4. Deploying application on Linux machine without Qt
    By will49 in forum Installation and Deployment
    Replies: 2
    Last Post: 10th July 2008, 22:41
  5. Replies: 2
    Last Post: 12th January 2007, 11:19

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
Digia, Qt and their respective logos are trademarks of Digia Plc in Finland and/or other countries worldwide.