| Summary: | matchbox-desktop: failed to start with segfault | ||||||
|---|---|---|---|---|---|---|---|
| Product: | [Build System, Metadata & Runtime] OE-Core | Reporter: | Jackie Huang <jackie.huang> | ||||
| Component: | graphics | Assignee: | Jackie Huang <jackie.huang> | ||||
| Status: | RESOLVED WONTFIX | QA Contact: | |||||
| Severity: | normal | ||||||
| Priority: | Medium | CC: | meta.mr.watcher, meta.watcher, mober.at, ross.burton, sgw | ||||
| Version: | unspecified | ||||||
| Target Milestone: | 1.8 | ||||||
| Hardware: | x86 | ||||||
| OS: | x86_64 | ||||||
| Whiteboard: | |||||||
| OS type for building Yocto: | --- | Type of Regression: | --- | ||||
| Verified: | Documentation change: | No (bug/feature does not impact docs) | |||||
| Attachments: |
|
||||||
The workaround is to filter out the "-fvisibility=default" for glib-2.0:
diff --git a/meta/recipes-core/glib-2.0/glib-2.0_2.40.0.bb b/meta/recipes-core/glib-2.0/glib-2.0_2.40.0.bb
index 4b1bcf8..ee63b4b 100644
--- a/meta/recipes-core/glib-2.0/glib-2.0_2.40.0.bb
+++ b/meta/recipes-core/glib-2.0/glib-2.0_2.40.0.bb
@@ -20,3 +20,5 @@ SRC_URI_append_class-native = " file://glib-gettextize-dir.patch"
SRC_URI[md5sum] = "05fb7cb17eacbc718e90366a1eae60d9"
SRC_URI[sha256sum] = "0d27f195966ecb1995dcce0754129fd66ebe820c7cd29200d264b02af1aa28b5"
+
+TARGET_CFLAGS := "${@oe_filter_out('-fvisibility=default', '${TARGET_CFLAGS}', d)}"
Please submit a patch! If you've a distribution that globally sets compiler flags then that distribution should also handle bugs caused by those flags. glib has large numbers of symbols that are marked internal so I wouldn't be too surprised that overriding the visibility rules breaks it. (In reply to comment #3) > If you've a distribution that globally sets compiler flags then that > distribution should also handle bugs caused by those flags. glib has large > numbers of symbols that are marked internal so I wouldn't be too surprised > that overriding the visibility rules breaks it. Yes, we have something like this in our distribution: PROFILING_OPTIMIZATION = "${FULL_OPTIMIZATION} -fno-omit-frame-pointer -fvisibility=default" so you suggest we should handle this bug in our distribution only, right? Correct. Basically you've either found a bug in matchbox-desktop (unlikely), or that glib doesn't work with default visibility forced and matchbox-desktop was just the first thing to crash. |
Created attachment 2306 [details] Screenshot of matchbox-desktop failure. Image: core-image-sato MACHINE: qemux86-64 If we add "-fno-omit-frame-pointer -fvisibility=default" in the OPTIMIZATION, matchbox-desktop: failed to start with segfault: matchbox-deskto[350]: segfault at 0 ip 0000003409a3aa10 sp 00007fff705985b8 error 4 in libglib-2.0.so.0.4000.0[3409a00000+135000]