Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 618644 - dev-qt/qtwebkit-5.7.1:5 fails to build with ICU >=59
Summary: dev-qt/qtwebkit-5.7.1:5 fails to build with ICU >=59
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All All
: Normal normal (vote)
Assignee: Qt Bug Alias
URL: https://codereview.qt-project.org/193548
Whiteboard:
Keywords: PATCH, UPSTREAM
: 619768 621386 (view as bug list)
Depends on:
Blocks: icu-59
  Show dependency tree
 
Reported: 2017-05-16 11:29 UTC by Arfrever Frehtes Taifersar Arahesis
Modified: 2017-06-18 02:21 UTC (History)
5 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
qtwebkit-5.7.1.log (qtwebkit-5.7.1.log,381.13 KB, text/plain)
2017-05-16 11:30 UTC, Arfrever Frehtes Taifersar Arahesis
Details
qtwebkit-5.7.1-icu-59.patch (qtwebkit-5.7.1-icu-59.patch,1.80 KB, patch)
2017-05-16 11:33 UTC, Arfrever Frehtes Taifersar Arahesis
Details | Diff
upstream patch (qtwebkit-5.7.1-icu59.patch,4.49 KB, patch)
2017-06-11 10:26 UTC, Andreas K. Hüttel
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Arfrever Frehtes Taifersar Arahesis 2017-05-16 11:29:26 UTC
dev-qt/qtwebkit-5.7.1 fails to build with ICU >=59.


x86_64-pc-linux-gnu-g++ -c -Wall -Wextra -Wreturn-type -Wchar-subscripts -Wformat-security -Wreturn-type -Wno-unused-parameter -Wno-sign-compare -Wno-switch -Wno-switch-enum -Wundef -Wmissing-noreturn -Winit-self -march=native -O2 -fno-ident -frecord-gcc-switches -pipe -Wall -fno-stack-protector -fno-strict-aliasing -O3 -fPIC -std=gnu++11 -fvisibility=hidden -fvisibility-inlines-hidden -pthread -fno-exceptions -D_REENTRANT -MMD -DQT_NO_MTDEV -DQT_NO_EVDEV -DQT_NO_TSLIB -DQT_NO_LIBINPUT -DBUILDING_QT__=1 -DNDEBUG -DENABLE_3D_RENDERING=1 -DENABLE_ACCELERATED_2D_CANVAS=1 -DENABLE_BLOB=1 -DENABLE_CANVAS_PATH=1 -DENABLE_CHANNEL_MESSAGING=1 -DENABLE_CSS_BOX_DECORATION_BREAK=1 -DENABLE_CSS_COMPOSITING=1 -DENABLE_CSS_EXCLUSIONS=1 -DENABLE_CSS_FILTERS=1 -DENABLE_CSS_IMAGE_SET=1 -DENABLE_CSS_REGIONS=1 -DENABLE_CSS_SHAPES=1 -DENABLE_CSS_STICKY_POSITION=1 -DENABLE_CSS_TRANSFORMS_ANIMATIONS_UNPREFIXED=1 -DENABLE_DATALIST_ELEMENT=1 -DENABLE_DETAILS_ELEMENT=1 -DENABLE_DOWNLOAD_ATTRIBUTE=1 -DENABLE_FAST_MOBILE_SCROLLING=1 -DENABLE_FILTERS=1 -DENABLE_FTPDIR=1 -DENABLE_FULLSCREEN_API=1 -DENABLE_GESTURE_EVENTS=1 -DENABLE_ICONDATABASE=1 -DENABLE_IFRAME_SEAMLESS=1 -DENABLE_INDEXED_DATABASE=1 -DENABLE_INPUT_TYPE_COLOR=1 -DENABLE_INSPECTOR=1 -DENABLE_INSPECTOR_SERVER=1 -DENABLE_JAVASCRIPT_DEBUGGER=1 -DENABLE_LEGACY_NOTIFICATIONS=1 -DENABLE_LEGACY_VIEWPORT_ADAPTION=1 -DENABLE_LEGACY_VENDOR_PREFIXES=1 -DENABLE_LEGACY_WEB_AUDIO=1 -DENABLE_LINK_PREFETCH=1 -DENABLE_METER_ELEMENT=1 -DENABLE_MHTML=1 -DENABLE_NOTIFICATIONS=1 -DENABLE_PAGE_VISIBILITY_API=1 -DENABLE_PROGRESS_ELEMENT=1 -DENABLE_RESOLUTION_MEDIA_QUERY=1 -DENABLE_REQUEST_ANIMATION_FRAME=1 -DENABLE_SHARED_WORKERS=1 -DENABLE_SMOOTH_SCROLLING=1 -DENABLE_SQL_DATABASE=1 -DENABLE_SUBPIXEL_LAYOUT=1 -DENABLE_SVG=1 -DENABLE_SVG_FONTS=1 -DENABLE_TOUCH_ADJUSTMENT=1 -DENABLE_TOUCH_EVENTS=1 -DENABLE_TOUCH_SLIDER=1 -DENABLE_VIDEO_TRACK=1 -DENABLE_VIEW_MODE_CSS_MEDIA=1 -DENABLE_WEB_SOCKETS=1 -DENABLE_WEB_TIMING=1 -DENABLE_WORKERS=1 -DENABLE_XHR_TIMEOUT=1 -DWTF_USE_TILED_BACKING_STORE=1 -DWTF_USE_CROSS_PLATFORM_CONTEXT_MENUS=1 -DHAVE_QTQUICK=1 -DHAVE_QTPRINTSUPPORT=1 -DHAVE_QSTYLE=1 -DHAVE_QTTESTLIB=1 -DWTF_USE_LIBXML2=1 -DENABLE_XSLT=1 -DWTF_USE_ZLIB=1 -DWTF_USE_WEBP=1 -DWTF_USE_SYSTEM_LEVELDB=1 -DWTF_USE_LIBJPEG=1 -DWTF_USE_LIBPNG=1 -DHAVE_XCOMPOSITE=1 -DHAVE_XRENDER=1 -DHAVE_GLX=1 -DHAVE_FONTCONFIG=1 -DENABLE_NETSCAPE_PLUGIN_API=1 -DWTF_USE_PLUGIN_BACKEND_XLIB=1 -DPLUGIN_ARCHITECTURE_X11=1 -DENABLE_PLUGIN_PROCESS=1 -DWTF_USE_3D_GRAPHICS=1 -DENABLE_WEBGL=1 -DENABLE_VIDEO=1 -DWTF_USE_GSTREAMER=1 -DWTF_USE_NATIVE_FULLSCREEN_VIDEO=1 -DHAVE_SQLITE3=1 -DENABLE_GAMEPAD=1 -DWTF_USE_GRAPHICS_SURFACE=1 -DWTF_USE_GLX=1 -DWTF_USE_LEVELDB=1 -DWTF_USE_GLIB=1 -DENABLE_BATTERY_STATUS=0 -DENABLE_CANVAS_PROXY=0 -DENABLE_CSP_NEXT=0 -DENABLE_CSS_GRID_LAYOUT=0 -DENABLE_CSS_HIERARCHIES=0 -DENABLE_CSS_IMAGE_ORIENTATION=0 -DENABLE_CSS_IMAGE_RESOLUTION=0 -DENABLE_CSS_SHADERS=0 -DENABLE_CSS_VARIABLES=0 -DENABLE_CSS3_CONDITIONAL_RULES=0 -DENABLE_CSS3_TEXT=0 -DENABLE_CSS3_TEXT_LINE_BREAK=0 -DENABLE_DASHBOARD_SUPPORT=0 -DENABLE_DATAGRID=0 -DENABLE_DATA_TRANSFER_ITEMS=0 -DENABLE_DEVICE_ORIENTATION=0 -DENABLE_DIRECTORY_UPLOAD=0 -DENABLE_FILE_SYSTEM=0 -DENABLE_FONT_LOAD_EVENTS=0 -DENABLE_GEOLOCATION=0 -DENABLE_HIGH_DPI_CANVAS=0 -DENABLE_INPUT_SPEECH=0 -DENABLE_INPUT_TYPE_DATE=0 -DENABLE_INPUT_TYPE_DATETIME_INCOMPLETE=0 -DENABLE_INPUT_TYPE_DATETIMELOCAL=0 -DENABLE_INPUT_TYPE_MONTH=0 -DENABLE_INPUT_TYPE_TIME=0 -DENABLE_INPUT_TYPE_WEEK=0 -DENABLE_LEGACY_CSS_VENDOR_PREFIXES=0 -DENABLE_MATHML=0 -DENABLE_MEDIA_SOURCE=0 -DENABLE_MEDIA_STATISTICS=0 -DENABLE_MEDIA_STREAM=0 -DENABLE_MICRODATA=0 -DENABLE_MOUSE_CURSOR_SCALE=0 -DENABLE_NAVIGATOR_CONTENT_UTILS=0 -DENABLE_NETWORK_INFO=0 -DENABLE_NOSNIFF=0 -DENABLE_ORIENTATION_EVENTS=0 -DENABLE_PROXIMITY_EVENTS=0 -DENABLE_QUOTA=0 -DENABLE_RESOURCE_TIMING=0 -DENABLE_SCRIPTED_SPEECH=0 -DENABLE_SECCOMP_FILTERS=0 -DENABLE_SHADOW_DOM=0 -DENABLE_STYLE_SCOPED=0 -DENABLE_TEMPLATE_ELEMENT=0 -DENABLE_TEXT_AUTOSIZING=0 -DENABLE_THREADED_HTML_PARSER=0 -DENABLE_TOUCH_ICON_LOADING=0 -DENABLE_USER_TIMING=0 -DENABLE_VIBRATION=0 -DENABLE_WEB_AUDIO=0 -DSTATICALLY_LINKED_WITH_WTF -DBUILDING_JavaScriptCore -DBUILDING_WEBKIT -DQT_ASCII_CAST_WARNINGS -DQT_NO_EXCEPTIONS -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -DQT_NO_DEBUG -DQT_CORE_LIB -I. -I. -I../../Source -I../WTF -Iassembler -Ibytecode -Ibytecompiler -Iheap -Idfg -Idebugger -Idisassembler -Iinterpreter -Ijit -Illint -Iparser -Iprofiler -Iruntime -Itools -Iyarr -IAPI -IForwardingHeaders -Igenerated -I/var/tmp/portage/dev-qt/qtwebkit-5.7.1/work/qtwebkit-opensource-src-5.7.1/Source/JavaScriptCore/generated/LLIntOffsetsExtractor -Idisassembler/udis86 -I../../Source -I/var/tmp/portage/dev-qt/qtwebkit-5.7.1/work/qtwebkit-opensource-src-5.7.1/Source/include -I../WTF -isystem /usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -isystem /usr/include/qt5 -isystem /usr/include/qt5/QtCore -I.moc -I/usr/lib64/qt5/mkspecs/linux-g++ -o .obj/API/JSStringRef.o API/JSStringRef.cpp
API/JSStringRef.cpp: In function ‘OpaqueJSString* JSStringCreateWithCharacters(const JSChar*, size_t)’:
API/JSStringRef.cpp:40:50: error: invalid conversion from ‘const JSChar* {aka const short unsigned int*}’ to ‘const UChar* {aka const char16_t*}’ [-fpermissive]
     return OpaqueJSString::create(chars, numChars).leakRef();
                                                  ^
In file included from API/JSStringRef.cpp:31:0:
API/OpaqueJSString.h:49:39: note:   initializing argument 1 of ‘static WTF::PassRefPtr<OpaqueJSString> OpaqueJSString::create(const UChar*, unsigned int)’
     static PassRefPtr<OpaqueJSString> create(const UChar* characters, unsigned length)
                                       ^~~~~~
API/JSStringRef.cpp: In function ‘OpaqueJSString* JSStringCreateWithCharactersNoCopy(const JSChar*, size_t)’:
API/JSStringRef.cpp:65:125: error: invalid conversion from ‘const JSChar* {aka const short unsigned int*}’ to ‘const UChar* {aka const char16_t*}’ [-fpermissive]
     return OpaqueJSString::create(StringImpl::createWithoutCopying(chars, numChars, WTF::DoesNotHaveTerminatingNullCharacter)).leakRef();
                                                                                                                             ^
In file included from ../WTF/wtf/text/WTFString.h:29:0,
                 from API/OpaqueJSString.h:30,
                 from API/JSStringRef.cpp:31:
../WTF/wtf/text/StringImpl.h:431:57: note:   initializing argument 1 of ‘static WTF::PassRefPtr<WTF::StringImpl> WTF::StringImpl::createWithoutCopying(const UChar*, unsigned int, WTF::HasTerminatingNullCharacter)’
     WTF_EXPORT_STRING_API static PassRefPtr<StringImpl> createWithoutCopying(const UChar* characters, unsigned length, HasTerminatingNullCharacter);
                                                         ^~~~~~~~~~~~~~~~~~~~
API/JSStringRef.cpp: In function ‘const JSChar* JSStringGetCharactersPtr(JSStringRef)’:
API/JSStringRef.cpp:86:30: error: invalid conversion from ‘const UChar* {aka const char16_t*}’ to ‘const JSChar* {aka const short unsigned int*}’ [-fpermissive]
     return string->characters();
            ~~~~~~~~~~~~~~~~~~^~
Comment 1 Arfrever Frehtes Taifersar Arahesis 2017-05-16 11:30:41 UTC
Created attachment 472774 [details]
qtwebkit-5.7.1.log
Comment 2 Arfrever Frehtes Taifersar Arahesis 2017-05-16 11:33:41 UTC
Created attachment 472778 [details, diff]
qtwebkit-5.7.1-icu-59.patch

This patch is maybe compatible with versions of ICU not using char16_t as UChar, but it was not tested with them.
Comment 3 Davide Pesavento (RETIRED) gentoo-dev 2017-05-26 17:27:55 UTC
*** Bug 619768 has been marked as a duplicate of this bug. ***
Comment 4 Toralf Förster gentoo-dev 2017-06-01 15:27:39 UTC
(In reply to Arfrever Frehtes Taifersar Arahesis from comment #2)
FWIW fails with gcc-6.3.0 too at plasma_20170527-174630
Comment 5 Davide Pesavento (RETIRED) gentoo-dev 2017-06-10 14:18:04 UTC
*** Bug 621386 has been marked as a duplicate of this bug. ***
Comment 6 Andreas K. Hüttel archtester gentoo-dev 2017-06-11 10:26:35 UTC
Created attachment 476010 [details, diff]
upstream patch

Here's the patch from the upstream review (patchset 4). I can confirm that it applies to 5.7.1 and builds fine with ICU 59. Runtime testing will follow.
Comment 7 James Le Cuirot gentoo-dev 2017-06-14 10:11:46 UTC
The patch worked, thanks!
Comment 8 Arfrever Frehtes Taifersar Arahesis 2017-06-17 18:56:36 UTC
Upstream fix:
https://code.qt.io/cgit/qt/qtwebkit.git/commit/?id=bf172ae289a1348842005a9421797970f9b72060
Comment 9 Davide Pesavento (RETIRED) gentoo-dev 2017-06-18 02:21:51 UTC
Upstream patch backported to 5.6.2 and 5.7.1. Thanks everyone!

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c7a13c359ac5a60881c2f45e4a2e544f8a477841