RPi3-Make Install Quirk w/ QT6
-
Hi,
I am running into a quirk while trying to use <make install> to install Strawberry 1.0.2 when its compiled using the Qt6 dependencies. This happens both on my RPi3 running 32 bit Bullseye but also when i replicated the steps using the latest Linux Mint via a VM on my laptop. The issue is that when I compile the binaries using <make>, I can double click on the resulting "strawberry" executable file and it starts up fine. When I try to install it using <make install>, it gets installed and shows up under the "Sound & Video" menu option, but when I select it, Strawberry never starts up. I open a terminal and type "strawberry" from any directory and I get the following error: "strawberry: error while loading shared libraries: libQt6Concurrent.so.6: cannot open shared object file: No such file or directory". I thought it was an issue with PATH, but if I copy the strawberry executable from the "build" directory to the directory that <make install> places the executable, it will run fine whether I go through the menu or terminal. I originally compiled using the default Qt5 libraries on my RPi, and that worked fine after <make install>. Not sure what is different, I assumed <make install> just took the binary built using <make> and copied it to the appropriate directory, but that does not appear to be the case. As I mentioned earlier, running through the same steps gives the same outcome in Linux Mint (I know I can just install it on Mint through the normal repository, I was just trying to see if it was a quirk on the Pi).
More Info:
I left a lot out, but I have all of the dependencies installed so that when I run <cmake> it does not say I am missing any. The file that gives the error above is under one of the Qt6 library directories,so it is on my Pi (and Mint). I have performed several "clean" compilings both just wiping out the "build" directory as well as re-downloading and re-uncompressing the source to the directory, starting over. Everything I have tried comes out the same.Oh, when I run <make> I don't use the "-j$(proc)" that the Debian/Ubuntu compiling instructions say to use. It causes my RPi3 to freeze. Simple "make" works well, the Pi4 may be powerful enough to not freeze up using that option. I did try the "-j$(proc)" on Mint, no difference in outcome (not that I really expected it to).
Any ideas?
Thanks.
-
After doing some more searching online, it looks like the runtime path was changed to "" when I <make install>. I found what I believe to be the culprit in: /home/pi/Downloads/temp/strawberry-1.0.2/build/src/cmake_install.cmake
Changed the "New_Rpath" to be the same as the old and it worked fine. I am guessing the Rpath only gets changed when installing it using <make install> and not for the compiled binary.