Closed higaski closed 3 months ago
I found a bug in the code. it's not work for you because your qt located in specify folder x86_64-w64-mingw32 but at now cqtdeployer supports only
"x86_64-linux-gnu";
"aarch64-linux-gnu";
"x86_32-linux-gnu";
"arm-linux-gnu";
system folders. I will fix it and add support, a custom platform.
About the qmake6 -query it's not work for snap applications. So cqtdeployer try to initialize qt by default templates.
Hm, I don't understand? I'm not using snap applications?
Hm, I don't understand? I'm not using snap applications?
No, it looks as bug, I will fix it. But for now you can try to use deb (if it's possible to you (libc version equal Ubuntu 22.04 required)) version of cqtdeployer - its may solve your issue.
@higaski I take this issue to work, but still not understand why the started QProcess of qmake6 returns empty result string of the qt configuration
Warning: Wrong output from the qmake process. /usr/x86_64-w64-mingw32/lib/qt6/bin/qmake6
Verbose log: Raw output:
Verbose log: Parsed Qt configuration:
Qt Inforamtion:
Platform:
Major version: 0
Binaries dir:
Libraries dir:
Libexecs dir:
Plugins dir:
QMLs dir:
Translations dir:
Resources dir:
The CQtDeployer have the same system environment as your console (where you run qmake6)? Probably it's a different environment and cqtdeployer receive different (wrong) result from qmake6
Now I see you use the classic version of cqtdeployer (not snap) so the QProcess should work correctly, but this doesn't happen.
It should be the same environment. I'm invoking CQtDeployer through a custom CMake command. I can also reproduce the issue by simply launching CQtDeployer from my shell.
The mingw-w64-qt6-base version of qmake6 is actually a bash script which runs the native version of qmake6 together with a qtconf
file argument:
#!/bin/sh
# The directory of this script is the expanded absolute path of the "$qt_prefix/bin" directory.
script_dir_path=`dirname $0`
script_dir_path=`(cd "$script_dir_path"; /bin/pwd)`
/usr/lib/qt6/bin/qmake6 -qtconf "$script_dir_path/target_qt.conf" $*
Any chance something goes wrong here?
/edit
Maybe you can work around any such issues by introducing a qtconf
parameter which can be passed to CQtDeployer? Then there would be no need to go through this bash magic stuff.
It should be the same environment. I'm invoking CQtDeployer through a custom CMake command. I can also reproduce the issue by simply launching CQtDeployer from my shell.
The mingw-w64-qt6-base version of qmake6 is actually a bash script which runs the native version of qmake6 together with a
qtconf
file argument:#!/bin/sh # The directory of this script is the expanded absolute path of the "$qt_prefix/bin" directory. script_dir_path=`dirname $0` script_dir_path=`(cd "$script_dir_path"; /bin/pwd)` /usr/lib/qt6/bin/qmake6 -qtconf "$script_dir_path/target_qt.conf" $*
Any chance something goes wrong here?
/edit Maybe you can work around any such issues by introducing a
qtconf
parameter which can be passed to CQtDeployer? Then there would be no need to go through this bash magic stuff.
Yes, sounds good, I will try to add supports for qtconf. And we will check your issue again. It may be done in this week.
If you need this fix immediately, you can boost our Patreon (CQtDeployer Personal support).
Hm, very strange. I've just built CQtDeployer from source and passed the same arguments and that worked (invoking the CQtDeployer executable directly, not through the script).
Looks like this has rather something todo with the launch script of CQtDeployer itself?
Hm, very strange. I've just built CQtDeployer from source and passed the same arguments and that worked (invoking the CQtDeployer executable directly, not through the script).
Looks like this has rather something todo with the launch script of CQtDeployer itself?
Hm, looks as trouble in the QProcess behavior between different builds in qt. The CQtDeployer built with official qt pre-buildet binaries, but for arch binaries it may be different behavior because the QProcess class works with low level system invokes.
Can you run make deploy for built cqtdeployer tool, and run your own cqtdeployer distribution using launch script? To test my theory.
I think your own built cqtdeploy will be works correctly with launch script and without.
You're correct yes, the version I've compiled myself works with the launch script as well. God this is confusing... :laughing:
You're correct yes, the version I've compiled myself works with the launch script as well. God this is confusing... 😆
It is fine for classes as QProcess. Therefore, I will try to add support new option for work with target_qt.conf. It may solve similar issues in the future.
@higaski i closed this issue and moved qtconf option to separately task.,
Passing the qmake executable of the latest version of the mingw-w64-qt6-base 6.7.0-1 package to CQtDeployer 1.6.2351 results in an error.
This might be a possible regression of #740?
When querying the mingw version of qmake directly I can't see anything which looks odd?
Querying my hosts Qt6 qmake looks almost identical
Do you have any ideas what might cause this issue? Permissions for qmake look ok.