Home        Store        Learn        Blog

Build Ping Viewer from source Jetson Xavier

Been trying to build Ping Viewer from source for almost a week and making no progress. I am on a jetson xavier and even gettting Qmake to work has been a process! I have a version QT creator installed but also tried to install older versions and building them from source so I should have 5.15.2 as well. Problem is when I try to build, QT tries to use the newest version and not the 5.15.2 version.
When I try
cmake -B build -DCMAKE_BUILD_TYPE=Debug
in terminal I get the error-
the following configuration files were considered but not accepted:
/usr/lib/aarch64-linux-gnu/cmake/QT5/Qt5Config.cmake, version 5.9.5

How can I get QT to use the right configuration file?

Hi @cperos, welcome to the forum :slight_smile:

I don’t have much experience with Qt, so I’ve passed this on to our software team and will get back to you.

Our build instructions say to use Qt 5.15, so if it’s trying to use that then that’s the expected behaviour. Do you know where you got the idea that Qt 5.12 should be used? If that’s on the forum or in our documentation please let me know so I can correct it :slight_smile:

It’s likely irrelevant, but I’m aware that we have an open issue regarding adding Arm support. I believe that’s more about us making pre-built binaries and perhaps adding some board-specific build instructions - I don’t believe any code changes should be required to build from source on an Arm device.

Hi @cperos, it appears from your error message that you are building Ping-Viewer with Qt 5.9.5.

I would recommend to install Qt with the official tool if possible, if you hardware/OS is not fully supported you could try to use non-official installation tools such as aqtinstall.

If you have any other Qt version installed, make sure to configure cmake property to look for the correct Qt installation version path.

As @EliotBR pointed, we do have an open issue to create ARM based releases, there are some people that are building and running Ping-Viewer on the raspberry, so we know that it works: Building PingViewer from source - #4 by hc-robotics

1 Like

Yes I know that is the problem, I just cant get QT to use another version instead of 5.9.5, I keep trying to add another version but it never seems to detect or try to use the alternate config file. How can I get QT to try in 5.15

I tried installing 5.15.2 because that’s the only source I can find to build it from that is 5.15, Im not using 5.12, I assumed 5.15.2 was just the second release of 5.15, Still the issue is I cant get QT to even try to use other versions to build from source and would like to know how to get qt to at least consider using an alternate config file. Hopefully one day they release builds for different architectures, I cant be the only one trying to run this on a Jetson…

Thanks I think this is what I need to figure out how to to, do you have any advice on how to accomplish this?

Unfortunately time is a finite resource, and the vast majority of our users run Ping Viewer on more standard computers, along with QGroundControl. No doubt we’ll get Arm builds out at some point, but at the moment we’ve got a few major projects ongoing that are taking most of our available programming time, which is unlikely to change for at least the next couple of months.

I searched online for “cmake specify qt installation version path”, and found this, which suggests using the CMAKE_PREFIX_PATH variable. Hope that helps :slight_smile:

Hi @cperos,

@EliotBR suggestion is correct, it’s only necessary to use CMAKE_PREFIX_PATH argument.
As example, in my machine, to build Ping-Viewer with Qt6, I only need to call cmake with
-DCMAKE_PREFIX_PATH=/usr/lib/qt515/ argument. But be aware, the value of the CMAKE_PREFIX_PATH needs to be defined correctly for you setup.

1 Like