PDA

View Full Version : How to deploy Qt5 developed dynamic linking app to Debian Jessie?



te777
30th June 2015, 20:53
I have a Qt 5.3.1 developed dynamic linking app that runs on Ubuntu and Linux Mint Cinnamon. But it won't run on Linux Mint XFCE in VirtualBox with 3D acceleration enabled, and it won't run with or without 3D accelaration in VirtualBox for Linux Mint LMDE or Debian Jessie.

Any ideas, comments or possible solutions would be welcome.

Or are the problems more than likey VirtualBox originated? Anybody with Linux native setups (preferably Debian and not virtual machines in VirtualBox) or other VM setups like VMWare player are welcome to test the app for me to see if it runs there:

http://tcesoftware.webs.com

Download and try to run either a 32 bit or 64 bit Linux version. I only have a Windows 7 SP1 64 bit host running VirtualBox 4.3.26.

Any replies welcome. Thanks in advance. Sorry if posting the link to my website is frowned upon. It is free software though. I have nothing to gain by someone downloading my software. If the link isn't acceptable, let me know if there's another way someone can test the application for me.

Best Regards,
Tom

Added after 1 15 minutes:

Update: For the Debian Linux virtual machines I had to go into Synaptics and install "qt5-default" package. For XFCE I just re-installed the VBox Guest Additions while in the user I was testing in. All is good for opeating the programs. But as a side note, any system I use Cinnamon with, my app doesn't display correctly (missing data outputs to text boxes). This happens with 3D acceleration enabled for the virtual machine in VirtualBox. Any comments on this Cinnamon issue are welcome.

d_stranz
1st July 2015, 01:25
Don't know if it is related, but on Android, I found that some of the C standard library string functions are not implemented - in particular sprintf / sscanf, which we were using to format and parse strings in a pure C++ library (i.e. non-Qt). Had to replace all of these with strstream equivalents.

anda_skoa
1st July 2015, 09:20
Update: For the Debian Linux virtual machines I had to go into Synaptics and install "qt5-default" package.

That sounds like you are not including the Qt libraries in your application installer or the start script does not set the linker search paths correctly (e.g. LD_LIBRARY_PATH no pointing to the place of your Qt libraries).

Cheers,
_

te777
1st July 2015, 10:30
For my Qt5 app, I have the following line in my .pro file:

unix:!mac { LIBS += -Wl,-rpath=\\\$$ORIGIN/libs
}

The files I have in "libs" are:

libicudata.so.52.1
libicui18n.so.52.1
libicuuc.so.52.1
libQt5Core.so.5.3.1
libQt5DBus.so.5.3.1
libQt5Gui.so.5.3.1
libQt5Network.so.5.3.1
libQt5Widgets.so.5.3.1

Maybe I'm missing something. The user just has to click on the program file to run the app. The problem happens in any Debian version. Linux Mint (both Cinnamon and Xfce) and Ubuntu will run as is.

anda_skoa
1st July 2015, 12:15
if you run ldd on your executable, does it find your libs?

Cheers,
_

te777
1st July 2015, 16:23
I edited my last post. I ran ldd on my executable and it listed the libs. A lot of them are symbolic links so copying them to a test machine requires some time (following links and renaming files to copy). I'll post back.

Added after 1 18 minutes:

The number extensions on the lib files were not completely correct. Renamed them accordingly and all works good now. But I still have the Cinnamon issue. I'll start a new thread for that.