Can't compile www/node on rpi2
bob prohaska
fbsd at www.zefox.net
Tue Mar 26 02:15:57 UTC 2019
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 at freebsd.org
> _______________________________________________
> freebsd-ports at freebsd.org mailing list
> https://lists.freebsd.org/mailman/listinfo/freebsd-ports
> To unsubscribe, send any mail to "freebsd-ports-unsubscribe at freebsd.org"
More information about the freebsd-ports
mailing list