Qt Forum

    • Login
    • Search
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups
    • Search
    • Unsolved

    Solved Error while loading shared libraries created by myself.

    General and Desktop
    3
    6
    2552
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • dennile
      dennile last edited by A Former User

      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

      1 Reply Last reply Reply Quote 0
      • mrjj
        mrjj Lifetime Qt Champion last edited by mrjj

        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:"

        dennile 1 Reply Last reply Reply Quote 2
        • dennile
          dennile @mrjj last edited by dennile

          @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

          mrjj 1 Reply Last reply Reply Quote 1
          • mrjj
            mrjj Lifetime Qt Champion @dennile last edited by

            @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.

            1 Reply Last reply Reply Quote 1
            • _
              _hunter last edited by

              @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?

              mrjj 1 Reply Last reply Reply Quote 0
              • mrjj
                mrjj Lifetime Qt Champion @_hunter last edited by

                @_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.

                1 Reply Last reply Reply Quote 0
                • First post
                  Last post