diff mbox series

[v2] qt5location: fix build failure due to missing qt5base gui dependency

Message ID 20180905090307.89484-1-giulio.benetti@micronovasrl.com
State Accepted
Commit 695c9696f9b3abab61fbb712fe3d3bdf6dc3c092
Headers show
Series [v2] qt5location: fix build failure due to missing qt5base gui dependency | expand

Commit Message

Giulio Benetti Sept. 5, 2018, 9:03 a.m. UTC
qt5location fails to build due to missing Qt5 Gui module.
In configure.json features.opengl is referred, but it is available only
if qt5base gui submodule is built.

Add BR2_PACKAGE_QT5BASE_GUI to qt5location Config.in to assure gui
submodule is built before qt5location.

Fixes:
http://autobuild.buildroot.org/results/1e1/1e12a819750c677c9ef204a324c8bf06212e5135/
http://autobuild.buildroot.org/results/223/223ec6565beba1ca73d4ff488296feec53656b40/
http://autobuild.buildroot.org/results/84f/84fe1c84e3537167ee3791e83c9fe2cc2805ccb5/
http://autobuild.buildroot.org/results/9c9/9c96d2106222e623a379f9995bd059725eb27769/
http://autobuild.buildroot.org/results/fa0/fa01513d28d896ca8819966c5b1ed5c35283e92f/
http://autobuild.buildroot.org/results/5d7/5d7333470c31b83c697218382dc77f74af86c666/
http://autobuild.buildroot.org/results/db7/db7b4c61bb41d32e0f7960c194588cd1559ff3f7/
http://autobuild.buildroot.org/results/2b7/2b71f186b8d67c4805393c9c016d641893d46220/
http://autobuild.buildroot.org/results/1e1/1e12a819750c677c9ef204a324c8bf06212e5135/

Signed-off-by: Giulio Benetti <giulio.benetti@micronovasrl.com>
---
Changes V1->V2:
* add missing Fixes: list in commit log

 package/qt5/qt5location/Config.in | 1 +
 1 file changed, 1 insertion(+)

Comments

Thomas Petazzoni Sept. 5, 2018, 11:53 a.m. UTC | #1
Hello,

On Wed,  5 Sep 2018 11:03:07 +0200, Giulio Benetti wrote:
> qt5location fails to build due to missing Qt5 Gui module.
> In configure.json features.opengl is referred, but it is available only
> if qt5base gui submodule is built.
> 
> Add BR2_PACKAGE_QT5BASE_GUI to qt5location Config.in to assure gui
> submodule is built before qt5location.
> 
> Fixes:
> http://autobuild.buildroot.org/results/1e1/1e12a819750c677c9ef204a324c8bf06212e5135/
> http://autobuild.buildroot.org/results/223/223ec6565beba1ca73d4ff488296feec53656b40/
> http://autobuild.buildroot.org/results/84f/84fe1c84e3537167ee3791e83c9fe2cc2805ccb5/
> http://autobuild.buildroot.org/results/9c9/9c96d2106222e623a379f9995bd059725eb27769/
> http://autobuild.buildroot.org/results/fa0/fa01513d28d896ca8819966c5b1ed5c35283e92f/
> http://autobuild.buildroot.org/results/5d7/5d7333470c31b83c697218382dc77f74af86c666/
> http://autobuild.buildroot.org/results/db7/db7b4c61bb41d32e0f7960c194588cd1559ff3f7/
> http://autobuild.buildroot.org/results/2b7/2b71f186b8d67c4805393c9c016d641893d46220/
> http://autobuild.buildroot.org/results/1e1/1e12a819750c677c9ef204a324c8bf06212e5135/
> 
> Signed-off-by: Giulio Benetti <giulio.benetti@micronovasrl.com>
> ---
> Changes V1->V2:
> * add missing Fixes: list in commit log
> 
>  package/qt5/qt5location/Config.in | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/package/qt5/qt5location/Config.in b/package/qt5/qt5location/Config.in
> index e1778182a0..7c39979eff 100644
> --- a/package/qt5/qt5location/Config.in
> +++ b/package/qt5/qt5location/Config.in
> @@ -1,6 +1,7 @@
>  config BR2_PACKAGE_QT5LOCATION
>  	bool "qt5location"
>  	select BR2_PACKAGE_QT5BASE
> +	select BR2_PACKAGE_QT5BASE_GUI

To me, it looks weird that the location services need the GUI support.
Isn't it just the qt5location examples that need GUI support, or
something like that ?

Also, having BR2_PACKAGE_QT5BASE_GUI does not guarantee that OpenGL
support is available, so I'm not sure this is going to fix the error in
all cases.

Thomas
Giulio Benetti Sept. 5, 2018, 12:06 p.m. UTC | #2
Hello Thomas,

Il 05/09/2018 13:53, Thomas Petazzoni ha scritto:
> Hello,
> 
> On Wed,  5 Sep 2018 11:03:07 +0200, Giulio Benetti wrote:
>> qt5location fails to build due to missing Qt5 Gui module.
>> In configure.json features.opengl is referred, but it is available only
>> if qt5base gui submodule is built.
>>
>> Add BR2_PACKAGE_QT5BASE_GUI to qt5location Config.in to assure gui
>> submodule is built before qt5location.
>>
>> Fixes:
>> http://autobuild.buildroot.org/results/1e1/1e12a819750c677c9ef204a324c8bf06212e5135/
>> http://autobuild.buildroot.org/results/223/223ec6565beba1ca73d4ff488296feec53656b40/
>> http://autobuild.buildroot.org/results/84f/84fe1c84e3537167ee3791e83c9fe2cc2805ccb5/
>> http://autobuild.buildroot.org/results/9c9/9c96d2106222e623a379f9995bd059725eb27769/
>> http://autobuild.buildroot.org/results/fa0/fa01513d28d896ca8819966c5b1ed5c35283e92f/
>> http://autobuild.buildroot.org/results/5d7/5d7333470c31b83c697218382dc77f74af86c666/
>> http://autobuild.buildroot.org/results/db7/db7b4c61bb41d32e0f7960c194588cd1559ff3f7/
>> http://autobuild.buildroot.org/results/2b7/2b71f186b8d67c4805393c9c016d641893d46220/
>> http://autobuild.buildroot.org/results/1e1/1e12a819750c677c9ef204a324c8bf06212e5135/
>>
>> Signed-off-by: Giulio Benetti <giulio.benetti@micronovasrl.com>
>> ---
>> Changes V1->V2:
>> * add missing Fixes: list in commit log
>>
>>   package/qt5/qt5location/Config.in | 1 +
>>   1 file changed, 1 insertion(+)
>>
>> diff --git a/package/qt5/qt5location/Config.in b/package/qt5/qt5location/Config.in
>> index e1778182a0..7c39979eff 100644
>> --- a/package/qt5/qt5location/Config.in
>> +++ b/package/qt5/qt5location/Config.in
>> @@ -1,6 +1,7 @@
>>   config BR2_PACKAGE_QT5LOCATION
>>   	bool "qt5location"
>>   	select BR2_PACKAGE_QT5BASE
>> +	select BR2_PACKAGE_QT5BASE_GUI
> 
> To me, it looks weird that the location services need the GUI support.
> Isn't it just the qt5location examples that need GUI support, or
> something like that ?

The problem is that its configure.json depends on it
https://github.com/qt/qtlocation/blob/5.11/src/location/configure.json#L3
to check feature.opengl
https://github.com/qt/qtlocation/blob/5.11/src/location/configure.json#L44

Also Qt Location is for creating mapping solutions:
http://doc.qt.io/qt-5/qtlocation-index.html
check i.e. examples:
http://doc.qt.io/qt-5/qtlocation-examples.html

So in the end, it seems it makes sense.
In the beginning I thought it was a submodule to only get location 
parameters only.

> 
> Also, having BR2_PACKAGE_QT5BASE_GUI does not guarantee that OpenGL
> support is available, so I'm not sure this is going to fix the error in
> all cases.

I'm executing test-pkg -a right now, I'm on 3/47 passed, need some hour.

Giulio
Thomas Petazzoni Sept. 5, 2018, 12:18 p.m. UTC | #3
Hello,

On Wed, 5 Sep 2018 14:06:40 +0200, Giulio Benetti wrote:

> The problem is that its configure.json depends on it
> https://github.com/qt/qtlocation/blob/5.11/src/location/configure.json#L3

OK, so it needs GUI support.

> to check feature.opengl
> https://github.com/qt/qtlocation/blob/5.11/src/location/configure.json#L44

but OpenGL support is optional.

> Also Qt Location is for creating mapping solutions:
> http://doc.qt.io/qt-5/qtlocation-index.html
> check i.e. examples:
> http://doc.qt.io/qt-5/qtlocation-examples.html
> 
> So in the end, it seems it makes sense.
> In the beginning I thought it was a submodule to only get location 
> parameters only.

Yes, indeed.

> > Also, having BR2_PACKAGE_QT5BASE_GUI does not guarantee that OpenGL
> > support is available, so I'm not sure this is going to fix the error in
> > all cases.  
> 
> I'm executing test-pkg -a right now, I'm on 3/47 passed, need some hour.

Doing a test-pkg -a with the same configuration won't give any useful
result here. Remember that test-pkg is only testing different
*toolchain* configurations. It is not testing random configurations
with/without OpenGL.

For a change like this, a test-pkg -a is totally useless, however, a
test with just:

BR2_PACKAGE_QT5BASE=y
BR2_PACKAGE_QT5LOCATION=y

which should fail, and then a test with just:

BR2_PACKAGE_QT5BASE=y
BR2_PACKAGE_QT5BASE_GUI=y
BR2_PACKAGE_QT5LOCATION=y

should work, with no other options selected (so no OpenGL support).

Best regards,

Thomas
Giulio Benetti Sept. 5, 2018, 1:02 p.m. UTC | #4
Hello,

Il 05/09/2018 14:18, Thomas Petazzoni ha scritto:
> Hello,
> 
> On Wed, 5 Sep 2018 14:06:40 +0200, Giulio Benetti wrote:
> 
>> The problem is that its configure.json depends on it
>> https://github.com/qt/qtlocation/blob/5.11/src/location/configure.json#L3
> 
> OK, so it needs GUI support.
> 
>> to check feature.opengl
>> https://github.com/qt/qtlocation/blob/5.11/src/location/configure.json#L44
> 
> but OpenGL support is optional.
> 
>> Also Qt Location is for creating mapping solutions:
>> http://doc.qt.io/qt-5/qtlocation-index.html
>> check i.e. examples:
>> http://doc.qt.io/qt-5/qtlocation-examples.html
>>
>> So in the end, it seems it makes sense.
>> In the beginning I thought it was a submodule to only get location
>> parameters only.
> 
> Yes, indeed.
> 
>>> Also, having BR2_PACKAGE_QT5BASE_GUI does not guarantee that OpenGL
>>> support is available, so I'm not sure this is going to fix the error in
>>> all cases.
>>
>> I'm executing test-pkg -a right now, I'm on 3/47 passed, need some hour.
> 
> Doing a test-pkg -a with the same configuration won't give any useful
> result here. Remember that test-pkg is only testing different
> *toolchain* configurations. It is not testing random configurations
> with/without OpenGL.

Oops, you're right.
Need to test with and without OpenGL package enabled.
Anyway what takes care of opengl is exactly feature.opengl:
https://github.com/qt/qtlocation/blob/5.11/src/location/configure.json#L44
So it should work for every case.

> 
> For a change like this, a test-pkg -a is totally useless, however, a
> test with just:
> 
> BR2_PACKAGE_QT5BASE=y
> BR2_PACKAGE_QT5LOCATION=y

In this case it doesn't fail, it provides automatically 
BR2_PACKAGE_QT5BASE_GUI=y

> 
> which should fail, and then a test with just:
> 
> BR2_PACKAGE_QT5BASE=y
> BR2_PACKAGE_QT5BASE_GUI=y
> BR2_PACKAGE_QT5LOCATION=y
> 
> should work, with no other options selected (so no OpenGL support).
> 

Yes, it should, but I've done a mistake: I didn't take care about Qt 
version. So need to rework the patch.
For the rest it seems to be ok to me, what do you think?

Best regards
Giulio Benetti
Giulio Benetti Sept. 5, 2018, 1:12 p.m. UTC | #5
Hello,

Il 05/09/2018 15:02, Giulio Benetti ha scritto:
> Hello,
> 
> Il 05/09/2018 14:18, Thomas Petazzoni ha scritto:
>> Hello,
>>
>> On Wed, 5 Sep 2018 14:06:40 +0200, Giulio Benetti wrote:
>>
>>> The problem is that its configure.json depends on it
>>> https://github.com/qt/qtlocation/blob/5.11/src/location/configure.json#L3 
>>>
>>
>> OK, so it needs GUI support.
>>
>>> to check feature.opengl
>>> https://github.com/qt/qtlocation/blob/5.11/src/location/configure.json#L44 
>>>
>>
>> but OpenGL support is optional.
>>
>>> Also Qt Location is for creating mapping solutions:
>>> http://doc.qt.io/qt-5/qtlocation-index.html
>>> check i.e. examples:
>>> http://doc.qt.io/qt-5/qtlocation-examples.html
>>>
>>> So in the end, it seems it makes sense.
>>> In the beginning I thought it was a submodule to only get location
>>> parameters only.
>>
>> Yes, indeed.
>>
>>>> Also, having BR2_PACKAGE_QT5BASE_GUI does not guarantee that OpenGL
>>>> support is available, so I'm not sure this is going to fix the error in
>>>> all cases.
>>>
>>> I'm executing test-pkg -a right now, I'm on 3/47 passed, need some hour.
>>
>> Doing a test-pkg -a with the same configuration won't give any useful
>> result here. Remember that test-pkg is only testing different
>> *toolchain* configurations. It is not testing random configurations
>> with/without OpenGL.
> 
> Oops, you're right.
> Need to test with and without OpenGL package enabled.
> Anyway what takes care of opengl is exactly feature.opengl:
> https://github.com/qt/qtlocation/blob/5.11/src/location/configure.json#L44
> So it should work for every case.
> 
>>
>> For a change like this, a test-pkg -a is totally useless, however, a
>> test with just:
>>
>> BR2_PACKAGE_QT5BASE=y
>> BR2_PACKAGE_QT5LOCATION=y
> 
> In this case it doesn't fail, it provides automatically 
> BR2_PACKAGE_QT5BASE_GUI=y
> 
>>
>> which should fail, and then a test with just:
>>
>> BR2_PACKAGE_QT5BASE=y
>> BR2_PACKAGE_QT5BASE_GUI=y
>> BR2_PACKAGE_QT5LOCATION=y
>>
>> should work, with no other options selected (so no OpenGL support).
>>
> 
> Yes, it should, but I've done a mistake: I didn't take care about Qt 
> version. So need to rework the patch.

Sorry, not for this patch, for the other qt5location one:
https://patchwork.ozlabs.org/patch/966318/

Giulio
Peter Korsgaard Sept. 6, 2018, 7:59 p.m. UTC | #6
>>>>> "Giulio" == Giulio Benetti <giulio.benetti@micronovasrl.com> writes:

 > qt5location fails to build due to missing Qt5 Gui module.
 > In configure.json features.opengl is referred, but it is available only
 > if qt5base gui submodule is built.

 > Add BR2_PACKAGE_QT5BASE_GUI to qt5location Config.in to assure gui
 > submodule is built before qt5location.

 > Fixes:
 > http://autobuild.buildroot.org/results/1e1/1e12a819750c677c9ef204a324c8bf06212e5135/
 > http://autobuild.buildroot.org/results/223/223ec6565beba1ca73d4ff488296feec53656b40/
 > http://autobuild.buildroot.org/results/84f/84fe1c84e3537167ee3791e83c9fe2cc2805ccb5/
 > http://autobuild.buildroot.org/results/9c9/9c96d2106222e623a379f9995bd059725eb27769/
 > http://autobuild.buildroot.org/results/fa0/fa01513d28d896ca8819966c5b1ed5c35283e92f/
 > http://autobuild.buildroot.org/results/5d7/5d7333470c31b83c697218382dc77f74af86c666/
 > http://autobuild.buildroot.org/results/db7/db7b4c61bb41d32e0f7960c194588cd1559ff3f7/
 > http://autobuild.buildroot.org/results/2b7/2b71f186b8d67c4805393c9c016d641893d46220/
 > http://autobuild.buildroot.org/results/1e1/1e12a819750c677c9ef204a324c8bf06212e5135/

 > Signed-off-by: Giulio Benetti <giulio.benetti@micronovasrl.com>
 > ---
 > Changes V1->V2:
 > * add missing Fixes: list in commit log

Committed, thanks.
Giulio Benetti Sept. 18, 2018, 8:12 a.m. UTC | #7
Hello,

Il 06/09/2018 21:59, Peter Korsgaard ha scritto:
>>>>>> "Giulio" == Giulio Benetti <giulio.benetti@micronovasrl.com> writes:
> 
>   > qt5location fails to build due to missing Qt5 Gui module.
>   > In configure.json features.opengl is referred, but it is available only
>   > if qt5base gui submodule is built.
> 
>   > Add BR2_PACKAGE_QT5BASE_GUI to qt5location Config.in to assure gui
>   > submodule is built before qt5location.
> 
>   > Fixes:
>   > http://autobuild.buildroot.org/results/1e1/1e12a819750c677c9ef204a324c8bf06212e5135/
>   > http://autobuild.buildroot.org/results/223/223ec6565beba1ca73d4ff488296feec53656b40/
>   > http://autobuild.buildroot.org/results/84f/84fe1c84e3537167ee3791e83c9fe2cc2805ccb5/
>   > http://autobuild.buildroot.org/results/9c9/9c96d2106222e623a379f9995bd059725eb27769/
>   > http://autobuild.buildroot.org/results/fa0/fa01513d28d896ca8819966c5b1ed5c35283e92f/
>   > http://autobuild.buildroot.org/results/5d7/5d7333470c31b83c697218382dc77f74af86c666/
>   > http://autobuild.buildroot.org/results/db7/db7b4c61bb41d32e0f7960c194588cd1559ff3f7/
>   > http://autobuild.buildroot.org/results/2b7/2b71f186b8d67c4805393c9c016d641893d46220/
>   > http://autobuild.buildroot.org/results/1e1/1e12a819750c677c9ef204a324c8bf06212e5135/
> 
>   > Signed-off-by: Giulio Benetti <giulio.benetti@micronovasrl.com>
>   > ---
>   > Changes V1->V2:
>   > * add missing Fixes: list in commit log
> 
> Committed, thanks.
> 

This patch fixes bug in 2018.05.x too:
http://autobuild.buildroot.net/results/eb1c30086e749d74af6538306026b1c2a1b139e3/

Do I need to resubmit it with commit log corrected under "Fixes:" ?
Or is it enough I've pointed it out?

Thanks
Kind regards
diff mbox series

Patch

diff --git a/package/qt5/qt5location/Config.in b/package/qt5/qt5location/Config.in
index e1778182a0..7c39979eff 100644
--- a/package/qt5/qt5location/Config.in
+++ b/package/qt5/qt5location/Config.in
@@ -1,6 +1,7 @@ 
 config BR2_PACKAGE_QT5LOCATION
 	bool "qt5location"
 	select BR2_PACKAGE_QT5BASE
+	select BR2_PACKAGE_QT5BASE_GUI
 	help
 	  Qt is a cross-platform application and UI framework for
 	  developers using C++.