[Qbs] qbs 1.8.1 cannot find Qt.core
christian.kandeler at qt.io
Mon Jul 10 10:55:42 CEST 2017
On Mon, 10 Jul 2017 10:24:33 +0200
Elyzabeth von Reuenthal <elyzabethvonreuenthal at iserlohn-fortress.net> wrote:
> Ever since I updated to qbs 1.8.1, I get the following message in QtCreator:
> > Failed to set up kit for Qbs: Setting up Qt profile 'qtc_Desktop_ca73bbd0'
> > failed: Cannot open file '/usr/lib/QtGui.framework/Headers/qtgui-config.h' (No
> > such file or directory).
> Running qbs directly however doesn't produce any errors and works as expected.
> I'm running archlinux, with qbs 1.8.1 and qtcreator 4.3.1. Downgrading to qbs
> 1.8.0 fixes this.
I am observing the same bizarre issue on ArchLinux.
> Is this a qbs issue, a qtcreator issue, or a packaging issue?
Good question. Here's what I've found so far:
- The path with the framework component is used if and only if
QtEnvironment::frameworkBuild is true.
- Qt Creator sets this flag to the value of BaseQtVersion::isFrameworkBuild().
- This flags can only be true if the CONFIG value of the respective Qt version
- All code along this path looks fine at first glance.
- Trying to reproduce the problem by building Qt Creator myself on the very
same ArchLinux installation failed: Everything worked fine with this one.
In conclusion, I see two possible reasons for the problem:
- We have a subtle case of undefined or at least non-deterministic behavior
in the relevant code path. I don't see it, though.
- Something went wrong when building the distribution package (buggy compiler?).
Seems like a long shot, but stranger things have happened.
Now that I think of it, I notice I used clang in my aforementioned attempt to reproduce the problem. I'll try again with gcc 7.
More information about the Qbs