dev-qt/qtwebengine-5.9.3 fails to compile emerge --info '=dev-qt/qtwebengine-5.9.3::gentoo' dev-java/java-config: 2.2.0-r3::gentoo gentoo sync-uri: rsync://rsync11.us.gentoo.org/gentoo-portage tcgOverlay location: /usr/local/portage masters: gentoo ACCEPT_KEYWORDS="amd64 ~amd64" ACCEPT_LICENSE="* -@EULA" CBUILD="x86_64-pc-linux-gnu" CFLAGS="-O2 -march=native -fomit-frame-pointer -pipe" CHOST="x86_64-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/share/config /usr/share/gnupg/qualified.txt" CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/dconf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo" CXXFLAGS="-O2 -march=native -fomit-frame-pointer -pipe" DISTDIR="/usr/portage/distfiles" EMERGE_DEFAULT_OPTS="--with-bdeps y" FCFLAGS="-O2 -pipe" FEATURES="assume-digests binpkg-logs config-protect-if-modified distlocks ebuild-locks fixlafiles merge-sync multilib-strict news parallel-fetch preserve-libs protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync xattr" FFLAGS="-O2 -pipe" GENTOO_MIRRORS="http://distfiles.gentoo.org" LANG="en_US.utf8" LDFLAGS="-Wl,-O1 -Wl,--as-needed" MAKEOPTS="V=1 -j1" PKGDIR="/usr/portage/packages" PORTAGE_CONFIGROOT="/" PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --omit-dir-times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages --exclude=/.git" PORTAGE_TMPDIR="/var/tmp" USE="X a52 aac aalib acl acpi activities aes alsa amd64 amr apache2 audiofile avahi avx bash-completion berkdb bluray branding btrfs bzip2 cairo caps cdaudio cdda cddb cdparanoia cdr cdrdao chm cleartype cli corefonts cracklib crypt cups curl cxx dbus declarative designer-plugin djvu dri dssi dts dv dvb dvd dvdr ebook emboss encode exif fam fdk ffmpeg firefox flac fortran gdbm gif glamor gmp google gphoto2 gpm gstreamer gtk gtk3 iconv icu ieee1394 imagemagick imap imlib introspection ipv6 jack java jpeg jpeg2k kde kipi kpathsea kwallet ladspa lame lash lcms libffi libnotify lv2 lzma mad marble midi mmap mmx mmxext mng modules mozilla mp3 mp4 mpeg mtp musicbrainz ncurses network nls nodrm nptl nsplugin nvidia ofx ogg opencl openexr opengl openmp opus pam pango pcre pdf phonon plasma png policykit popcnt ppds pulseaudio qml qt3support qt4 qt5 readline rtmp sasl scanner sdl seccomp semantic-desktop session slp smp sndfile spell sse sse2 sse3 sse4_1 sse4_2 ssl ssse3 startup-notification subversion svg systemd theora threads tiff tk transparency truetype type1 udev udisks unicode unwind upower usb v4l vaapi vcd vdpau vim-syntax vorbis vpx vst wav wavpack wayland widgets wmf wxwidgets x264 x265 xattr xcb xcomposite xine xinerama xkb xml xscreensaver xv xvid xvmc zlib" ABI_X86="64" ALSA_CARDS="hda-intel hdsp hpet hrtimer rtctimer seqdummy virmidi" APACHE2_MODULES="authn_core authz_core socache_shmcb unixd actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" CALLIGRA_FEATURES="author braindump flow karbon kexi krita sheets stage words" CAMERAS="*" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" CPU_FLAGS_X86="aes avx mmx mmxext popcnt sse sse2 sse3 sse4_1 sse4_2 ssse3" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock isync itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf skytraq superstar2 timing tsip tripmate tnt ublox ubx" GRUB_PLATFORMS="efi-64 pc" INPUT_DEVICES="libinput" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" LINGUAS="en_US en" NGINX_MODULES_HTTP="autoindex fancyindex fastcgi gzip" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php5-6 php7-0" POSTGRES_TARGETS="postgres9_5" PYTHON_SINGLE_TARGET="python3_5" PYTHON_TARGETS="python2_7 python3_5" QEMU_SOFTMMU_TARGETS="i386 x86_64" QEMU_USER_TARGETS="i386 x86_64" RUBY_TARGETS="ruby21 ruby22 ruby23 ruby24" SANE_BACKENDS="epson epson2" USERLAND="GNU" VIDEO_CARDS="nvidia nouveau intel modesetting" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account" Unset: CC, CPPFLAGS, CTARGET, CXX, INSTALL_MASK, LC_ALL, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS ================================================================= Package Settings ================================================================= dev-qt/qtwebengine-5.9.3::gentoo was built with the following: USE="alsa pulseaudio system-ffmpeg system-icu widgets -bindist -debug -geolocation -pax_kernel -test" ABI_X86="(64)"
Created attachment 507214 [details] build.log
emerge -pqv '=dev-qt/qtwebengine-5.9.3::gentoo' [ebuild R ] dev-qt/qtwebengine-5.9.3 USE="alsa pulseaudio system-ffmpeg system-icu widgets -bindist -debug -geolocation -pax_kernel {-test}"
The relevant error messages: ../../3rdparty/chromium/components/url_formatter/url_formatter.cc:511:2: error: #error "Update aspirational_scripts per Unicode 10.0" #error "Update aspirational_scripts per Unicode 10.0" ^~~~~ ninja: build stopped: subcommand failed.
I don't know what it will break, but things seem to build if #if U_ICU_VERSION_MAJOR_NUM < 60 is changed to #if U_ICU_VERSION_MAJOR_NUM < 61 in 'url_formatter.cc'. These bits are completely gone at least since 'BASELINE: Update Chromium to 60.0.3112.70', but that will probably not happen for 5.9, if I were to guess. Will ask upstream, too, unless someone else gets to it before me.
(In reply to Chiitoo from comment #4) > I don't know what it will break, but things seem to build if > > #if U_ICU_VERSION_MAJOR_NUM < 60 > > is changed to > > #if U_ICU_VERSION_MAJOR_NUM < 61 > > in 'url_formatter.cc'. Will look into that as a temp workaround. > These bits are completely gone at least since 'BASELINE: Update Chromium to > 60.0.3112.70', but that will probably not happen for 5.9, if I were to guess. Chromium is not even installed here.
Created attachment 507272 [details, diff] Fix build against system-icu 60.1. (In reply to Chris Smith from comment #5) > Chromium is not even installed here. Ah, apologies; I was referring to the qtwebengine-chromium, and this commit in particular: http://code.qt.io/cgit/qt/qtwebengine-chromium.git/commit/chromium/components/url_formatter/url_formatter.cc?h=60-based&id=6ec7b8da05d21a3878bd21c691b41e675d74bb1c I'll attach a patch I'm currently testing, that should be more appropriate as a workaround (a tip from upstream carewolf (thanks!)).
bool IDNSpoofChecker::IsMadeOfLatinAlikeCyrillic this seem to be a security sensitive function which protect the user from URL spoofing attacks. However in newer chromium they changed it completely and moved the class into it's own file, from components/url_formatter/url_formatter.cc to components/url_formatter/idn_spoof_checker.cc so it will not be an easy port, someone knowledgeable in unicode can jump in, please?
@Chiitoo sorry, I've somewhat missed comment #6. Please ignore mine #7
(In reply to Chiitoo from comment #6) > I'll attach a patch I'm currently testing, that should be more appropriate > as a workaround (a tip from upstream carewolf (thanks!)). I would also like to test the patch, as my system upgrades are currently stalled on this issue.
(In reply to Dennis Schridde from comment #9) > (In reply to Chiitoo from comment #6) > > I'll attach a patch I'm currently testing, that should be more appropriate > > as a workaround (a tip from upstream carewolf (thanks!)). > > I would also like to test the patch, as my system upgrades are currently > stalled on this issue. It is attached already to this bug, and you're definitely free to try it out. :] In case you're not sure where to place it, see for example: https://wiki.gentoo.org/wiki//etc/portage/patches
(In reply to Chiitoo from comment #10) > (In reply to Dennis Schridde from comment #9) > > (In reply to Chiitoo from comment #6) > > > I'll attach a patch I'm currently testing, that should be more appropriate > > > as a workaround (a tip from upstream carewolf (thanks!)). > > > > I would also like to test the patch, as my system upgrades are currently > > stalled on this issue. > > It is attached already to this bug, and you're definitely free to try it > out. :] Thank you! I misunderstood your sentence to be in the future tense and also overlooked the attachment. I recompiled qtwebengine with your patch. Now KMail and KDE Telepathy work again, without any apparent flaws.
This same error comes up for Chromium built with system-icu (appears to be the default now?). The fix is not the same, nor am I sure that changing the check to use version 61 would be a reliable hack.
Chromium: ../../components/url_formatter/idn_spoof_checker.cc:352:2: error: #error "Update aspirational_scripts per Unicode 10.0" #error "Update aspirational_scripts per Unicode 10.0" ^~~~~
The attached patch worked for me. Thanks
Works for me.
Ran into the same issue. The patch worked for me.
The bug has been closed via the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=38591f8810ec877e3be5965f0ed753c5fcbf9f2b commit 38591f8810ec877e3be5965f0ed753c5fcbf9f2b Author: Andreas Sturmlechner <asturm@gentoo.org> AuthorDate: 2017-12-05 00:52:02 +0000 Commit: Michael Palimaka <kensington@gentoo.org> CommitDate: 2017-12-05 11:21:26 +0000 dev-qt/qtwebengine: Fix build with >=ICU-60 Closes: https://bugs.gentoo.org/639220 Package-Manager: Portage-2.3.16, Repoman-2.3.6 .../qtwebengine/files/qtwebengine-5.9.3-icu-60.1.patch | 16 ++++++++++++++++ dev-qt/qtwebengine/qtwebengine-5.9.3.ebuild | 2 ++ 2 files changed, 18 insertions(+)
The bug has been referenced in the following commit(s): https://gitweb.gentoo.org/proj/qt.git/commit/?id=0f96244f88e39a6132b484dde151de55ebad29a3 commit 0f96244f88e39a6132b484dde151de55ebad29a3 Author: Andreas Sturmlechner <asturm@gentoo.org> AuthorDate: 2017-12-05 11:25:20 +0000 Commit: Michael Palimaka <kensington@gentoo.org> CommitDate: 2017-12-05 11:25:45 +0000 dev-qt/qtwebengine: Fix build with >=ICU-60 Bug: https://bugs.gentoo.org/639220 Package-Manager: Portage-2.3.14, Repoman-2.3.6 .../qtwebengine/files/qtwebengine-5.9.3-icu-60.1.patch | 16 ++++++++++++++++ dev-qt/qtwebengine/qtwebengine-5.10.9999.ebuild | 2 ++ dev-qt/qtwebengine/qtwebengine-5.9.9999.ebuild | 2 ++ dev-qt/qtwebengine/qtwebengine-5.9999.ebuild | 2 ++ 4 files changed, 22 insertions(+)}
*** Bug 639910 has been marked as a duplicate of this bug. ***
A bit late to the party, but it should be noted that as of Unicode Standard 10.0, the "Aspirational Scripts" category has been removed, and its scripts moved into the "Limited Use" category. They have "Restricted" status under UTS 39, which is referenced in comments in the relevant Chromium code in QtWebEngine. The code notes that the list of "Aspirational Scripts" characters used as identifiers needs to be updated when the version of the Unicode Standard is updated. The update is to remove those characters entirely, as they are now "Restricted". Therefore, if we're aiming to be strictly conforming, the code in the #if block should *only* apply to ICU < 60, and the #else clause should be removed or replaced by a note of some kind. Obviously this isn't necessary to fix the build failure, but it would fix it in a standards-conforming way. For whatever it's worth. For reference: Restriction info (UTS 39): https://www.unicode.org/reports/tr39/tr39-15.html#Identifier_Status_and_Type https://www.unicode.org/reports/tr39/tr39-15.html#Modifications See note just above this table entry in UAX 31: https://www.unicode.org/reports/tr31/tr31-27.html#Aspirational_Use_Scripts https://www.unicode.org/reports/tr31/tr31-27.html#Modifications # Identifier types in Unicode 9.0 and 10.0. https://www.unicode.org/Public/security/9.0.0/IdentifierType.txt https://www.unicode.org/Public/security/10.0.0/IdentifierType.txt
${FILESDIR}/${P}-icu-60.1.patch but there is only qtwebengine-5.9.3-icu-60.1.patch results in: Source unpacked in /var/tmp/portage/dev-qt/qtwebengine-5.9.9999/work >>> Preparing source in /var/tmp/portage/dev-qt/qtwebengine-5.9.9999/work/qtwebengine-5.9.9999 ... * Applying qtwebengine-5.9.9999-icu-60.1.patch ... /var/tmp/portage/dev-qt/qtwebengine-5.9.9999/temp/environment: line 1189: /var/tmp/portage/dev-qt/qtwebengine-5.9.9999/files/qtwebengine-5.9.9999-icu-60.1.patch: No such file or directory [ !! ] * ERROR: dev-qt/qtwebengine-5.9.9999::qt failed (prepare phase): * patch -p1 failed with /var/tmp/portage/dev-qt/qtwebengine-5.9.9999/files/qtwebengine-5.9.9999-icu-60.1.patch *
(In reply to jospezial from comment #21) > ${FILESDIR}/${P}-icu-60.1.patch > > but there is only qtwebengine-5.9.3-icu-60.1.patch > > results in: > > Source unpacked in /var/tmp/portage/dev-qt/qtwebengine-5.9.9999/work > >>> Preparing source in /var/tmp/portage/dev-qt/qtwebengine-5.9.9999/work/qtwebengine-5.9.9999 ... > * Applying qtwebengine-5.9.9999-icu-60.1.patch ... > /var/tmp/portage/dev-qt/qtwebengine-5.9.9999/temp/environment: line 1189: > /var/tmp/portage/dev-qt/qtwebengine-5.9.9999/files/qtwebengine-5.9.9999-icu- > 60.1.patch: No such file or directory > [ !! ] > * ERROR: dev-qt/qtwebengine-5.9.9999::qt failed (prepare phase): > * patch -p1 failed with > /var/tmp/portage/dev-qt/qtwebengine-5.9.9999/files/qtwebengine-5.9.9999-icu- > 60.1.patch > * My bad, sorry about that.
The bug has been referenced in the following commit(s): https://gitweb.gentoo.org/proj/qt.git/commit/?id=c701b5a30f12970c1faa3730b6cf5856c111fa42 commit c701b5a30f12970c1faa3730b6cf5856c111fa42 Author: Michael Palimaka <kensington@gentoo.org> AuthorDate: 2017-12-07 09:08:00 +0000 Commit: Michael Palimaka <kensington@gentoo.org> CommitDate: 2017-12-07 09:08:19 +0000 dev-qt/qtwebengine: fix patch name Bug: https://bugs.gentoo.org/639220 Package-Manager: Portage-2.3.14, Repoman-2.3.6 dev-qt/qtwebengine/qtwebengine-5.10.9999.ebuild | 2 +- dev-qt/qtwebengine/qtwebengine-5.9.9999.ebuild | 2 +- dev-qt/qtwebengine/qtwebengine-5.9999.ebuild | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-)}
https://gitweb.gentoo.org/proj/qt.git/commit/dev-qt/qtwebengine/files?id=9fc33af6d26ab78fa51e4570e972502cad3bb9ee "dev-qt/qtwebengine: remove unneeded patch The ICU 60.1 patch is not needed, nor does it apply on 5.9999/5.10." The qtwebengine-5.9.9999.ebuild still has it.: >>> Preparing source in /var/tmp/portage/dev-qt/qtwebengine-5.9.9999/work/qtwebengine-5.9.9999 ... * Applying qtwebengine-5.9.3-icu-60.1.patch ... /var/tmp/portage/dev-qt/qtwebengine-5.9.9999/temp/environment: line 1194: /var/tmp/portage/dev-qt/qtwebengine-5.9.9999/files/qtwebengine-5.9.3-icu-60.1.patch: No such file or directory [ !! ] * ERROR: dev-qt/qtwebengine-5.9.9999::qt failed (prepare phase): * patch -p1 failed with /var/tmp/portage/dev-qt/qtwebengine-5.9.9999/files/qtwebengine-5.9.3-icu-60.1.patch * * Call stack: * ebuild.sh, line 124: Called src_prepare * environment, line 4662: Called qt5-build_src_prepare * environment, line 4268: Called default * phase-functions.sh, line 853: Called default_src_prepare * phase-functions.sh, line 918: Called __eapi6_src_prepare * environment, line 341: Called eapply '/var/tmp/portage/dev-qt/qtwebengine-5.9.9999/files/qtwebengine-5.9.3-icu-60.1.patch' * environment, line 1259: Called _eapply_patch '/var/tmp/portage/dev-qt/qtwebengine-5.9.9999/files/qtwebengine-5.9.3-icu-60.1.patch' * environment, line 1197: Called __helpers_die 'patch -p1 failed with /var/tmp/portage/dev-qt/qtwebengine-5.9.9999/files/qtwebengine-5.9.3-icu-60.1.patch' * isolated-functions.sh, line 117: Called die * The specific snippet of code: * die "$@"
the patch is still needed for qtwebengine-5.9.9999
(In reply to jospezial from comment #25) > the patch is still needed for qtwebengine-5.9.9999 Ah, crud! I believe I forgot/had not noticed that 5.9.9999 is still around there, at the time of the removal of the patch, and though I noticed it later on, I had already forgotten the whole thing... Much apologies! Will fix.