diff mbox series

[v3] vte: fix build failed for ppc64

Message ID 20251224051734.2346176-1-hongxu.jia@windriver.com
State Under Review
Headers show
Series [v3] vte: fix build failed for ppc64 | expand

Commit Message

Hongxu Jia Dec. 24, 2025, 5:17 a.m. UTC
$ echo 'MACHINE = "qemuppc64"' >> conf/local.conf
$ bitbake vte
...
|subprojects/simdutf/simdutf.cpp:20533:7: error: there are no arguments to 'write_v_u16_11bits_to_utf8' that depend on a template parameter, so a declaration of 'write_v_u16_11bits_to_utf8' must be available [-Wtemplate-body]
|20533 |       write_v_u16_11bits_to_utf8(
|      |       ^~~~~~~~~~~~~~~~~~~~~~~~~~
|subprojects/simdutf/simdutf.cpp:20533:7: note: (if you use '-fpermissive', G++ will accept your code, but allowing the use of an undeclared name is deprecated)
|subprojects/simdutf/simdutf.cpp:20559:7: error: there are no arguments to 'ppc64_convert_utf16_to_1_2_3_bytes_of_utf8' that depend on a template parameter, so a declaration of 'ppc64_convert_utf16_to_1_2_3_bytes_of_utf8' must be available [-Wtemplate-body]
|20559 |       ppc64_convert_utf16_to_1_2_3_bytes_of_utf8(
|      |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|subprojects/simdutf/simdutf.cpp:20533:33: error: 'write_v_u16_11bits_to_utf8' was not declared in this scope
|20533 |       write_v_u16_11bits_to_utf8(
|      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~^
|20534 |           in, utf8_output, as_vector_u8(one_byte_bytemask), one_byte_bitmask);
|      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
...

The source file subprojects/simdutf/simdutf.cpp is generated by python3 script
singleheader/amalgamate.py and the definition of write_v_u16_11bits_to_utf8 and
ppc64_convert_utf16_to_1_2_3_bytes_of_utf8 for ppc64 [1] requires option
--with-utf16 and --with-latin1

[1] https://github.com/simdutf/simdutf/commit/497f4f29fe25a79af00ce25693a14682a5f669a5

Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
---
 ...-fix-compile-simdutf-failed-on-ppc64.patch | 77 +++++++++++++++++++
 meta/recipes-support/vte/vte_0.82.1.bb        |  1 +
 2 files changed, 78 insertions(+)
 create mode 100644 meta/recipes-support/vte/vte/0001-build-fix-compile-simdutf-failed-on-ppc64.patch

Comments

Randy MacLeod Jan. 5, 2026, 7:42 p.m. UTC | #1
On 2025-12-24 12:17 a.m., hongxu via lists.openembedded.org wrote:
> $ echo 'MACHINE = "qemuppc64"' >> conf/local.conf
> $ bitbake vte
> ...
> |subprojects/simdutf/simdutf.cpp:20533:7: error: there are no arguments to 'write_v_u16_11bits_to_utf8' that depend on a template parameter, so a declaration of 'write_v_u16_11bits_to_utf8' must be available [-Wtemplate-body]
> |20533 |       write_v_u16_11bits_to_utf8(
> |      |       ^~~~~~~~~~~~~~~~~~~~~~~~~~
> |subprojects/simdutf/simdutf.cpp:20533:7: note: (if you use '-fpermissive', G++ will accept your code, but allowing the use of an undeclared name is deprecated)
> |subprojects/simdutf/simdutf.cpp:20559:7: error: there are no arguments to 'ppc64_convert_utf16_to_1_2_3_bytes_of_utf8' that depend on a template parameter, so a declaration of 'ppc64_convert_utf16_to_1_2_3_bytes_of_utf8' must be available [-Wtemplate-body]
> |20559 |       ppc64_convert_utf16_to_1_2_3_bytes_of_utf8(
> |      |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> |subprojects/simdutf/simdutf.cpp:20533:33: error: 'write_v_u16_11bits_to_utf8' was not declared in this scope
> |20533 |       write_v_u16_11bits_to_utf8(
> |      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~^
> |20534 |           in, utf8_output, as_vector_u8(one_byte_bytemask), one_byte_bitmask);
> |      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> ...
>
> The source file subprojects/simdutf/simdutf.cpp is generated by python3 script
> singleheader/amalgamate.py and the definition of write_v_u16_11bits_to_utf8 and
> ppc64_convert_utf16_to_1_2_3_bytes_of_utf8 for ppc64 [1] requires option
> --with-utf16 and --with-latin1
>
> [1]https://github.com/simdutf/simdutf/commit/497f4f29fe25a79af00ce25693a14682a5f669a5

>
> Signed-off-by: Hongxu Jia<hongxu.jia@windriver.com>
> ---
>   ...-fix-compile-simdutf-failed-on-ppc64.patch | 77 +++++++++++++++++++
>   meta/recipes-support/vte/vte_0.82.1.bb        |  1 +
>   2 files changed, 78 insertions(+)
>   create mode 100644 meta/recipes-support/vte/vte/0001-build-fix-compile-simdutf-failed-on-ppc64.patch
>
> diff --git a/meta/recipes-support/vte/vte/0001-build-fix-compile-simdutf-failed-on-ppc64.patch b/meta/recipes-support/vte/vte/0001-build-fix-compile-simdutf-failed-on-ppc64.patch
> new file mode 100644
> index 0000000000..e7bc6ae47c
> --- /dev/null
> +++ b/meta/recipes-support/vte/vte/0001-build-fix-compile-simdutf-failed-on-ppc64.patch
> @@ -0,0 +1,77 @@
> +From 005923710c3da36667737acdbdad68b5b3a0c1bc Mon Sep 17 00:00:00 2001
> +From: Hongxu Jia<hongxu.jia@windriver.com>
> +Date: Tue, 23 Dec 2025 18:28:29 -0800
> +Subject: [PATCH] build: fix compile simdutf failed on ppc64
> +
> +...
> +|subprojects/simdutf/simdutf.cpp:20533:7: error: there are no arguments to 'write_v_u16_11bits_to_utf8' that depend on a template parameter, so a declaration of 'write_v_u16_11bits_to_utf8' must be available [-Wtemplate-body]
> +|20533 |       write_v_u16_11bits_to_utf8(
> +|      |       ^~~~~~~~~~~~~~~~~~~~~~~~~~
> +|subprojects/simdutf/simdutf.cpp:20533:7: note: (if you use '-fpermissive', G++ will accept your code, but allowing the use of an undeclared name is deprecated)
> +|subprojects/simdutf/simdutf.cpp:20559:7: error: there are no arguments to 'ppc64_convert_utf16_to_1_2_3_bytes_of_utf8' that depend on a template parameter, so a declaration of 'ppc64_convert_utf16_to_1_2_3_bytes_of_utf8' must be available [-Wtemplate-body]
> +|20559 |       ppc64_convert_utf16_to_1_2_3_bytes_of_utf8(
> +|      |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> +|subprojects/simdutf/simdutf.cpp:20533:33: error: 'write_v_u16_11bits_to_utf8' was not declared in this scope
> +|20533 |       write_v_u16_11bits_to_utf8(
> +|      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~^
> +|20534 |           in, utf8_output, as_vector_u8(one_byte_bytemask), one_byte_bitmask);
> +|      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> +...
> +
> +The source file subprojects/simdutf/simdutf.cpp is generated by python3
> +script singleheader/amalgamate.py and the definition of write_v_u16_11bits_to_utf8
> +and ppc64_convert_utf16_to_1_2_3_bytes_of_utf8 for ppc64 [1] requires option
> +--with-utf16 and --with-latin1
> +
> +Add option --with-utf16 and --with-latin1 by default.
> +
> +[1]https://github.com/simdutf/simdutf/commit/497f4f29fe25a79af00ce25693a14682a5f669a5
> +
> +Upstream-Status: Submitted [https://gitlab.gnome.org/GNOME/vte/-/issues/2926]

Hi Hongxu,

This is probably fine to merge with a v4.

Since the vte project rejected the bug and pointed to upstream simdutf 
(simd-utf for those following along at home),
can you update your commit log to explain that an change the 
Upstream-Status: <link> please ?

../Randy


> +Tweak for release tarball
> +
> +Signed-off-by: Hongxu Jia<hongxu.jia@windriver.com>
> +---
> + subprojects/packagefiles/simdutf/meson.build | 3 ++-
> + subprojects/simdutf/meson.build              | 3 ++-
> + 2 files changed, 4 insertions(+), 2 deletions(-)
> +
> +diff --git a/subprojects/packagefiles/simdutf/meson.build b/subprojects/packagefiles/simdutf/meson.build
> +index 330ee89..ab934c3 100644
> +--- a/subprojects/packagefiles/simdutf/meson.build
> ++++ b/subprojects/packagefiles/simdutf/meson.build
> +@@ -41,11 +41,12 @@ simdutf_amalgamate = [
> +   '--no-zip',
> +   '--no-readme',
> +   '--with-utf8',
> +-  # '--with-utf16',
> ++  '--with-utf16',
> +   '--with-utf32',
> +   # '--with-base64',
> +   # '--with-detect-enc',
> +   '--with-ascii',
> ++  '--with-latin1',
> + ]
> +
> + if get_option('debug')
> +diff --git a/subprojects/simdutf/meson.build b/subprojects/simdutf/meson.build
> +index 330ee89..ab934c3 100644
> +--- a/subprojects/simdutf/meson.build
> ++++ b/subprojects/simdutf/meson.build
> +@@ -41,11 +41,12 @@ simdutf_amalgamate = [
> +   '--no-zip',
> +   '--no-readme',
> +   '--with-utf8',
> +-  # '--with-utf16',
> ++  '--with-utf16',
> +   '--with-utf32',
> +   # '--with-base64',
> +   # '--with-detect-enc',
> +   '--with-ascii',
> ++  '--with-latin1',
> + ]
> +
> + if get_option('debug')
> +--
> +2.34.1
> +
> diff --git a/meta/recipes-support/vte/vte_0.82.1.bb b/meta/recipes-support/vte/vte_0.82.1.bb
> index b5d6f2fb62..0a2535f21e 100644
> --- a/meta/recipes-support/vte/vte_0.82.1.bb
> +++ b/meta/recipes-support/vte/vte_0.82.1.bb
> @@ -19,6 +19,7 @@ inherit gnomebase gi-docgen features_check upstream-version-is-even gobject-intr
>   
>   SRC_URI +="file://0001-Add-W_EXITCODE-macro-for-non-glibc-systems.patch \ 
> file://0001-support-reproducibility-for-debug-sources.patch;patchdir=./subprojects/simdutf 
> \ + file://0001-build-fix-compile-simdutf-failed-on-ppc64.patch \ "
>   
>   SRC_URI[archive.sha256sum] = "79376d70402d271e2d38424418e1aea72357934d272e321e3906b71706a78e3a"
>
> -=-=-=-=-=-=-=-=-=-=-=-
> Links: You receive all messages sent to this group.
> View/Reply Online (#228523):https://lists.openembedded.org/g/openembedded-core/message/228523
> Mute This Topic:https://lists.openembedded.org/mt/116925868/3616765
> Group Owner:openembedded-core+owner@lists.openembedded.org
> Unsubscribe:https://lists.openembedded.org/g/openembedded-core/unsub [randy.macleod@windriver.com]
> -=-=-=-=-=-=-=-=-=-=-=-
>
diff mbox series

Patch

diff --git a/meta/recipes-support/vte/vte/0001-build-fix-compile-simdutf-failed-on-ppc64.patch b/meta/recipes-support/vte/vte/0001-build-fix-compile-simdutf-failed-on-ppc64.patch
new file mode 100644
index 0000000000..e7bc6ae47c
--- /dev/null
+++ b/meta/recipes-support/vte/vte/0001-build-fix-compile-simdutf-failed-on-ppc64.patch
@@ -0,0 +1,77 @@ 
+From 005923710c3da36667737acdbdad68b5b3a0c1bc Mon Sep 17 00:00:00 2001
+From: Hongxu Jia <hongxu.jia@windriver.com>
+Date: Tue, 23 Dec 2025 18:28:29 -0800
+Subject: [PATCH] build: fix compile simdutf failed on ppc64
+
+...
+|subprojects/simdutf/simdutf.cpp:20533:7: error: there are no arguments to 'write_v_u16_11bits_to_utf8' that depend on a template parameter, so a declaration of 'write_v_u16_11bits_to_utf8' must be available [-Wtemplate-body]
+|20533 |       write_v_u16_11bits_to_utf8(
+|      |       ^~~~~~~~~~~~~~~~~~~~~~~~~~
+|subprojects/simdutf/simdutf.cpp:20533:7: note: (if you use '-fpermissive', G++ will accept your code, but allowing the use of an undeclared name is deprecated)
+|subprojects/simdutf/simdutf.cpp:20559:7: error: there are no arguments to 'ppc64_convert_utf16_to_1_2_3_bytes_of_utf8' that depend on a template parameter, so a declaration of 'ppc64_convert_utf16_to_1_2_3_bytes_of_utf8' must be available [-Wtemplate-body]
+|20559 |       ppc64_convert_utf16_to_1_2_3_bytes_of_utf8(
+|      |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+|subprojects/simdutf/simdutf.cpp:20533:33: error: 'write_v_u16_11bits_to_utf8' was not declared in this scope
+|20533 |       write_v_u16_11bits_to_utf8(
+|      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~^
+|20534 |           in, utf8_output, as_vector_u8(one_byte_bytemask), one_byte_bitmask);
+|      |           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+...
+
+The source file subprojects/simdutf/simdutf.cpp is generated by python3
+script singleheader/amalgamate.py and the definition of write_v_u16_11bits_to_utf8
+and ppc64_convert_utf16_to_1_2_3_bytes_of_utf8 for ppc64 [1] requires option
+--with-utf16 and --with-latin1
+
+Add option --with-utf16 and --with-latin1 by default.
+
+[1] https://github.com/simdutf/simdutf/commit/497f4f29fe25a79af00ce25693a14682a5f669a5
+
+Upstream-Status: Submitted [https://gitlab.gnome.org/GNOME/vte/-/issues/2926]
+Tweak for release tarball
+
+Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+---
+ subprojects/packagefiles/simdutf/meson.build | 3 ++-
+ subprojects/simdutf/meson.build              | 3 ++-
+ 2 files changed, 4 insertions(+), 2 deletions(-)
+
+diff --git a/subprojects/packagefiles/simdutf/meson.build b/subprojects/packagefiles/simdutf/meson.build
+index 330ee89..ab934c3 100644
+--- a/subprojects/packagefiles/simdutf/meson.build
++++ b/subprojects/packagefiles/simdutf/meson.build
+@@ -41,11 +41,12 @@ simdutf_amalgamate = [
+   '--no-zip',
+   '--no-readme',
+   '--with-utf8',
+-  # '--with-utf16',
++  '--with-utf16',
+   '--with-utf32',
+   # '--with-base64',
+   # '--with-detect-enc',
+   '--with-ascii',
++  '--with-latin1',
+ ]
+ 
+ if get_option('debug')
+diff --git a/subprojects/simdutf/meson.build b/subprojects/simdutf/meson.build
+index 330ee89..ab934c3 100644
+--- a/subprojects/simdutf/meson.build
++++ b/subprojects/simdutf/meson.build
+@@ -41,11 +41,12 @@ simdutf_amalgamate = [
+   '--no-zip',
+   '--no-readme',
+   '--with-utf8',
+-  # '--with-utf16',
++  '--with-utf16',
+   '--with-utf32',
+   # '--with-base64',
+   # '--with-detect-enc',
+   '--with-ascii',
++  '--with-latin1',
+ ]
+ 
+ if get_option('debug')
+-- 
+2.34.1
+
diff --git a/meta/recipes-support/vte/vte_0.82.1.bb b/meta/recipes-support/vte/vte_0.82.1.bb
index b5d6f2fb62..0a2535f21e 100644
--- a/meta/recipes-support/vte/vte_0.82.1.bb
+++ b/meta/recipes-support/vte/vte_0.82.1.bb
@@ -19,6 +19,7 @@  inherit gnomebase gi-docgen features_check upstream-version-is-even gobject-intr
 
 SRC_URI += "file://0001-Add-W_EXITCODE-macro-for-non-glibc-systems.patch \
             file://0001-support-reproducibility-for-debug-sources.patch;patchdir=./subprojects/simdutf \
+            file://0001-build-fix-compile-simdutf-failed-on-ppc64.patch \
 "
 
 SRC_URI[archive.sha256sum] = "79376d70402d271e2d38424418e1aea72357934d272e321e3906b71706a78e3a"