Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

System wide Qt (on debian) do not match aqtinstall version from CI #936

Open
dlyr opened this issue May 12, 2022 · 7 comments
Open

System wide Qt (on debian) do not match aqtinstall version from CI #936

dlyr opened this issue May 12, 2022 · 7 comments
Assignees

Comments

@dlyr
Copy link
Contributor

dlyr commented May 12, 2022

Hence, precompiled binaries do not run on linux system (debian/ubuntu) systems.
Possible solutions :

  • install/use system wide qt on ubuntu CI (instead of install-qt-action)
  • bundle ci qt version with pre-compiled binaries (and follow https://doc.qt.io/qt-5/linux-deployment.html for deployment/exec with a startup script)
  • let the user install qt with aqt and use it. I have tested and it works.
@dlyr
Copy link
Contributor Author

dlyr commented May 12, 2022

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.

@dlyr
Copy link
Contributor Author

dlyr commented May 12, 2022

@nmellado
Copy link
Contributor

Yes we identified linuxdeployqt long time ago... but never added it.

@MathiasPaulin
Copy link
Contributor

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.

@dlyr
Copy link
Contributor Author

dlyr commented May 12, 2022

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.

@MathiasPaulin
Copy link
Contributor

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 ?

@dlyr
Copy link
Contributor Author

dlyr commented May 19, 2022

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)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants