I think I'm missing some basic understanding of how to appropriately upgrade Qt via a .run file from qt.io, and how to reference it appropriately when trying to build some code with CMake. Here's what I'm doing:
I'm attempting to build the geometry processing framework OpenFlipper, and I'm following the documentation here. The documentation says it requires a Qt version between 5.11 and 5.13, and the latest version I get with apt is 5.9.2. Things I've done:
- I downloaded a .run file from qt.io and installed 5.15.1 (there are successful builds with this version) in ~/Qt/
- Following the two posts: 1, 2; I made config files for qtchooser that pointed to ~/Qt/5.15.1/gcc_64/bin and ~/Qt/5.15.1/gcc_64/lib
- Following the documentation, I ran cmake and it set variables pointing toward /usr/lib/x86_64-linux-gnu.
- To attempt to correct this, I ran ccmake (which I think just gives me a nicer interface for editing CMakeCache.txt), and manually changed QT5_INSTALL_PATH to ~/Qt/5.15.1/gcc_64. Configuring gives me the following resulting variables: screenshot of ccmake.
As can be seen, there are still variables set to some subfolder of /usr/lib/x86_64-linux-gnu. When I generate I also get all sorts of warnings like this:
CMake Warning at OpenFlipper/cmake/ACGCommon.cmake:322 (add_executable):
Cannot generate a safe runtime search path for target OpenFlipper because
files in some directories may conflict with libraries in implicit
directories:
runtime library [libQt5Xml.so.5] in /usr/lib/x86_64-linux-gnu may be hidden by files in:
/home/edward/Qt/5.15.1/gcc_64/lib
runtime library [libQt5Sql.so.5] in /usr/lib/x86_64-linux-gnu may be hidden by files in:
/home/edward/Qt/5.15.1/gcc_64/lib
runtime library [libQt5PrintSupport.so.5] in /usr/lib/x86_64-linux-gnu may be hidden by files in:
/home/edward/Qt/5.15.1/gcc_64/lib
runtime library [libQt5Widgets.so.5] in /usr/lib/x86_64-linux-gnu may be hidden by files in:
/home/edward/Qt/5.15.1/gcc_64/lib
runtime library [libQt5Concurrent.so.5] in /usr/lib/x86_64-linux-gnu may be hidden by files in:
/home/edward/Qt/5.15.1/gcc_64/lib
runtime library [libQt5Network.so.5] in /usr/lib/x86_64-linux-gnu may be hidden by files in:
/home/edward/Qt/5.15.1/gcc_64/lib
runtime library [libQt5Gui.so.5] in /usr/lib/x86_64-linux-gnu may be hidden by files in:
/home/edward/Qt/5.15.1/gcc_64/lib
runtime library [libQt5Core.so.5] in /usr/lib/x86_64-linux-gnu may be hidden by files in:
/home/edward/Qt/5.15.1/gcc_64/lib
Some of these libraries may not be found correctly.
Call Stack (most recent call first):
OpenFlipper/CoreApp/CMakeLists.txt:265 (acg_add_executable)
CMake manages to complete, but when I run make, I get the following error: screenshot of terminal output.
I'm pretty sure the last error is irrelevant and I'm just missing something at the cmake stage. My next thought is to manually go through ccmake and adjust all of the Qt-relevant variables to the appropriate subfolders of ~/Qt/5.15.1/gcc_64/. Unfortunately, I don't think I know enough about Qt to find the appropriate corresponding folders. And I imagine there might be a simpler way.
I feel relatively low on technical sophistication, so feel free to point me to relevant references on CMake, Qt, or Ubuntu/Linux if that'd be helpful.