Open dlyr opened 2 years ago
Fast and dirty test
mkdir pathToQt
pip install -U pip
pip install -U aqtinstall
aqt install-qt linux desktop 5.15
cd pathToRadium/bin
cp pathToQt/gcc_64/lib/* .
cp -r `pathToQt/5.15.2/gcc_64/plugins/*` .
edit HelloRadium.sh
#!/bin/sh
appname=`basename $0 | sed s,\.sh$,,`
dirname=`dirname $0`
tmp="${dirname#?}"
if [ "${dirname%$tmp}" != "/" ]; then
dirname=$PWD/$dirname
fi
LD_LIBRARY_PATH=$dirname
export LD_LIBRARY_PATH
$dirname/$appname "$@"
then run ./HelloRadium.sh
or any other bin (first e.g. cp HelloRadium.sh to DrawPrimitiveDemo.sh)
Well on my system, the script is not mandatory, I didn't check why.
Yes we identified linuxdeployqt long time ago... but never added it.
To keep the distribution size reasonable, I'll strongly prefer the first solution that seems to me be the simpler for the user.
- install/use system wide qt on ubuntu CI (instead of install-qt-action)
By using linuxdeployQt, (similarly used on mac or windows), this should fix application deployment if we use for Linux the same "bundle" strategy than for macos (less clean for windows) and deploy application in an appDir or similar. But this will not fix the development framework. And this last might be very helpful for users that just want to develop their own applications and not to compile first Radium.
If asking the user to install Qt using aqt in user-space, how a find_package(Qt) will distinguish between system-wide or user-space installation of Qt. The user will have to always define Qt_DIR
or add its user-space installation in CMAKE_PREFIX_PATH
.
With the "system" version of Qt, in CI, how to ensure that the linux distribution uses the same version of Qt as the CI ?
And yes, the user have to specify Qt_DIR
as with windows.
Asking the user to use a specific installer seems to me quite intrusive, at least, much more intrusive than asking for a specific version installed freely (the same version than on CI). And if we bundle the Qt libs within the Radium-bundle, do we deploy the whole Qt libraries ? if yes, it represents quite big storage, if no (we deploy only the used components, as i understood - but maybe I'm wrong- this is what is done by xxxdeployqt tools), what if a user wants to implement an application that uses a Qt component not deployed with Radium ?
Actually, if I understand well the aqtintaller, it installs official Qt package. Is the version mismatch is also present on macos ? I think the problem comes from debian package build option, but I do not find how debian official pacakges are built ... so I cannot find what are the differences. (for the record, debian package options are defined in http://deb.debian.org/debian/pool/main/q/qtbase-opensource-src/qtbase-opensource-src_5.15.2+dfsg-9.debian.tar.xz in debian/rules file)
Hence, precompiled binaries do not run on linux system (debian/ubuntu) systems. Possible solutions :