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

2023-06-06 Thread Jörg Bornemann via Development

On 6/3/23 23:19, Lisandro Damián Nicanor Pérez Meyer wrote:


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


do you see any possible workaround for this?


Switching to CMake should do the trick I guess.


Alternatively,
- rename qt.conf to somethingelse.conf
- rename qmake to qmake_orig
- create a wrapper script that calls "qmake-orig -qtconf 
somethingelse.conf $@"

- name that wrapper script qmake

--
Jörg Bornemann | The Qt Company

--
Development mailing list
Development@qt-project.org
https://lists.qt-project.org/listinfo/development


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

2023-06-03 Thread Lisandro Damián Nicanor Pérez Meyer
Hi,

On Fri, 2 Jun 2023 at 06:24, arslan.ahmad--- via Development
 wrote:
>
> >  Changing Prefix to be a relative path would then break all qmake builds.
>
> do you see any possible workaround for this?

Switching to CMake should do the trick I guess.
-- 
Development mailing list
Development@qt-project.org
https://lists.qt-project.org/listinfo/development


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

2023-06-02 Thread arslan.ahmad--- via Development
>  Changing Prefix to be a relative path would then break all qmake builds.

do you see any possible workaround for this?

From: Development  on behalf of Samuli 
Piippo via Development 
Sent: Friday, June 2, 2023 2:15 PM
To: development@qt-project.org 
Subject: Re: [Development] unable to use lupdate(qt tools) in yocto sdk due to 
incorrect paths

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  on behalf of 
arslan.ahmad--- via Development 
Sent: 02 June 2023 11:58
To: Joerg Bornemann ; development@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 
Sent: Friday, June 2, 2023 1:13 PM
To: Ahmad, Arslan (DI SW CAS ES LI MEL) ; 
development@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  on behalf of 
arslan.ahmad--- via Development 
Sent: 02 June 2023 11:58
To: Joerg Bornemann ; development@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 
Sent: Friday, June 2, 2023 1:13 PM
To: Ahmad, Arslan (DI SW CAS ES LI MEL) ; 
development@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

-- 
Development mailing list
Development@qt-project.org
https://lists.qt-project.org/listinfo/development


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

2023-06-02 Thread Samuli Piippo via Development
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  on behalf of 
arslan.ahmad--- via Development 
Sent: 02 June 2023 11:58
To: Joerg Bornemann ; development@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 
Sent: Friday, June 2, 2023 1:13 PM
To: Ahmad, Arslan (DI SW CAS ES LI MEL) ; 
development@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  on behalf of 
arslan.ahmad--- via Development 
Sent: 02 June 2023 11:58
To: Joerg Bornemann ; development@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 
Sent: Friday, June 2, 2023 1:13 PM
To: Ahmad, Arslan (DI SW CAS ES LI MEL) ; 
development@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

-- 
Development mailing list
Development@qt-project.org
https://lists.qt-project.org/listinfo/development


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

2023-06-02 Thread arslan.ahmad--- via Development
> 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 
Sent: Friday, June 2, 2023 1:13 PM
To: Ahmad, Arslan (DI SW CAS ES LI MEL) ; 
development@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

-- 
Development mailing list
Development@qt-project.org
https://lists.qt-project.org/listinfo/development


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

2023-06-02 Thread Jörg Bornemann via Development

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

--
Development mailing list
Development@qt-project.org
https://lists.qt-project.org/listinfo/development


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

2023-05-30 Thread arslan.ahmad--- via Development
When running lupdate from a yocto sdk, I get the following error:
$ lupdate -pro example.pro
sh: 1: /usr/libexec/lupdate-pro: not found
qt.conf:

[Paths]
Prefix = /usr
Headers = /usr/include
Libraries = /usr/lib64
ArchData = /usr/lib64
Data = /usr/share
Binaries = /usr/bin
LibraryExecutables = /usr/libexec
Plugins = /usr/lib64/plugins
Qml2Imports = /usr/lib64/qml
Translations = /usr/share/translations
Documentation = /usr/share/doc
Settings = /etc/xdg
Examples = /usr/share/examples
Tests = /usr/tests
HostPrefix = ../..
HostData = ../armv8a-oe-linux/usr/lib64
HostBinaries = usr/bin
HostLibraries = usr/lib64
HostLibraryExecutables = usr/libexec
Sysroot = ../../../armv8a-oe-linux
HostSpec = linux-oe-g++
TargetSpec = linux-oe-g++
SysrootifyPrefix = true

I was of the view that qttools would use HostLibraryExecutables but looking at 
the source of qttools, i came to know that

LibraryExecutables will be used and since that is an absolute path instead 
relative to the sdk, i get the above error. I can

resolve this by setting Prefix to ../.. and LibraryExecutables to usr/libexec, 
i.e. the values being used by HostPrefix and

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

there that lupdate-pro uses:

$ lupdate -pro example.pro

sh: 1: /usr/libexec/lprodump: not found

I made the same changes as the previous qt.conf, and now it works.

So my question here is that is this approach correct to update the qt.conf or 
will it cause any issues to the sdk?

I am using meta-qt6 on 6.2 LTS
-- 
Development mailing list
Development@qt-project.org
https://lists.qt-project.org/listinfo/development