Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 25 Mar 2019 19:14:59 -0700
From:      bob prohaska <fbsd@www.zefox.net>
To:        "Bradley T. Hughes" <bhughes@freebsd.org>
Cc:        freebsd-ports@freebsd.org
Subject:   Re: Can't compile www/node on rpi2
Message-ID:  <20190326021459.GA87373@www.zefox.net>
In-Reply-To: <c2fd7325-ad2e-afbb-4f5b-3223e530d6d3@freebsd.org>
References:  <20190323213940.GA74509@www.zefox.net> <c2fd7325-ad2e-afbb-4f5b-3223e530d6d3@freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On Mon, Mar 25, 2019 at 10:23:26PM +0100, Bradley T. Hughes wrote:
> Hi Bob!
> 
> On 2019-03-23 22:39, bob prohaska wrote:
> > Recent attempts to compile www/node using 11-Stable on an rpi2
> > fail with
> > ../src/node_file.cc:2023:15: error: use of undeclared identifier 'uv_fs_lchown'
> >                uv_fs_lchown, *path, uid, gid);
> >                ^
> > ../src/node_file.cc:2029:14: error: use of undeclared identifier 'uv_fs_lchown'
> >               uv_fs_lchown, *path, uid, gid);
> > followed by many more errors in the same vein.
> 
> I build www/node on i386, amd64, and arm64 before committing version 

Not sure it matters, but this is armv7 on a Pi2, not arm64.

> bumps in the hopes that I can build failures like this. I haven't seen 
> this one before, though, but from the error, I have to ask which version 
> of devel/libuv you have installed? If you don't have the latest, can yo 
> upgrade devel/libuv first and try again?
> 
Looks like the existing version of libuv was libuv-1.20.3, now it's
up to libuv-1.27.0 but not still fails to build:

In file included from ../src/node_http2.cc:5:
../src/node_http2.h:707:15: error: unknown type name 'nghttp2_origin_entry'; did you mean
      'nghttp2_settings_entry'?
  void Origin(nghttp2_origin_entry* ov, size_t count);
              ^~~~~~~~~~~~~~~~~~~~
              nghttp2_settings_entry
/usr/local/include/nghttp2/nghttp2.h:1068:3: note: 'nghttp2_settings_entry' declared here
} nghttp2_settings_entry;
  ^
In file included from ../src/node_http2.cc:5:
../src/node_http2.h:1238:3: error: unknown type name 'nghttp2_origin_entry'; did you mean
      'nghttp2_settings_entry'?
  nghttp2_origin_entry* operator*() {
  ^~~~~~~~~~~~~~~~~~~~
  nghttp2_settings_entry
/usr/local/include/nghttp2/nghttp2.h:1068:3: note: 'nghttp2_settings_entry' declared here
} nghttp2_settings_entry;
  ^
In file included from ../src/node_http2.cc:5:
../src/node_http2.h:1239:29: error: unknown type name 'nghttp2_origin_entry'; did you mean
      'nghttp2_settings_entry'?
    return reinterpret_cast<nghttp2_origin_entry*>(*buf_);
                            ^~~~~~~~~~~~~~~~~~~~
                            nghttp2_settings_entry
/usr/local/include/nghttp2/nghttp2.h:1068:3: note: 'nghttp2_settings_entry' declared here
} nghttp2_settings_entry;
  ^
../src/node_http2.cc:119:62: error: use of undeclared identifier 'NGHTTP2_ORIGIN'
    nghttp2_option_set_builtin_recv_extension_type(options_, NGHTTP2_ORIGIN);
                                                             ^
../src/node_http2.cc:224:3: error: use of undeclared identifier 'NGHTTP2_SETTINGS_ENABLE_CONNECT_PROTOCOL'; did
      you mean 'IDX_SETTINGS_ENABLE_CONNECT_PROTOCOL'?
  GRABSETTING(ENABLE_CONNECT_PROTOCOL, "enable connect protocol");
  ^
../src/node_http2.cc:215:33: note: expanded from macro 'GRABSETTING'
        nghttp2_settings_entry {NGHTTP2_SETTINGS_##N, val};                   \
                                ^
<scratch space>:7:1: note: expanded from here
NGHTTP2_SETTINGS_ENABLE_CONNECT_PROTOCOL
^
../src/node_http2_state.h:18:5: note: 'IDX_SETTINGS_ENABLE_CONNECT_PROTOCOL' declared here
    IDX_SETTINGS_ENABLE_CONNECT_PROTOCOL,
    ^
../src/node_http2.cc:280:21: error: use of undeclared identifier 'NGHTTP2_SETTINGS_ENABLE_CONNECT_PROTOCOL'
      fn(**session, NGHTTP2_SETTINGS_ENABLE_CONNECT_PROTOCOL);
                    ^
../src/node_http2.cc:426:43: error: unknown type name 'nghttp2_origin_entry'; did you mean
      'nghttp2_settings_entry'?
  buf_.AllocateSufficientStorage((alignof(nghttp2_origin_entry) - 1) +
                                          ^~~~~~~~~~~~~~~~~~~~
                                          nghttp2_settings_entry
/usr/local/include/nghttp2/nghttp2.h:1068:3: note: 'nghttp2_settings_entry' declared here
} nghttp2_settings_entry;
  ^
../src/node_http2.cc:427:50: error: unknown type name 'nghttp2_origin_entry'; did you mean
      'nghttp2_settings_entry'?
                                 count_ * sizeof(nghttp2_origin_entry) +
                                                 ^~~~~~~~~~~~~~~~~~~~
                                                 nghttp2_settings_entry
/usr/local/include/nghttp2/nghttp2.h:1068:3: note: 'nghttp2_settings_entry' declared here
} nghttp2_settings_entry;
  ^
../src/node_http2.cc:433:23: error: unknown type name 'nghttp2_origin_entry'; did you mean
      'nghttp2_settings_entry'?
              alignof(nghttp2_origin_entry)));
                      ^~~~~~~~~~~~~~~~~~~~
                      nghttp2_settings_entry
/usr/local/include/nghttp2/nghttp2.h:1068:3: note: 'nghttp2_settings_entry' declared here
} nghttp2_settings_entry;
  ^
../src/node_http2.cc:434:52: error: unknown type name 'nghttp2_origin_entry'; did you mean
      'nghttp2_settings_entry'?
  char* origin_contents = start + (count_ * sizeof(nghttp2_origin_entry));
                                                   ^~~~~~~~~~~~~~~~~~~~
                                                   nghttp2_settings_entry
/usr/local/include/nghttp2/nghttp2.h:1068:3: note: 'nghttp2_settings_entry' declared here
} nghttp2_settings_entry;
  ^
../src/node_http2.cc:435:3: error: unknown type name 'nghttp2_origin_entry'; did you mean
      'nghttp2_settings_entry'?
  nghttp2_origin_entry* const nva =
  ^~~~~~~~~~~~~~~~~~~~
  nghttp2_settings_entry
/usr/local/include/nghttp2/nghttp2.h:1068:3: note: 'nghttp2_settings_entry' declared here
} nghttp2_settings_entry;
  ^
../src/node_http2.cc:436:24: error: unknown type name 'nghttp2_origin_entry'; did you mean
      'nghttp2_settings_entry'?
      reinterpret_cast<nghttp2_origin_entry*>(start);
                       ^~~~~~~~~~~~~~~~~~~~
                       nghttp2_settings_entry
/usr/local/include/nghttp2/nghttp2.h:1068:3: note: 'nghttp2_settings_entry' declared here
} nghttp2_settings_entry;
  ^
../src/node_http2.cc:452:14: error: no member named 'origin' in 'nghttp2_settings_entry'
      nva[0].origin = &zero;
      ~~~~~~ ^
../src/node_http2.cc:453:14: error: no member named 'origin_len' in 'nghttp2_settings_entry'
      nva[0].origin_len = 1;
      ~~~~~~ ^
../src/node_http2.cc:458:12: error: no member named 'origin' in 'nghttp2_settings_entry'
    nva[n].origin = reinterpret_cast<uint8_t*>(p);
    ~~~~~~ ^
../src/node_http2.cc:459:12: error: no member named 'origin_len' in 'nghttp2_settings_entry'
    nva[n].origin_len = strlen(p);
    ~~~~~~ ^
../src/node_http2.cc:460:17: error: no member named 'origin_len' in 'nghttp2_settings_entry'
    p += nva[n].origin_len + 1;
         ~~~~~~ ^
../src/node_http2.cc:988:10: error: use of undeclared identifier 'NGHTTP2_ORIGIN'
    case NGHTTP2_ORIGIN:
         ^
../src/node_http2.cc:1420:3: error: unknown type name 'nghttp2_ext_origin'; did you mean 'nghttp2_extension'?
  nghttp2_ext_origin* origin = static_cast<nghttp2_ext_origin*>(ext.payload);
  ^~~~~~~~~~~~~~~~~~
  nghttp2_extension
/usr/local/include/nghttp2/nghttp2.h:1212:3: note: 'nghttp2_extension' declared here
} nghttp2_extension;
  ^
fatal error: too many errors emitted, stopping now [-ferror-limit=]
20 errors generated.
gmake[2]: *** [node_lib.target.mk:310: /usr/ports/www/node/work/node-v11.12.0/out/Release/obj.target/node_lib/src/node_http2.o] Error 1
rm 1b687832d0d5325e0f028eb9ee998f2ddb40c5da.intermediate 006727d66e9df5706757eb7214eab2cf3e431fac.intermediate 8749e4ad7d23dbb78b28a9e97ad8c2a615d7119d.intermediate
gmake[1]: *** [Makefile:100: node] Error 2
gmake[1]: Leaving directory '/usr/ports/www/node/work/node-v11.12.0'
*** Error code 1

Stop.
make: stopped in /usr/ports/www/node

Thanks for reading, I'd be pleased to try any experiments suggested.

bob prohaska 



> > Sources are at r345414, ports are at 496629, this has been
> > going on for some weeks now.
> > 

> > Is there a fix or workaround?
> 
> -- 
> Bradley T. Hughes
> bhughes@freebsd.org
> _______________________________________________
> freebsd-ports@freebsd.org mailing list
> https://lists.freebsd.org/mailman/listinfo/freebsd-ports
> To unsubscribe, send any mail to "freebsd-ports-unsubscribe@freebsd.org"



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20190326021459.GA87373>