qtbase-native: Force use of built-in pcre
PATCH 1/1 qtbase-native: Force use of built-in pcre
If we specify neither -system-pcre nor -qt-pcre then qtbase will first see if it can find the pcre library in the system and fall back to compiling its own if that's not possible.
Unfortunately, this means that if qtbase-native happens to be built on a machine with system pcre available then the resulting binaries such as bin/qt5/uic in sstate files won't work correctly on machines that don't have pcre available. Even ignoring that, it doesn't help for packages to build differently depending on how the build system is configured.
We could depend on pcre-native and pass -system-pcre, but this doesn't work by default because qtbase actually requires pcre16 which is an optional (via PACKAGECONFIG) feature of pcre so the default there would need to be changed too.
So, let's make qtbase-native match the default of qtbase by passing -qt-pcre in order to ensure that qtbase-native is always built with its own pcre implementation.
--- recipes-qt/qt5/qtbase-native_git.bb | 1 + 1 file changed, 1 insertion(+)
recipes-qt/qt5/qtbase-native_git.bb +1 -0
@@ -46,6 +46,7 @@ PACKAGECONFIG_CONFARGS = " \ -sysroot ${STAGING_DIR_NATIVE} \ -no-gcc-sysroot \ -system-zlib \ + -qt-pcre \ -no-libjpeg \ -no-libpng \ -no-gif \
Signature · 1 line
2.11.0
Quoted 29 lines · Mike Crowe
If we specify neither -system-pcre nor -qt-pcre then qtbase will first see if it can find the pcre library in the system and fall back to compiling its own if that's not possible.
Unfortunately, this means that if qtbase-native happens to be built on a machine with system pcre available then the resulting binaries such as bin/qt5/uic in sstate files won't work correctly on machines that don't have pcre available. Even ignoring that, it doesn't help for packages to build differently depending on how the build system is configured.
We could depend on pcre-native and pass -system-pcre, but this doesn't work by default because qtbase actually requires pcre16 which is an optional (via PACKAGECONFIG) feature of pcre so the default there would need to be changed too.
So, let's make qtbase-native match the default of qtbase by passing -qt-pcre in order to ensure that qtbase-native is always built with its own pcre implementation.
Signed-off-by Mike Crowe <[email protected]>--- recipes-qt/qt5/qtbase-native_git.bb | 1 + 1 file changed, 1 insertion(+)recipes-qt/qt5/qtbase-native_git.bb +0
-0
recipes-qt/qt5/qtbase-native_git.bb PACKAGECONFIG_CONFARGS = " \ · line 52
Quoted 7 lines
recipes-qt/qt5/qtbase-native_git.bb +1
-0@@ -46,6 +46,7 @@ PACKAGECONFIG_CONFARGS = " \ -sysroot ${STAGING_DIR_NATIVE} \ -no-gcc-sysroot \ -system-zlib \ + -qt-pcre \ -no-libjpeg \ -no-libpng \ -no-gif \
Does anyone have any objections to this?
We've been using it for several weeks now and it's not caused any observed problems.
Thanks.
Mike.
Quoted 40 lines · Mike Crowe
Quoted 29 lines · Mike Crowe
If we specify neither -system-pcre nor -qt-pcre then qtbase will first see if it can find the pcre library in the system and fall back to compiling its own if that's not possible.
Unfortunately, this means that if qtbase-native happens to be built on a machine with system pcre available then the resulting binaries such as bin/qt5/uic in sstate files won't work correctly on machines that don't have pcre available. Even ignoring that, it doesn't help for packages to build differently depending on how the build system is configured.
We could depend on pcre-native and pass -system-pcre, but this doesn't work by default because qtbase actually requires pcre16 which is an optional (via PACKAGECONFIG) feature of pcre so the default there would need to be changed too.
So, let's make qtbase-native match the default of qtbase by passing -qt-pcre in order to ensure that qtbase-native is always built with its own pcre implementation.
Signed-off-by Mike Crowe <[email protected]>--- recipes-qt/qt5/qtbase-native_git.bb | 1 + 1 file changed, 1 insertion(+)recipes-qt/qt5/qtbase-native_git.bb +0
-0recipes-qt/qt5/qtbase-native_git.bb PACKAGECONFIG_CONFARGS = " \ · line 52
Quoted 7 lines
recipes-qt/qt5/qtbase-native_git.bb +1
-0@@ -46,6 +46,7 @@ PACKAGECONFIG_CONFARGS = " \ -sysroot ${STAGING_DIR_NATIVE} \ -no-gcc-sysroot \ -system-zlib \ + -qt-pcre \ -no-libjpeg \ -no-libpng \ -no-gif \Does anyone have any objections to this?
Quoted 2 lines
We've been using it for several weeks now and it's not caused any observed problems.
It's already merged:
https://github.com/meta-qt5/meta-qt5/commit/743b3b93e17f5382fd1f9f4e0d2932501c8a3c78
Quoted 9 lines
Thanks.
Mike.
Signature · 4 lines
_______________________________________________ Openembedded-devel mailing list [email protected] http://lists.openembedded.org/mailman/listinfo/openembedded-devel
Signature · 1 line
Martin 'JaMa' Jansa jabber: [email protected]
Quoted 2 lines · Martin Jansa
It's already merged:
https://github.com/meta-qt5/meta-qt5/commit/743b3b93e17f5382fd1f9f4e0d2932501c8a3c78
Oh, silly me, I'd got confused and was expecting it to turn up in meta-oe. :(
Sorry for the noise.
Mike.