# A little trouble with updating Chromium and Node today



## gladiola (May 7, 2017)

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.

```
../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
```


----------



## talsamon (May 7, 2017)

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?


----------



## talsamon (May 8, 2017)

Maybe, it has to do with this two definitions:

```
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?


----------



## gladiola (May 8, 2017)

Could be.  Code in node_i18n.cc  says lines like:

```
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.


----------



## talsamon (May 8, 2017)

The problem is, I can't reproduce the error.
But you can try
`make CONFIGURE_ARGS=--with-intl=`$string
$string could be:

```
-/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)


----------



## MarcoB (May 8, 2017)

Tried installing www/chromium from ports last night, and encountered the same problem. It failed at www/node. My `uname -a`:
FreeBSD yokozuna 11.0-STABLE FreeBSD 11.0-STABLE #0 r314104: Thu Feb 23 08:17:42 CET 2017     root@yokozuna.lan:/usr/obj/usr/src/sys/YOKOZUNA  amd64


----------

