Error while loading shared libraries created by myself.



  • I create a shared library and successfully build in QT GUI. I want to run the excutable file in the terminal, but I get the error:

    error while loading shared libraries: libtracker.so.1: cannot open shared object file: No such file or directory
    

    I can run normally in the QT GUI, but can not run in the terminal, and get the above error. So what should be the reason for that? Something is wrong when I create the lib?
    My operation system is :ubuntu 14.04
    QT:5.7.0


  • Qt Champions 2017

    hi
    everything is ok i think
    It just cannot find libtracker.so.1
    so is this your lib ?
    and if you do "locate libtracker.so.1"
    where is it then ?

    Also try ldd on your exe and see

    Its important to understand that your exe NEEDS the Qt so files
    to run
    http://www.tripleboot.org/?p=138
    Look in linux section.
    "Linux GCC 32-bit and 64-bit compilers:"



  • @mrjj thanks for your reply, I just find the method, I need to set the environment variable, LD_LIBRARY_PATH. After setting that, I can run it on terminal. Thanks anyway!
    -shan


  • Qt Champions 2017

    @dennile
    Ok. super. Well you need such folder if u plan to give programs to others.
    And yes LD_LIBRARY_PATH and rpath is how one can do it.



  • @dennile said in Error while loading shared libraries created by myself.:

    LD_LIBRARY_PATH

    hi,i meet the same problem as you,can you detail how you solve this problem?


  • Qt Champions 2017

    @_hunter

    Hi
    bascially, you include the needed SO files etc and do

    #!/bin/bash
    cd /mnt/xx/theprogfolder
    export LD_LIBRARY_PATH=./
    ./progname 
    

    its shown in
    http://doc.qt.io/qt-5/linux-deployment.html
    section Creating the Application Package

    This is best used for testing. the rpath way is better for real deployment.
    or so i have been told.


Log in to reply
 

Looks like your connection to Qt Forum was lost, please wait while we try to reconnect.