-
Notifications
You must be signed in to change notification settings - Fork 29.7k
Closed
Labels
P2Important issues not at the top of the work listImportant issues not at the top of the work lista: desktopRunning on desktopRunning on desktopc: crashStack traces logged to the consoleStack traces logged to the consolee: local-engine-developmentLocal builds of the engine working betterLocal builds of the engine working betterengineflutter/engine related. See also e: labels.flutter/engine related. See also e: labels.platform-linuxBuilding on or for Linux specificallyBuilding on or for Linux specificallyr: fixedIssue is closed as already fixed in a newer versionIssue is closed as already fixed in a newer versionteam-linuxOwned by the Linux platform teamOwned by the Linux platform team
Description
Is there an existing issue for this?
- I have searched the existing issues
- I have read the guide to filing a bug
Steps to reproduce
build engine for flutter 3.13.0, for linux. I assume only with --gn-args 'use_default_linux_sysroot=false', as pango is otherwise provided by your sysroot, where it is older?
full commands:
python3 ./flutter/tools/gn \
--no-goma \
--no-dart-version-git-info \
--linux \
--linux-cpu=x64 \
--lto \
--clang \
--target-triple=x86_64-alpine-linux-musl
--no-backtrace \
--no-stripped \
--prebuilt-dart-sdk \
--build-glfw-shell \
--build-engine-artifacts \
--no-enable-unittests \
--enable-fontconfig \
--runtime-mode="release" \
--gn-args 'host_libc="musl" target_libc="musl" use_custom_libcxx=false use_default_linux_sysroot=false'
ninja -C "$_release_out" flutter flutter_patched_sdk sky(libc args coming from my patches, ignore)
the specific lines are:
engine: flutter/engine@671a846#diff-759dce7b4f188d36708a7796446d238ab1018084269941cdb15bde95fa223683R10
pango: https://gitlab.gnome.org/GNOME/pango/-/commit/0b84e14251445de349038eca15d2559dfe25ae26#b8c7fa1a0d53c98f6a0a57323449e2d6335d50d8_497_498
Actual results
(full log collapsed below)
../../flutter/shell/platform/linux/fl_accessible_text_field.cc:10:1: error: redefinition of 'glib_autoptr_clear_PangoLayout'
G_DEFINE_AUTOPTR_CLEANUP_FUNC(PangoLayout, g_object_unref)
^
/usr/include/pango-1.0/pango/pango-layout.h:548:1: note: previous definition is here
G_DEFINE_AUTOPTR_CLEANUP_FUNC(PangoLayout, g_object_unref)
^
builds successfully with this patch:
--- ./flutter/shell/platform/linux/fl_accessible_text_field.cc.orig
+++ ./flutter/shell/platform/linux/fl_accessible_text_field.cc
@@ -7,7 +7,6 @@
#include "flutter/shell/platform/linux/public/flutter_linux/fl_value.h"
G_DEFINE_AUTOPTR_CLEANUP_FUNC(PangoContext, g_object_unref)
-G_DEFINE_AUTOPTR_CLEANUP_FUNC(PangoLayout, g_object_unref)
typedef bool (*FlTextBoundaryCallback)(const PangoLogAttr* attr);
Logs
Logs
../../flutter/shell/platform/linux/fl_accessible_text_field.cc:10:1: error: redefinition of 'glib_autoptr_clear_PangoLayout'
G_DEFINE_AUTOPTR_CLEANUP_FUNC(PangoLayout, g_object_unref)
^
/usr/include/glib-2.0/glib/gmacros.h:1371:3: note: expanded from macro 'G_DEFINE_AUTOPTR_CLEANUP_FUNC'
_GLIB_DEFINE_AUTOPTR_CLEANUP_FUNCS(TypeName, TypeName, func)
^
/usr/include/glib-2.0/glib/gmacros.h:1354:36: note: expanded from macro '_GLIB_DEFINE_AUTOPTR_CLEANUP_FUNCS'
static G_GNUC_UNUSED inline void _GLIB_AUTOPTR_CLEAR_FUNC_NAME(TypeName) (TypeName *_ptr) \
^
/usr/include/glib-2.0/glib/gmacros.h:1338:49: note: expanded from macro '_GLIB_AUTOPTR_CLEAR_FUNC_NAME'
#define _GLIB_AUTOPTR_CLEAR_FUNC_NAME(TypeName) glib_autoptr_clear_##TypeName
^
<scratch space>:87:1: note: expanded from here
glib_autoptr_clear_PangoLayout
^
/usr/include/pango-1.0/pango/pango-layout.h:548:1: note: previous definition is here
G_DEFINE_AUTOPTR_CLEANUP_FUNC(PangoLayout, g_object_unref)
^
/usr/include/glib-2.0/glib/gmacros.h:1371:3: note: expanded from macro 'G_DEFINE_AUTOPTR_CLEANUP_FUNC'
_GLIB_DEFINE_AUTOPTR_CLEANUP_FUNCS(TypeName, TypeName, func)
^
/usr/include/glib-2.0/glib/gmacros.h:1354:36: note: expanded from macro '_GLIB_DEFINE_AUTOPTR_CLEANUP_FUNCS'
static G_GNUC_UNUSED inline void _GLIB_AUTOPTR_CLEAR_FUNC_NAME(TypeName) (TypeName *_ptr) \
^
/usr/include/glib-2.0/glib/gmacros.h:1338:49: note: expanded from macro '_GLIB_AUTOPTR_CLEAR_FUNC_NAME'
#define _GLIB_AUTOPTR_CLEAR_FUNC_NAME(TypeName) glib_autoptr_clear_##TypeName
^
<scratch space>:65:1: note: expanded from here
glib_autoptr_clear_PangoLayout
^
../../flutter/shell/platform/linux/fl_accessible_text_field.cc:10:1: error: redefinition of 'glib_autoptr_cleanup_PangoLayout'
G_DEFINE_AUTOPTR_CLEANUP_FUNC(PangoLayout, g_object_unref)
^
/usr/include/glib-2.0/glib/gmacros.h:1371:3: note: expanded from macro 'G_DEFINE_AUTOPTR_CLEANUP_FUNC'
_GLIB_DEFINE_AUTOPTR_CLEANUP_FUNCS(TypeName, TypeName, func)
^
/usr/include/glib-2.0/glib/gmacros.h:1356:36: note: expanded from macro '_GLIB_DEFINE_AUTOPTR_CLEANUP_FUNCS'
static G_GNUC_UNUSED inline void _GLIB_AUTOPTR_FUNC_NAME(TypeName) (TypeName **_ptr) \
^
/usr/include/glib-2.0/glib/gmacros.h:1337:43: note: expanded from macro '_GLIB_AUTOPTR_FUNC_NAME'
#define _GLIB_AUTOPTR_FUNC_NAME(TypeName) glib_autoptr_cleanup_##TypeName
^
<scratch space>:88:1: note: expanded from here
glib_autoptr_cleanup_PangoLayout
^
/usr/include/pango-1.0/pango/pango-layout.h:548:1: note: previous definition is here
G_DEFINE_AUTOPTR_CLEANUP_FUNC(PangoLayout, g_object_unref)
^
/usr/include/glib-2.0/glib/gmacros.h:1371:3: note: expanded from macro 'G_DEFINE_AUTOPTR_CLEANUP_FUNC'
_GLIB_DEFINE_AUTOPTR_CLEANUP_FUNCS(TypeName, TypeName, func)
^
/usr/include/glib-2.0/glib/gmacros.h:1356:36: note: expanded from macro '_GLIB_DEFINE_AUTOPTR_CLEANUP_FUNCS'
static G_GNUC_UNUSED inline void _GLIB_AUTOPTR_FUNC_NAME(TypeName) (TypeName **_ptr) \
^
/usr/include/glib-2.0/glib/gmacros.h:1337:43: note: expanded from macro '_GLIB_AUTOPTR_FUNC_NAME'
#define _GLIB_AUTOPTR_FUNC_NAME(TypeName) glib_autoptr_cleanup_##TypeName
^
<scratch space>:66:1: note: expanded from here
glib_autoptr_cleanup_PangoLayout
^
../../flutter/shell/platform/linux/fl_accessible_text_field.cc:10:1: error: redefinition of 'glib_listautoptr_cleanup_PangoLayout'
G_DEFINE_AUTOPTR_CLEANUP_FUNC(PangoLayout, g_object_unref)
^
/usr/include/glib-2.0/glib/gmacros.h:1371:3: note: expanded from macro 'G_DEFINE_AUTOPTR_CLEANUP_FUNC'
_GLIB_DEFINE_AUTOPTR_CLEANUP_FUNCS(TypeName, TypeName, func)
^
/usr/include/glib-2.0/glib/gmacros.h:1358:36: note: expanded from macro '_GLIB_DEFINE_AUTOPTR_CLEANUP_FUNCS'
static G_GNUC_UNUSED inline void _GLIB_AUTOPTR_LIST_FUNC_NAME(TypeName) (GList **_l) \
^
/usr/include/glib-2.0/glib/gmacros.h:1340:48: note: expanded from macro '_GLIB_AUTOPTR_LIST_FUNC_NAME'
#define _GLIB_AUTOPTR_LIST_FUNC_NAME(TypeName) glib_listautoptr_cleanup_##TypeName
^
<scratch space>:90:1: note: expanded from here
glib_listautoptr_cleanup_PangoLayout
^
/usr/include/pango-1.0/pango/pango-layout.h:548:1: note: previous definition is here
G_DEFINE_AUTOPTR_CLEANUP_FUNC(PangoLayout, g_object_unref)
^
/usr/include/glib-2.0/glib/gmacros.h:1371:3: note: expanded from macro 'G_DEFINE_AUTOPTR_CLEANUP_FUNC'
_GLIB_DEFINE_AUTOPTR_CLEANUP_FUNCS(TypeName, TypeName, func)
^
/usr/include/glib-2.0/glib/gmacros.h:1358:36: note: expanded from macro '_GLIB_DEFINE_AUTOPTR_CLEANUP_FUNCS'
static G_GNUC_UNUSED inline void _GLIB_AUTOPTR_LIST_FUNC_NAME(TypeName) (GList **_l) \
^
/usr/include/glib-2.0/glib/gmacros.h:1340:48: note: expanded from macro '_GLIB_AUTOPTR_LIST_FUNC_NAME'
#define _GLIB_AUTOPTR_LIST_FUNC_NAME(TypeName) glib_listautoptr_cleanup_##TypeName
^
<scratch space>:68:1: note: expanded from here
glib_listautoptr_cleanup_PangoLayout
^
../../flutter/shell/platform/linux/fl_accessible_text_field.cc:10:1: error: redefinition of 'glib_slistautoptr_cleanup_PangoLayout'
G_DEFINE_AUTOPTR_CLEANUP_FUNC(PangoLayout, g_object_unref)
^
/usr/include/glib-2.0/glib/gmacros.h:1371:3: note: expanded from macro 'G_DEFINE_AUTOPTR_CLEANUP_FUNC'
_GLIB_DEFINE_AUTOPTR_CLEANUP_FUNCS(TypeName, TypeName, func)
^
/usr/include/glib-2.0/glib/gmacros.h:1360:36: note: expanded from macro '_GLIB_DEFINE_AUTOPTR_CLEANUP_FUNCS'
static G_GNUC_UNUSED inline void _GLIB_AUTOPTR_SLIST_FUNC_NAME(TypeName) (GSList **_l) \
^
/usr/include/glib-2.0/glib/gmacros.h:1342:49: note: expanded from macro '_GLIB_AUTOPTR_SLIST_FUNC_NAME'
#define _GLIB_AUTOPTR_SLIST_FUNC_NAME(TypeName) glib_slistautoptr_cleanup_##TypeName
^
<scratch space>:91:1: note: expanded from here
glib_slistautoptr_cleanup_PangoLayout
^
/usr/include/pango-1.0/pango/pango-layout.h:548:1: note: previous definition is here
G_DEFINE_AUTOPTR_CLEANUP_FUNC(PangoLayout, g_object_unref)
^
/usr/include/glib-2.0/glib/gmacros.h:1371:3: note: expanded from macro 'G_DEFINE_AUTOPTR_CLEANUP_FUNC'
_GLIB_DEFINE_AUTOPTR_CLEANUP_FUNCS(TypeName, TypeName, func)
^
/usr/include/glib-2.0/glib/gmacros.h:1360:36: note: expanded from macro '_GLIB_DEFINE_AUTOPTR_CLEANUP_FUNCS'
static G_GNUC_UNUSED inline void _GLIB_AUTOPTR_SLIST_FUNC_NAME(TypeName) (GSList **_l) \
^
/usr/include/glib-2.0/glib/gmacros.h:1342:49: note: expanded from macro '_GLIB_AUTOPTR_SLIST_FUNC_NAME'
#define _GLIB_AUTOPTR_SLIST_FUNC_NAME(TypeName) glib_slistautoptr_cleanup_##TypeName
^
<scratch space>:69:1: note: expanded from here
glib_slistautoptr_cleanup_PangoLayout
^
../../flutter/shell/platform/linux/fl_accessible_text_field.cc:10:1: error: redefinition of 'glib_queueautoptr_cleanup_PangoLayout'
G_DEFINE_AUTOPTR_CLEANUP_FUNC(PangoLayout, g_object_unref)
^
/usr/include/glib-2.0/glib/gmacros.h:1371:3: note: expanded from macro 'G_DEFINE_AUTOPTR_CLEANUP_FUNC'
_GLIB_DEFINE_AUTOPTR_CLEANUP_FUNCS(TypeName, TypeName, func)
^
/usr/include/glib-2.0/glib/gmacros.h:1362:36: note: expanded from macro '_GLIB_DEFINE_AUTOPTR_CLEANUP_FUNCS'
static G_GNUC_UNUSED inline void _GLIB_AUTOPTR_QUEUE_FUNC_NAME(TypeName) (GQueue **_q) \
^
/usr/include/glib-2.0/glib/gmacros.h:1344:49: note: expanded from macro '_GLIB_AUTOPTR_QUEUE_FUNC_NAME'
#define _GLIB_AUTOPTR_QUEUE_FUNC_NAME(TypeName) glib_queueautoptr_cleanup_##TypeName
^
<scratch space>:92:1: note: expanded from here
glib_queueautoptr_cleanup_PangoLayout
^
/usr/include/pango-1.0/pango/pango-layout.h:548:1: note: previous definition is here
G_DEFINE_AUTOPTR_CLEANUP_FUNC(PangoLayout, g_object_unref)
^
/usr/include/glib-2.0/glib/gmacros.h:1371:3: note: expanded from macro 'G_DEFINE_AUTOPTR_CLEANUP_FUNC'
_GLIB_DEFINE_AUTOPTR_CLEANUP_FUNCS(TypeName, TypeName, func)
^
/usr/include/glib-2.0/glib/gmacros.h:1362:36: note: expanded from macro '_GLIB_DEFINE_AUTOPTR_CLEANUP_FUNCS'
static G_GNUC_UNUSED inline void _GLIB_AUTOPTR_QUEUE_FUNC_NAME(TypeName) (GQueue **_q) \
^
/usr/include/glib-2.0/glib/gmacros.h:1344:49: note: expanded from macro '_GLIB_AUTOPTR_QUEUE_FUNC_NAME'
#define _GLIB_AUTOPTR_QUEUE_FUNC_NAME(TypeName) glib_queueautoptr_cleanup_##TypeName
^
<scratch space>:70:1: note: expanded from here
glib_queueautoptr_cleanup_PangoLayout
^
../../flutter/shell/platform/linux/fl_accessible_text_field.cc:69:3: error: 'cleanup' argument is not a function
g_autoptr(PangoLayout) layout = create_pango_layout(self);
^
/usr/include/glib-2.0/glib/gmacros.h:1380:43: note: expanded from macro 'g_autoptr'
#define g_autoptr(TypeName) _GLIB_CLEANUP(_GLIB_AUTOPTR_FUNC_NAME(TypeName)) _GLIB_AUTOPTR_TYPENAME(TypeName)
^
/usr/include/glib-2.0/glib/gmacros.h:1337:43: note: expanded from macro '_GLIB_AUTOPTR_FUNC_NAME'
#define _GLIB_AUTOPTR_FUNC_NAME(TypeName) glib_autoptr_cleanup_##TypeName
^
<scratch space>:118:1: note: expanded from here
glib_autoptr_cleanup_PangoLayout
^
../../flutter/shell/platform/linux/fl_accessible_text_field.cc:129:3: error: 'cleanup' argument is not a function
g_autoptr(PangoLayout) layout = create_pango_layout(self);
^
/usr/include/glib-2.0/glib/gmacros.h:1380:43: note: expanded from macro 'g_autoptr'
#define g_autoptr(TypeName) _GLIB_CLEANUP(_GLIB_AUTOPTR_FUNC_NAME(TypeName)) _GLIB_AUTOPTR_TYPENAME(TypeName)
^
/usr/include/glib-2.0/glib/gmacros.h:1337:43: note: expanded from macro '_GLIB_AUTOPTR_FUNC_NAME'
#define _GLIB_AUTOPTR_FUNC_NAME(TypeName) glib_autoptr_cleanup_##TypeName
^
<scratch space>:120:1: note: expanded from here
glib_autoptr_cleanup_PangoLayout
^
../../flutter/shell/platform/linux/fl_accessible_text_field.cc:155:3: error: 'cleanup' argument is not a function
g_autoptr(PangoLayout) layout = create_pango_layout(self);
^
/usr/include/glib-2.0/glib/gmacros.h:1380:43: note: expanded from macro 'g_autoptr'
#define g_autoptr(TypeName) _GLIB_CLEANUP(_GLIB_AUTOPTR_FUNC_NAME(TypeName)) _GLIB_AUTOPTR_TYPENAME(TypeName)
^
/usr/include/glib-2.0/glib/gmacros.h:1337:43: note: expanded from macro '_GLIB_AUTOPTR_FUNC_NAME'
#define _GLIB_AUTOPTR_FUNC_NAME(TypeName) glib_autoptr_cleanup_##TypeName
^
<scratch space>:122:1: note: expanded from here
glib_autoptr_cleanup_PangoLayout
^
8 errors generated.
ninja: subcommand failed
Flutter Doctor output
n/a
Metadata
Metadata
Assignees
Labels
P2Important issues not at the top of the work listImportant issues not at the top of the work lista: desktopRunning on desktopRunning on desktopc: crashStack traces logged to the consoleStack traces logged to the consolee: local-engine-developmentLocal builds of the engine working betterLocal builds of the engine working betterengineflutter/engine related. See also e: labels.flutter/engine related. See also e: labels.platform-linuxBuilding on or for Linux specificallyBuilding on or for Linux specificallyr: fixedIssue is closed as already fixed in a newer versionIssue is closed as already fixed in a newer versionteam-linuxOwned by the Linux platform teamOwned by the Linux platform team