ANSRTrack – Deploy to Linux: Part 3

Distribution via AppImage

To this point, we have identified all of the libraries to be distributed with the executable file in order to distribute a folder containing everything necessary to run on most reasonably up to date versions of linux. We also discovered the folder arrangement necessary to make this work. We put everything together in a package that allowed us to copy the program to a computer which does not have Qt installed on it, and were successful in running in the new environment.

Next, we will try to use a distribution method called an AppImage to distribute the program.

An AppImage is a container (kind of like a compressed folder) that contains many of the same files as our “manual” folder transfer method that we got working. The advantage of the AppImage is that the user can just copy this one file anywhere on their linux machine and expect it to work with minimal changes. I’ve read that it works very much like apps on an Apple machine.

An AppImage will require something called a desktop file. This is a text file that has entries to describe the program. I copied the following entries into a text fie and saved it with the ANSRTrack name. The linux system recognizes it as a desktop configuration file.

[Read the rest of this entry…]

Leave a Comment

ANSRTrack – Deploy to Linux: Part 2

Distribution via Folder Copy

In my last post, I described how I went about identifying all of the files necessary to distribute my new High Altitude Balloon Tracking program to linux machines other than the one it had been developed on.

At the end of that post, I was left with a folder which contained an executable file, several library files and a subfolder containing another library file.

In this post, I will go over the structure of these folders and how I tested the distribution on alternate linux operating systems and machines.

Basically, I started with the second distribution method mentioned in the Qt Wiki article. The first method was to statically build the application, which results in a huge executable, and looked to be more work than I was interested in doing at this point.

The second distribution method is to collect the executable and supporting files all under a single directory tree, add a shell script to set the library path and distribute that collection of files together.

At the end of my last post, I had the following directory structure accumulated:

  • ANSRTrack folder
    • ANSRTrack – Executable file
    • libQt5Core.so.5 – shared library
    • libQt5Gui.so.5 – shared library
    • libQt5Widgets.so.5 – shared library
    • libQt5Positioning.so.5 – shared library
    • libQt5SerialPort.so.5 – shared library
    • libQt5Dbus.so.5 – shared library
    • libQt5XcbQpa.so.5 – shared library
    • libicui18n.so.56 – shared library
    • libicuuc.so.56 – shared library
    • libicudata.so.56 – shared library
    • platforms directory
      • libqxcb.so – shared platform library
[Read the rest of this entry…]

Leave a Comment

ANSRTrack – Deploy to Linux: Part 1

Identifying Critical Libraries

As mentioned in our previous post, I have been developing a new version of our High Altitude Balloon Tracking System. This is being written on the Qt platform, a GUI-based development environment using C++ and its associated libraries.

I will not be discussing the use of the Qt platform up to the point of compiling and running the code in the development mode. Once the code compiles without errors and is reasonably debugged, it is time to deploy the program to be used on computers other than that which it was developed on.

In order to deploy the program, we need an executable file (from our compile effort), and a group of library binary files that the program uses, but which are not likely to be already installed on base linux operating systems. This post outlines my method of identifying those files. I am nowhere near an expert on this, but I will try to explain how I personally arrived at this method.

We start by compiling the program inside the Qt environment. This is while we are still in Debug Mode in the compiler. Prior to this step, we have a folder with our various source files, header files and gui files. It is named ANSRTrack in this case:

[Read the rest of this entry…]

Leave a Comment

WB0WHO -SK

I received news on Wednesday, February 27 2019 that one of my oldest and closest friends, John Koppert WB0WHO had passed away.  He had not been heard from since the prior Monday, Jan 25th.  Whn his son-in-law went to check on him, he was found lifeless sitting in his chair.  A heart attack is suspected.

[Read the rest of this entry…]

Leave a Comment

ANSRTrack Program Development using QT5

This post is about the software development and distribution of my new linux-based High Altitude Balloon Tracker program.

ANSRTrack ver 0.1

[Read the rest of this entry…]

Leave a Comment