All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] qt4-native: depend on icu-native to fix build on systems with icu >=59
@ 2017-06-07  4:19 Cody P Schafer
  2017-06-07 12:24 ` Alexander Kanavin
  0 siblings, 1 reply; 6+ messages in thread
From: Cody P Schafer @ 2017-06-07  4:19 UTC (permalink / raw)
  To: yocto

Previously, qt4-native would use the system icu to build.

Trying to build against a system ICU 59, however, fails with this root
error:

| In file included from /usr/include/unicode/uversion.h:30:0,
|                  from tools/qlocale_icu.cpp:46:
| /usr/include/unicode/umachine.h:347:13: error: ‘char16_t’ does not name a type; did you mean ‘wchar_t’?
|      typedef char16_t UChar;
|              ^~~~~~~~
|              wchar_t

May have to do with our use of `-std=gnu98++`.

Signed-off-by: Cody P Schafer <dev@codyps.com>
---
 recipes-qt4/qt4/qt4-native.inc | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/recipes-qt4/qt4/qt4-native.inc b/recipes-qt4/qt4/qt4-native.inc
index 5a873de..a14a647 100644
--- a/recipes-qt4/qt4/qt4-native.inc
+++ b/recipes-qt4/qt4/qt4-native.inc
@@ -1,5 +1,5 @@
 SUMMARY = "Qt version 4 tools and support files for the build host"
-DEPENDS = "zlib-native dbus-native"
+DEPENDS = "zlib-native dbus-native icu-native"
 SECTION = "libs"
 HOMEPAGE = "http://qt-project.org/"
 PROVIDES = "qt4-tools-native"
-- 
2.13.0



^ permalink raw reply related	[flat|nested] 6+ messages in thread

* Re: [PATCH] qt4-native: depend on icu-native to fix build on systems with icu >=59
  2017-06-07  4:19 [PATCH] qt4-native: depend on icu-native to fix build on systems with icu >=59 Cody P Schafer
@ 2017-06-07 12:24 ` Alexander Kanavin
  2017-06-07 15:47   ` Cody P Schafer
  0 siblings, 1 reply; 6+ messages in thread
From: Alexander Kanavin @ 2017-06-07 12:24 UTC (permalink / raw)
  To: yocto, Cody P Schafer

On 06/07/2017 07:19 AM, Cody P Schafer wrote:
> Previously, qt4-native would use the system icu to build.
>
> Trying to build against a system ICU 59, however, fails with this root
> error:
>
> | In file included from /usr/include/unicode/uversion.h:30:0,
> |                  from tools/qlocale_icu.cpp:46:
> | /usr/include/unicode/umachine.h:347:13: error: ‘char16_t’ does not name a type; did you mean ‘wchar_t’?
> |      typedef char16_t UChar;
> |              ^~~~~~~~
> |              wchar_t
>

We will introduce icu 59 to oe-core at some point (in fact, I have a 
patch queued), and then this fix will no longer work.

You need to fix Qt4 itself.

Alex



^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH] qt4-native: depend on icu-native to fix build on systems with icu >=59
  2017-06-07 12:24 ` Alexander Kanavin
@ 2017-06-07 15:47   ` Cody P Schafer
  2017-06-08 11:01     ` Alexander Kanavin
  0 siblings, 1 reply; 6+ messages in thread
From: Cody P Schafer @ 2017-06-07 15:47 UTC (permalink / raw)
  To: Alexander Kanavin; +Cc: Yocto discussion list

Yep, for `master` that is certainly true.

For `morty` & `pyro` though, meta-qt4 could keep working by using icu-native.

The source of this issue being qt4's general incompatibility with C++
11 (we build with c++98 because of build errors with the newer std)
makes me wonder if it will even be possible to continue supporting qt4
going forward.

This may turn out like the openssl conflicts in that we'll need to
disable qt4's use of icu entirely.


On Wed, Jun 7, 2017 at 8:24 AM, Alexander Kanavin
<alexander.kanavin@linux.intel.com> wrote:
> On 06/07/2017 07:19 AM, Cody P Schafer wrote:
>>
>> Previously, qt4-native would use the system icu to build.
>>
>> Trying to build against a system ICU 59, however, fails with this root
>> error:
>>
>> | In file included from /usr/include/unicode/uversion.h:30:0,
>> |                  from tools/qlocale_icu.cpp:46:
>> | /usr/include/unicode/umachine.h:347:13: error: ‘char16_t’ does not name
>> a type; did you mean ‘wchar_t’?
>> |      typedef char16_t UChar;
>> |              ^~~~~~~~
>> |              wchar_t
>>
>
> We will introduce icu 59 to oe-core at some point (in fact, I have a patch
> queued), and then this fix will no longer work.
>
> You need to fix Qt4 itself.
>
> Alex
>


^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH] qt4-native: depend on icu-native to fix build on systems with icu >=59
  2017-06-07 15:47   ` Cody P Schafer
@ 2017-06-08 11:01     ` Alexander Kanavin
  2017-06-08 14:22       ` Cody P Schafer
  0 siblings, 1 reply; 6+ messages in thread
From: Alexander Kanavin @ 2017-06-08 11:01 UTC (permalink / raw)
  To: Cody P Schafer; +Cc: Yocto discussion list

On 06/07/2017 06:47 PM, Cody P Schafer wrote:
> Yep, for `master` that is certainly true.
>
> For `morty` & `pyro` though, meta-qt4 could keep working by using icu-native.
>
> The source of this issue being qt4's general incompatibility with C++
> 11 (we build with c++98 because of build errors with the newer std)
> makes me wonder if it will even be possible to continue supporting qt4
> going forward.
>
> This may turn out like the openssl conflicts in that we'll need to
> disable qt4's use of icu entirely.

I should give you a heads up: we (the yocto project) are going to remove 
qt4 builds from the autobuilder altogether, sometime during this cycle. 
The repo will stay, and patches will be accepted though.

So it's up to you to solve these issues, but I wouldn't want to take
patches that fix up older releases, while the master branch remains 
broken. We have a 'master first' policy :)

Alex


^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH] qt4-native: depend on icu-native to fix build on systems with icu >=59
  2017-06-08 11:01     ` Alexander Kanavin
@ 2017-06-08 14:22       ` Cody P Schafer
  2017-06-08 14:28         ` Alexander Kanavin
  0 siblings, 1 reply; 6+ messages in thread
From: Cody P Schafer @ 2017-06-08 14:22 UTC (permalink / raw)
  To: Alexander Kanavin; +Cc: Yocto discussion list

> I should give you a heads up: we (the yocto project) are going to remove qt4
> builds from the autobuilder altogether, sometime during this cycle. The repo
> will stay, and patches will be accepted though.

Thanks for the heads up.

> So it's up to you to solve these issues, but I wouldn't want to take
> patches that fix up older releases, while the master branch remains broken.
> We have a 'master first' policy :)

master first makes sense if master is going to be supported going
forward, but given the extremely stale state of qt4, I don't expect
we'll be able to keep it working (at least as a complete unit) for
very much longer. And we probably shouldn't :) . At some point there
is going to be a last release that works with qt4, forever.

Would it be reasonable to disable icu usage in meta-qt4 master while
switching pyro & morty to using the icu-native package?


^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH] qt4-native: depend on icu-native to fix build on systems with icu >=59
  2017-06-08 14:22       ` Cody P Schafer
@ 2017-06-08 14:28         ` Alexander Kanavin
  0 siblings, 0 replies; 6+ messages in thread
From: Alexander Kanavin @ 2017-06-08 14:28 UTC (permalink / raw)
  To: Cody P Schafer; +Cc: Yocto discussion list

On 06/08/2017 05:22 PM, Cody P Schafer wrote:
> Would it be reasonable to disable icu usage in meta-qt4 master while
> switching pyro & morty to using the icu-native package?

Yes, absolutely.

Alex



^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2017-06-08 14:28 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-06-07  4:19 [PATCH] qt4-native: depend on icu-native to fix build on systems with icu >=59 Cody P Schafer
2017-06-07 12:24 ` Alexander Kanavin
2017-06-07 15:47   ` Cody P Schafer
2017-06-08 11:01     ` Alexander Kanavin
2017-06-08 14:22       ` Cody P Schafer
2017-06-08 14:28         ` Alexander Kanavin

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.