A little trouble with updating Chromium and Node today

I was having a little trouble updating Chromium this weekend. Every so often my build would hang up; this sometimes occurs when dependencies also need to be updated; I got around one or two that way already. Meanwhile, there was a reference to Node in my Chromium build from ports. I was trying to rebuild Node because it was causing trouble with my Chromium build. Node would error out despite my usual attempts at a workaround. I've tried the usual deinstalls; I looked up some references in UPDATING; portsnap is fresh. I didn't see anything that stood out about this error. The system is on 10.3.

When compiling Node from ports (/usr/ports/www/node), I run across an error message about an undeclared identifier related to ""UCHAR_EMOJI_MODIFIER"" and "UCHAR_EMOJI_PRESENTATION". I was wondering if anyone else was having the same trouble, or could suggest a fix.

Thought I'd ask if this was common before I bothered the ports maintainer.

More detailed error message below. Thanks.
Code:
../src/node_i18n.cc:545:38: error: use of undeclared identifier
      'UCHAR_EMOJI_MODIFIER'
      u_hasBinaryProperty(codepoint, UCHAR_EMOJI_MODIFIER)) {
                                     ^
../src/node_i18n.cc:563:42: error: use of undeclared identifier
      'UCHAR_EMOJI_PRESENTATION'
      if (u_hasBinaryProperty(codepoint, UCHAR_EMOJI_PRESENTATION)) {
                                         ^
../src/node_i18n.cc:615:33: error: use of undeclared identifier
      'UCHAR_EMOJI_PRESENTATION'
        (u_hasBinaryProperty(c, UCHAR_EMOJI_PRESENTATION) ||
                                ^
../src/node_i18n.cc:616:33: error: use of undeclared identifier
      'UCHAR_EMOJI_MODIFIER'
         u_hasBinaryProperty(c, UCHAR_EMOJI_MODIFIER))) {
                                ^
4 errors generated.
gmake[3]: *** [node.target.mk:164: /usr/ports/www/node/work/node-v7.9.0/out/Release/obj.target/node/src/node_i18n.o] Error 1
rm 5da16e09080257fc21d4a381ec35bb29922c01d3.intermediate
gmake[3]: Leaving directory '/usr/ports/www/node/work/node-v7.9.0/out'
gmake[2]: *** [Makefile:75: node] Error 2
gmake[2]: Leaving directory '/usr/ports/www/node/work/node-v7.9.0'
*** Error code 1

Stop.
make[1]: stopped in /usr/ports/www/node
*** Error code 1
 
I have try it on my 10.3 system. No problem with NLS on or off.
The UCHAR identifier are defined in /usr/local/include/unicode/uchar.h. This one is installed by devel/icu.
There is a "concurrent" uchar.h in /usr/include/ but, the Makefile of www/node refers explicit to /usr/local includes.
So I only could ask:
What is in your /etc/make.conf?
 
Maybe, it has to do with this two definitions:
Code:
work/node-v7.9.0/deps/icu-small/source/common/unicode/utypes.h:#define U_HIDE_DRAFT_API 1

work/node-v7.9.0/deps/icu-small/source/common/unicode/uconfig.h:#define U_DEFAULT_SHOW_DRAFT 1

It is the question if there are concurrent utypes.h or uconfig.h files?
 
Could be. Code in node_i18n.cc says lines like:
Code:
u_hasBinaryProperty(codepoint, UCHAR_EMOJI_MODIFIER)

So maybe somehow it was presumed that I would have this definition on hand, but I didn't do something to bring it in as expected.

I didn't have a /etc/make.conf at the time. I just added in an adjustment to get rid of an openssl warning; but, that was after this problem. Previous installation of Chromium presumably installed without it. I never thought of modifying make, so I suppose I never bothered with creating that file.
 
The problem is, I can't reproduce the error.
But you can try
make CONFIGURE_ARGS=--with-intl=$string
$string could be:
Code:
-/confiugure --help shows:
--with-intl=WITH_INTL
                        Intl mode (valid choices: none, small-icu, full-icu,
                        system-icu) [default: small-icu]

I would try (www/node):
e.g make CONFIGURE_ARGS+=-wwith-intl=full-icu (or none)
 
Back
Top