Important: Please read the Qt Code of Conduct -

LDD on My Deployed Application

  • Hi all, I'm trying to create a installer to my application, and at moment I'm trying to build a debian package.
    So, when I try to make, I got some erros, with library on executable file.

    When I run the LDD on myy application I got this:

    dvl@ubuntu:~/Desktop/debian/inove-bevsat-1.0.0$ ldd InoveBEVSAT => (0xb7779000) => /opt/QtSDK/Desktop/Qt/4.8.1/gcc/lib/ (0xb61e6000) => /opt/QtSDK/Desktop/Qt/4.8.1/gcc/lib/ (0xb618e000) => /opt/QtSDK/Desktop/Qt/4.8.1/gcc/lib/ (0xb614d000) => /opt/QtSDK/Desktop/Qt/4.8.1/gcc/lib/ (0xb562a000) => /opt/QtSDK/Desktop/Qt/4.8.1/gcc/lib/ (0xb5343000) => /lib/i386-linux-gnu/ (0xb5315000) => /usr/lib/i386-linux-gnu/ (0xb5230000) => /lib/i386-linux-gnu/ (0xb5211000)

    Why some libraries is the /opt/QtSDK/Desktop/Qt/4.8.1/gcc/lib ? It's a kind of error?
    How to fix it?

  • When you compiled your application, you linked it against shared libraries of your version of Qt which is installed in /opt/QtSDK/Desktop/Qt/4.8.1/gcc/lib. There is something called RPATH that tells the dynamic linker where to look for the speficied libraries. What you want to do is to use an utility like "PatchELF": that will allow you to replace /opt/QtSDK/Desktop/Qt/4.8.1/gcc/lib/ by a simpler
    Those libraries will be looked for in the default library paths, read the manpage for ld if you need more information about that.

  • Thanks o use chrpath comand line and fix the problem.
    Now my debian package is building without errors.

Log in to reply