Summary: | dev-qt/qtwebkit-5.5.0 fails to build with musl | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Vic Kerr (wikky) <wikky> |
Component: | [OLD] Library | Assignee: | Gentoo musl team <musl> |
Status: | RESOLVED TEST-REQUEST | ||
Severity: | normal | CC: | qt, tsmksubc, wikky |
Priority: | Normal | Keywords: | PATCH |
Version: | unspecified | ||
Hardware: | All | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Bug Depends on: | |||
Bug Blocks: | 430702 | ||
Attachments: |
Proposed patch for ::musl
Proposed patch for ::musl |
Description
Vic Kerr (wikky)
2015-09-19 19:06:55 UTC
Created attachment 412290 [details, diff] Proposed patch for ::musl This disables using the backtrace API on non-glibc systems. From https://github.com/meta-qt5/meta-qt5/blob/master/recipes-qt/qt5/qtwebkit/0003-Exclude-backtrace-API-for-non-glibc-libraries.patch Created attachment 412292 [details, diff]
Proposed patch for ::musl
Sorry, the previous patch was wrong
For further polishing of the patch, notice that uclibc defines __GLIBC__, so that the !__UCLIBC__ test is unnecessary. (In reply to Felix Janda from comment #3) > For further polishing of the patch, notice that uclibc defines > __GLIBC__, so that the !__UCLIBC__ test is unnecessary. No, precisely because uClibc defines __GLIBC__, !__UCLIBC__ is necessary. Currently, the code only enables backtrace support if it detects Linux and not-uClibc. The patch adds an extra check for glibc, which ensures backtrace is only used on glibc. Without the !__UCLIBC__, backtrace would also be enabled on uClibc, and clearly that's not what the upstream intended. Or am I completely wrong here? Yes, you are right. Sorry for causing confusion. This needs to go upstream. Even though QtWebKit is deprecated, they might still agree to include it for 5.6 (In reply to Wiktor W Brodlo from comment #4) > (In reply to Felix Janda from comment #3) > > For further polishing of the patch, notice that uclibc defines > > __GLIBC__, so that the !__UCLIBC__ test is unnecessary. > > No, precisely because uClibc defines __GLIBC__, !__UCLIBC__ is necessary. > > Currently, the code only enables backtrace support if it detects Linux and > not-uClibc. The patch adds an extra check for glibc, which ensures backtrace > is only used on glibc. Without the !__UCLIBC__, backtrace would also be > enabled on uClibc, and clearly that's not what the upstream intended. > > Or am I completely wrong here? You should test for execinfo.h or functions in the backtrace api in the configure script and not rely on definitions of __GLIBC__ or __UCLIBC__. While this will work, its problematic. For example, uclibc can be configure with or without backtrace, so turning it off #ifdef __UCLIBC__ might miss that the current working version of uclibc actually does provide it. Oh and I should add, i pushed the patch againt the musl overlay. Still Davide is right, let's see about getting it upstream. Is there any update on the status of this patch and pushing it upstream? Can we assume this fixed by latest qtwebkit? Eyeballing, it looks like it's in qtwebkit-5.212.0_pre20180120. |