diff mbox series

[v1] package/qt5base: disable feature-relocatable

Message ID 20200517102823.15132-1-ps.report@gmx.net
State Accepted
Headers show
Series [v1] package/qt5base: disable feature-relocatable | expand

Commit Message

Peter Seiderer May 17, 2020, 10:28 a.m. UTC
Disable feature-relocatable to avoid a path mismatch while searching qml
files and buildroot BR2_ROOTFS_MERGED_USR feature enabled.

As described in [1] with feature-relocatable Qt determines the search
pathes relative to the location of libQt5Core.so, with BR2_ROOTFS_MERGED_USR
enabled found first under the symlink path '/lib' instead of the install
path '/usr/lib' and searches sequentially for qml files under '/qml' instead
of the correct '/usr/qml'.

Fixes:
  - https://bugs.busybox.net/show_bug.cgi?id=12906

[1] https://code.qt.io/cgit/qt/qtbase.git/commit/?id=4ac872639ed0dd3ae6627e05bdda821f7d128500

Reported-by: Joonas Harjumäki <jharjuma@gmail.com>
Signed-off-by: Peter Seiderer <ps.report@gmx.net>
---
 package/qt5/qt5base/qt5base.mk | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

Comments

Yann E. MORIN May 17, 2020, 7:26 p.m. UTC | #1
Peter, All,

On 2020-05-17 12:28 +0200, Peter Seiderer spake thusly:
> Disable feature-relocatable to avoid a path mismatch while searching qml
> files and buildroot BR2_ROOTFS_MERGED_USR feature enabled.
> 
> As described in [1] with feature-relocatable Qt determines the search
> pathes relative to the location of libQt5Core.so, with BR2_ROOTFS_MERGED_USR
> enabled found first under the symlink path '/lib' instead of the install
> path '/usr/lib' and searches sequentially for qml files under '/qml' instead
> of the correct '/usr/qml'.
> 
> Fixes:
>   - https://bugs.busybox.net/show_bug.cgi?id=12906
> 
> [1] https://code.qt.io/cgit/qt/qtbase.git/commit/?id=4ac872639ed0dd3ae6627e05bdda821f7d128500
> 
> Reported-by: Joonas Harjumäki <jharjuma@gmail.com>
> Signed-off-by: Peter Seiderer <ps.report@gmx.net>

Applied to master, thanks. See a minor nit, below...

> ---
>  package/qt5/qt5base/qt5base.mk | 6 +++++-
>  1 file changed, 5 insertions(+), 1 deletion(-)
> 
> diff --git a/package/qt5/qt5base/qt5base.mk b/package/qt5/qt5base/qt5base.mk
> index 97315496b9..374285a825 100644
> --- a/package/qt5/qt5base/qt5base.mk
> +++ b/package/qt5/qt5base/qt5base.mk
> @@ -18,6 +18,9 @@ QT5BASE_INSTALL_STAGING = YES
>  #     want to use the Buildroot packaged zlib
>  #  * -system-pcre because pcre is mandatory to build Qt, and we
>  #    want to use the one packaged in Buildroot
> +#  * -no-feature-relocatable to work around path mismatch
> +#     while searching qml files and buildroot BR2_ROOTFS_MERGED_USR
> +#     feature enabled 

    $ make check-package
    package/qt5/qt5base/qt5base.mk:23: line contains trailing whitespace

Fixed, and applied to master.

Regards,
Yann E. MORIN.

>  QT5BASE_CONFIGURE_OPTS += \
>  	-optimized-qmake \
>  	-no-cups \
> @@ -25,7 +28,8 @@ QT5BASE_CONFIGURE_OPTS += \
>  	-system-zlib \
>  	-system-pcre \
>  	-no-pch \
> -	-shared
> +	-shared \
> +	-no-feature-relocatable
>  
>  # starting from version 5.9.0, -optimize-debug is enabled by default
>  # for debug builds and it overrides -O* with -Og which is not what we
> -- 
> 2.26.2
> 
> _______________________________________________
> buildroot mailing list
> buildroot@busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot
Peter Korsgaard May 29, 2020, 9:24 p.m. UTC | #2
>>>>> "Peter" == Peter Seiderer <ps.report@gmx.net> writes:

 > Disable feature-relocatable to avoid a path mismatch while searching qml
 > files and buildroot BR2_ROOTFS_MERGED_USR feature enabled.

 > As described in [1] with feature-relocatable Qt determines the search
 > pathes relative to the location of libQt5Core.so, with BR2_ROOTFS_MERGED_USR
 > enabled found first under the symlink path '/lib' instead of the install
 > path '/usr/lib' and searches sequentially for qml files under '/qml' instead
 > of the correct '/usr/qml'.

 > Fixes:
 >   - https://bugs.busybox.net/show_bug.cgi?id=12906

 > [1] https://code.qt.io/cgit/qt/qtbase.git/commit/?id=4ac872639ed0dd3ae6627e05bdda821f7d128500

 > Reported-by: Joonas Harjumäki <jharjuma@gmail.com>
 > Signed-off-by: Peter Seiderer <ps.report@gmx.net>

This is only for Qt 5.14 (E.G. master and not 2020.02.x), right? From a
quick look I don't see this option in the 5.12.8 version we have on the
LTS branch.
Peter Seiderer May 29, 2020, 9:56 p.m. UTC | #3
Hello Peter,

On Fri, 29 May 2020 23:24:38 +0200, Peter Korsgaard <peter@korsgaard.com> wrote:

> >>>>> "Peter" == Peter Seiderer <ps.report@gmx.net> writes:  
> 
>  > Disable feature-relocatable to avoid a path mismatch while searching qml
>  > files and buildroot BR2_ROOTFS_MERGED_USR feature enabled.  
> 
>  > As described in [1] with feature-relocatable Qt determines the search
>  > pathes relative to the location of libQt5Core.so, with BR2_ROOTFS_MERGED_USR
>  > enabled found first under the symlink path '/lib' instead of the install
>  > path '/usr/lib' and searches sequentially for qml files under '/qml' instead
>  > of the correct '/usr/qml'.  
> 
>  > Fixes:
>  >   - https://bugs.busybox.net/show_bug.cgi?id=12906  
> 
>  > [1] https://code.qt.io/cgit/qt/qtbase.git/commit/?id=4ac872639ed0dd3ae6627e05bdda821f7d128500  
> 
>  > Reported-by: Joonas Harjumäki <jharjuma@gmail.com>
>  > Signed-off-by: Peter Seiderer <ps.report@gmx.net>  
> 
> This is only for Qt 5.14 (E.G. master and not 2020.02.x), right? From a
> quick look I don't see this option in the 5.12.8 version we have on the
> LTS branch.
> 

Yes...

Regards,
Peter
diff mbox series

Patch

diff --git a/package/qt5/qt5base/qt5base.mk b/package/qt5/qt5base/qt5base.mk
index 97315496b9..374285a825 100644
--- a/package/qt5/qt5base/qt5base.mk
+++ b/package/qt5/qt5base/qt5base.mk
@@ -18,6 +18,9 @@  QT5BASE_INSTALL_STAGING = YES
 #     want to use the Buildroot packaged zlib
 #  * -system-pcre because pcre is mandatory to build Qt, and we
 #    want to use the one packaged in Buildroot
+#  * -no-feature-relocatable to work around path mismatch
+#     while searching qml files and buildroot BR2_ROOTFS_MERGED_USR
+#     feature enabled 
 QT5BASE_CONFIGURE_OPTS += \
 	-optimized-qmake \
 	-no-cups \
@@ -25,7 +28,8 @@  QT5BASE_CONFIGURE_OPTS += \
 	-system-zlib \
 	-system-pcre \
 	-no-pch \
-	-shared
+	-shared \
+	-no-feature-relocatable
 
 # starting from version 5.9.0, -optimize-debug is enabled by default
 # for debug builds and it overrides -O* with -Og which is not what we