Summary: | net-libs/nodejs-12.16.1 USE=icu with dev-libs/icu-67.1 : js-number-format.cc:1287:15: error: ‘class icu::number::FormattedNumber’ has no member named ‘getAllFieldPositions’ | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Stefan Strogin <steils> |
Component: | Current packages | Assignee: | No maintainer - Look at https://wiki.gentoo.org/wiki/Project:Proxy_Maintainers if you want to take care of it <maintainer-needed> |
Status: | RESOLVED OBSOLETE | ||
Severity: | normal | CC: | darkdexter, gentoo, ilovekiruna, jnerin, johnnybit, redneb, thev00d00, wfdawson |
Priority: | Normal | ||
Version: | unspecified | ||
Hardware: | All | ||
OS: | Linux | ||
See Also: | https://bugs.gentoo.org/show_bug.cgi?id=720100 | ||
Whiteboard: | fixed in 14.1.0 (at least) | ||
Package list: | Runtime testing required: | --- | |
Attachments: |
build.log
patch for compiling against icu-67.1 |
Description
Stefan Strogin
2020-04-30 23:26:59 UTC
Created attachment 635388 [details]
build.log
I can reproduce the same error. The problem is solved in net-libs/nodejs-14.1.0. I didn't try to compile other versions. If this is solved in a later version, when can we expect one of those to be promoted to stable? dev-libs/icu-67.1 itself is not stable, not even 66.1 at this point, so there is no immediate problem except for people mixing arch and ~arch. Maybe nodejs maintainers want to time stabilisation together with icu-66.1/67.1 though, currently tracked in bug 716822. Created attachment 639108 [details, diff] patch for compiling against icu-67.1 I'm running testing chromium on stable amd64. I started with https://chromium-review.googlesource.com/c/v8/v8/+/2136489 and then cleaned it up with the patch at https://gitweb.gentoo.org/repo/gentoo.git/diff/www-client/chromium/files/chromium-81-icu67.patch?id=d2da708be8232c1fde4417584c056e519d015087 Was able to get it to build properly after that. Figured it might be useful if anyone else runs into this. Well, now this is a real issue since icu-67.1 is stable and I need to keep my nodejs at version 12. Right now I'm masking >=dev-libs/nodejs-13 and >=dev-libs/icu-66, but it would be nice if =dev-libs/nodejs-12* could account for <dev-libs/icu-67 (or 66, not sure where the change was introduced). Apparently this was introduced in 67.1: https://github.com/unicode-org/icu/commit/6edd38f35f6655dc87f07bf63807ffb862ed61d1 https://unicode-org.atlassian.net/browse/ICU-20806 I also have to switch back to nodejs 12.x. Having compiled 14.2.0 before during the ICU update, I am now stuck with a NodeJS version I cannot use (team policy). I see there is a patch attached to this bug, could you look into getting that one into the tree? I also searched upstream's GitHub repository, but did not find an upstream bug about this issue. I did find an upstream bug regarding this issue, even though it is marked resolved upstream, but the fix is yet to be released: https://github.com/nodejs/node/issues/32660 So either we have to wait for the next 12.x release (which, according to the upstream bug, would contain the fix) or the fix needs to be backported to the current 12.x release in Gentoo. I have tested the attached patch and I could get node 12.16.3 to compile successfully against icu-67.1. The upstream patch (for nodejs) has been merged as https://github.com/nodejs/node/commit/b37ec37210237ab65040948791916912c4ab055d; it is included in nodejs-12.17.0. I can confirm that this commit applies cleanly to nodejs 12.16.1 (current stable version in the 12.x series), and compiles properly. nodejs-12 has been removed from the tree. |