[Development] unable to use lupdate(qt tools) in yocto sdk due to incorrect paths

Samuli Piippo samuli.piippo at qt.io
Fri Jun 2 11:15:19 CEST 2023


qt.conf is there mainly for qmake, which needs to know both target paths and host paths. Now unfortunately, this also affects lupdate which expect LibraryExecutables to be a host path, while qt.conf tells qmake that it's really HostLibraryExecutables.

Changing Prefix to be a relative path would then break all qmake builds.

-samuli

________________________________
From: Development <development-bounces at qt-project.org> on behalf of arslan.ahmad--- via Development <development at qt-project.org>
Sent: 02 June 2023 11:58
To: Joerg Bornemann <Joerg.Bornemann at qt.io>; development at qt-project.org <development at qt-project.org>
Subject: Re: [Development] unable to use lupdate(qt tools) in yocto sdk due to incorrect paths

> Looks like you're somehow mixing a host Qt and a cross-compiled Qt?
lupdate assumes that lupdate-pro is located in the same host Qt that
lupdate belongs to. That's why LibraryExecutables is used.

Yocto sdk generates Qt tools to be used on the host machine, but the paths are not relative to the sdk in the qt.conf. I believe these should be relative to the sdk. Otherwise the host tools in the sdk can't be used

> Why is there a separate qt.conf?

Separate qt.conf are created by the populate_sdk_qt6_base.bbclass: https://code.qt.io/cgit/yocto/meta-qt6.git/tree/classes/populate_sdk_qt6_base.bbclass#n45

________________________________
From: Jörg Bornemann <joerg.bornemann at qt.io>
Sent: Friday, June 2, 2023 1:13 PM
To: Ahmad, Arslan (DI SW CAS ES LI MEL) <arslan.ahmad at siemens.com>; development at qt-project.org <development at qt-project.org>
Subject: Re: [Development] unable to use lupdate(qt tools) in yocto sdk due to incorrect paths

On 5/30/23 16:50, arslan.ahmad--- via Development wrote:
> When running lupdate from a yocto sdk, I get the following error:
>
>     $ lupdate -pro example.pro
>     sh: 1: /usr/libexec/lupdate-pro: not found

Looks like you're somehow mixing a host Qt and a cross-compiled Qt?
lupdate assumes that lupdate-pro is located in the same host Qt that
lupdate belongs to. That's why LibraryExecutables is used.

 > The same problem occurs again when it enters usr/libexec since there
is a separate qt.conf

Why is there a separate qt.conf?

--
Jörg Bornemann | The Qt Company


________________________________
From: Development <development-bounces at qt-project.org> on behalf of arslan.ahmad--- via Development <development at qt-project.org>
Sent: 02 June 2023 11:58
To: Joerg Bornemann <Joerg.Bornemann at qt.io>; development at qt-project.org <development at qt-project.org>
Subject: Re: [Development] unable to use lupdate(qt tools) in yocto sdk due to incorrect paths

> Looks like you're somehow mixing a host Qt and a cross-compiled Qt?
lupdate assumes that lupdate-pro is located in the same host Qt that
lupdate belongs to. That's why LibraryExecutables is used.

Yocto sdk generates Qt tools to be used on the host machine, but the paths are not relative to the sdk in the qt.conf. I believe these should be relative to the sdk. Otherwise the host tools in the sdk can't be used

> Why is there a separate qt.conf?

Separate qt.conf are created by the populate_sdk_qt6_base.bbclass: https://code.qt.io/cgit/yocto/meta-qt6.git/tree/classes/populate_sdk_qt6_base.bbclass#n45

________________________________
From: Jörg Bornemann <joerg.bornemann at qt.io>
Sent: Friday, June 2, 2023 1:13 PM
To: Ahmad, Arslan (DI SW CAS ES LI MEL) <arslan.ahmad at siemens.com>; development at qt-project.org <development at qt-project.org>
Subject: Re: [Development] unable to use lupdate(qt tools) in yocto sdk due to incorrect paths

On 5/30/23 16:50, arslan.ahmad--- via Development wrote:
> When running lupdate from a yocto sdk, I get the following error:
>
>     $ lupdate -pro example.pro
>     sh: 1: /usr/libexec/lupdate-pro: not found

Looks like you're somehow mixing a host Qt and a cross-compiled Qt?
lupdate assumes that lupdate-pro is located in the same host Qt that
lupdate belongs to. That's why LibraryExecutables is used.

 > The same problem occurs again when it enters usr/libexec since there
is a separate qt.conf

Why is there a separate qt.conf?

--
Jörg Bornemann | The Qt Company

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.qt-project.org/pipermail/development/attachments/20230602/60e6b612/attachment.htm>


More information about the Development mailing list