pNaCL(?) Fail build: ../../base/third_party/libevent/event-config.h:23:2: error: generate event-config.h for your platform
Reported by
sl1pk...@gmail.com,
Apr 26 2018
|
|||
Issue description
UserAgent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.10 Safari/537.36
Steps to reproduce the problem:
1. download 67.0.3396.18
2. enable nacl/pnacl
'enable_nacl=true'
'enable_nacl_nonsfi=true'
3. download nacl/pnacl libs with
build/download_nacl_toolchains.py --packages nacl_x86_newlib,pnacl_newlib,pnacl_translator sync --extract
3. start build
What is the expected behavior?
build ok
What went wrong?
fail build:
[32498/34741] ../../native_client/toolchain/linux_x86/pnacl_newlib/bin/pnacl-clang -MMD -MF newlib_pnacl_nonsfi/obj/base/third_party/libevent/libevent/evutil.o.d -DNACL_TC_REV=b48266b051f596802addff7c8d1fc6fb9cf6bea7 -DHAVE_CONFIG_H -DV8_DEPRECATION_WARNINGS -DNO_TCMALLOC -DFULL_SAFE_BROWSING -DSAFE_BROWSING_CSD -DSAFE_BROWSING_DB_LOCAL -DOFFICIAL_BUILD -DCHROMIUM_BUILD -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -DNDEBUG -DNVALGRIND -I../../base/third_party/libevent/nacl_nonsfi -I../../native_client/src/public/linux_syscalls -I../.. -Inewlib_pnacl_nonsfi/gen -fno-strict-aliasing -fmerge-all-constants -fcolor-diagnostics --pnacl-allow-translate -fomit-frame-pointer -fvisibility=hidden -Wno-unused-variable -Wno-missing-field-initializers -Wno-unused-parameter -Wno-c++11-narrowing -Wno-covered-switch-default -Wno-unneeded-internal-declaration -Wno-inconsistent-missing-override -std=gnu11 -c ../../base/third_party/libevent/evutil.c -o newlib_pnacl_nonsfi/obj/base/third_party/libevent/libevent/evutil.o
FAILED: newlib_pnacl_nonsfi/obj/base/third_party/libevent/libevent/evutil.o
../../native_client/toolchain/linux_x86/pnacl_newlib/bin/pnacl-clang -MMD -MF newlib_pnacl_nonsfi/obj/base/third_party/libevent/libevent/evutil.o.d -DNACL_TC_REV=b48266b051f596802addff7c8d1fc6fb9cf6bea7 -DHAVE_CONFIG_H -DV8_DEPRECATION_WARNINGS -DNO_TCMALLOC -DFULL_SAFE_BROWSING -DSAFE_BROWSING_CSD -DSAFE_BROWSING_DB_LOCAL -DOFFICIAL_BUILD -DCHROMIUM_BUILD -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -DNDEBUG -DNVALGRIND -I../../base/third_party/libevent/nacl_nonsfi -I../../native_client/src/public/linux_syscalls -I../.. -Inewlib_pnacl_nonsfi/gen -fno-strict-aliasing -fmerge-all-constants -fcolor-diagnostics --pnacl-allow-translate -fomit-frame-pointer -fvisibility=hidden -Wno-unused-variable -Wno-missing-field-initializers -Wno-unused-parameter -Wno-c++11-narrowing -Wno-covered-switch-default -Wno-unneeded-internal-declaration -Wno-inconsistent-missing-override -std=gnu11 -c ../../base/third_party/libevent/evutil.c -o newlib_pnacl_nonsfi/obj/base/third_party/libevent/libevent/evutil.o
In file included from ../../base/third_party/libevent/evutil.c:59:
In file included from ../../base/third_party/libevent/event.h:162:
../../base/third_party/libevent/event-config.h:23:2: error: generate event-config.h for your platform
#error generate event-config.h for your platform
^
In file included from ../../base/third_party/libevent/evutil.c:59:
In file included from ../../base/third_party/libevent/event.h:175:
In file included from ../../base/third_party/libevent/evutil.h:41:
../../base/third_party/libevent/event-config.h:23:2: error: generate event-config.h for your platform
#error generate event-config.h for your platform
^
In file included from ../../base/third_party/libevent/evutil.c:59:
In file included from ../../base/third_party/libevent/event.h:175:
../../base/third_party/libevent/evutil.h:68:2: error: "No way to define ev_uint64_t"
#error "No way to define ev_uint64_t"
^
../../base/third_party/libevent/evutil.h:80:2: error: "No way to define ev_uint32_t"
#error "No way to define ev_uint32_t"
^
../../base/third_party/libevent/evutil.h:92:2: error: "No way to define ev_uint16_t"
#error "No way to define ev_uint16_t"
^
../../base/third_party/libevent/evutil.h:165:1: error: unknown type name 'ev_int64_t'
ev_int64_t evutil_strtoll(const char *s, char **endptr, int base);
^
../../base/third_party/libevent/evutil.h:172:32: warning: declaration of 'struct timeval' will not be visible outside of this function [-Wvisibility]
int evutil_gettimeofday(struct timeval *tv, struct timezone *tz);
^
In file included from ../../base/third_party/libevent/evutil.c:59:
../../base/third_party/libevent/event.h:226:17: error: field has incomplete type 'struct timeval'
struct timeval ev_timeout;
^
../../base/third_party/libevent/event.h:226:9: note: forward declaration of 'struct timeval'
struct timeval ev_timeout;
^
../../base/third_party/libevent/event.h:1165:44: error: unknown type name 'ev_uint32_t'; did you mean '__uint32_t'?
void evtag_marshal(struct evbuffer *evbuf, ev_uint32_t tag, const void *data,
^~~~~~~~~~~
__uint32_t
/tmp/makepkg/chromium-dev/src/chromium-67.0.3396.18/native_client/toolchain/linux_x86/pnacl_newlib/le32-nacl/include/machine/_default_types.h:65:25: note: '__uint32_t' declared here
typedef __UINT32_TYPE__ __uint32_t;
^
In file included from ../../base/third_party/libevent/evutil.c:59:
../../base/third_party/libevent/event.h:1166:5: error: unknown type name 'ev_uint32_t'; did you mean '__uint32_t'?
ev_uint32_t len);
^~~~~~~~~~~
__uint32_t
/tmp/makepkg/chromium-dev/src/chromium-67.0.3396.18/native_client/toolchain/linux_x86/pnacl_newlib/le32-nacl/include/machine/_default_types.h:65:25: note: '__uint32_t' declared here
typedef __UINT32_TYPE__ __uint32_t;
^
In file included from ../../base/third_party/libevent/evutil.c:59:
../../base/third_party/libevent/event.h:1178:41: error: unknown type name 'ev_uint32_t'; did you mean '__uint32_t'?
void encode_int(struct evbuffer *evbuf, ev_uint32_t number);
^~~~~~~~~~~
__uint32_t
/tmp/makepkg/chromium-dev/src/chromium-67.0.3396.18/native_client/toolchain/linux_x86/pnacl_newlib/le32-nacl/include/machine/_default_types.h:65:25: note: '__uint32_t' declared here
typedef __UINT32_TYPE__ __uint32_t;
^
In file included from ../../base/third_party/libevent/evutil.c:59:
../../base/third_party/libevent/event.h:1180:48: error: unknown type name 'ev_uint32_t'; did you mean '__uint32_t'?
void evtag_marshal_int(struct evbuffer *evbuf, ev_uint32_t tag,
^~~~~~~~~~~
__uint32_t
/tmp/makepkg/chromium-dev/src/chromium-67.0.3396.18/native_client/toolchain/linux_x86/pnacl_newlib/le32-nacl/include/machine/_default_types.h:65:25: note: '__uint32_t' declared here
typedef __UINT32_TYPE__ __uint32_t;
^
In file included from ../../base/third_party/libevent/evutil.c:59:
../../base/third_party/libevent/event.h:1181:5: error: unknown type name 'ev_uint32_t'; did you mean '__uint32_t'?
ev_uint32_t integer);
^~~~~~~~~~~
__uint32_t
/tmp/makepkg/chromium-dev/src/chromium-67.0.3396.18/native_client/toolchain/linux_x86/pnacl_newlib/le32-nacl/include/machine/_default_types.h:65:25: note: '__uint32_t' declared here
typedef __UINT32_TYPE__ __uint32_t;
^
In file included from ../../base/third_party/libevent/evutil.c:59:
../../base/third_party/libevent/event.h:1183:49: error: unknown type name 'ev_uint32_t'; did you mean '__uint32_t'?
void evtag_marshal_string(struct evbuffer *buf, ev_uint32_t tag,
^~~~~~~~~~~
__uint32_t
/tmp/makepkg/chromium-dev/src/chromium-67.0.3396.18/native_client/toolchain/linux_x86/pnacl_newlib/le32-nacl/include/machine/_default_types.h:65:25: note: '__uint32_t' declared here
typedef __UINT32_TYPE__ __uint32_t;
^
In file included from ../../base/third_party/libevent/evutil.c:59:
../../base/third_party/libevent/event.h:1186:52: error: unknown type name 'ev_uint32_t'; did you mean '__uint32_t'?
void evtag_marshal_timeval(struct evbuffer *evbuf, ev_uint32_t tag,
^~~~~~~~~~~
__uint32_t
/tmp/makepkg/chromium-dev/src/chromium-67.0.3396.18/native_client/toolchain/linux_x86/pnacl_newlib/le32-nacl/include/machine/_default_types.h:65:25: note: '__uint32_t' declared here
typedef __UINT32_TYPE__ __uint32_t;
^
In file included from ../../base/third_party/libevent/evutil.c:59:
../../base/third_party/libevent/event.h:1189:43: error: unknown type name 'ev_uint32_t'; did you mean '__uint32_t'?
int evtag_unmarshal(struct evbuffer *src, ev_uint32_t *ptag,
^~~~~~~~~~~
__uint32_t
/tmp/makepkg/chromium-dev/src/chromium-67.0.3396.18/native_client/toolchain/linux_x86/pnacl_newlib/le32-nacl/include/machine/_default_types.h:65:25: note: '__uint32_t' declared here
typedef __UINT32_TYPE__ __uint32_t;
^
In file included from ../../base/third_party/libevent/evutil.c:59:
../../base/third_party/libevent/event.h:1191:40: error: unknown type name 'ev_uint32_t'; did you mean '__uint32_t'?
int evtag_peek(struct evbuffer *evbuf, ev_uint32_t *ptag);
^~~~~~~~~~~
__uint32_t
/tmp/makepkg/chromium-dev/src/chromium-67.0.3396.18/native_client/toolchain/linux_x86/pnacl_newlib/le32-nacl/include/machine/_default_types.h:65:25: note: '__uint32_t' declared here
typedef __UINT32_TYPE__ __uint32_t;
^
In file included from ../../base/third_party/libevent/evutil.c:59:
../../base/third_party/libevent/event.h:1192:47: error: unknown type name 'ev_uint32_t'; did you mean '__uint32_t'?
int evtag_peek_length(struct evbuffer *evbuf, ev_uint32_t *plength);
^~~~~~~~~~~
__uint32_t
/tmp/makepkg/chromium-dev/src/chromium-67.0.3396.18/native_client/toolchain/linux_x86/pnacl_newlib/le32-nacl/include/machine/_default_types.h:65:25: note: '__uint32_t' declared here
typedef __UINT32_TYPE__ __uint32_t;
^
In file included from ../../base/third_party/libevent/evutil.c:59:
../../base/third_party/libevent/event.h:1193:50: error: unknown type name 'ev_uint32_t'; did you mean '__uint32_t'?
int evtag_payload_length(struct evbuffer *evbuf, ev_uint32_t *plength);
^~~~~~~~~~~
__uint32_t
/tmp/makepkg/chromium-dev/src/chromium-67.0.3396.18/native_client/toolchain/linux_x86/pnacl_newlib/le32-nacl/include/machine/_default_types.h:65:25: note: '__uint32_t' declared here
typedef __UINT32_TYPE__ __uint32_t;
^
In file included from ../../base/third_party/libevent/evutil.c:59:
../../base/third_party/libevent/event.h:1196:49: error: unknown type name 'ev_uint32_t'; did you mean '__uint32_t'?
int evtag_unmarshal_int(struct evbuffer *evbuf, ev_uint32_t need_tag,
^~~~~~~~~~~
__uint32_t
/tmp/makepkg/chromium-dev/src/chromium-67.0.3396.18/native_client/toolchain/linux_x86/pnacl_newlib/le32-nacl/include/machine/_default_types.h:65:25: note: '__uint32_t' declared here
typedef __UINT32_TYPE__ __uint32_t;
^
fatal error: too many errors emitted, stopping now [-ferror-limit=]
1 warning and 20 errors generated.
Did this work before? N/A
Chrome version: 67.0.3396.10 Channel: n/a
OS Version: Archlinux
Flash Version:
Linux Archlinux
clang from bundled:
tools/clang/scripts/update.py --without-android
system glibc 2.27 (if help)
,
May 1 2018
,
May 6 2018
same error in 68.0.3418.2
,
May 6 2018
i think know what happen all native_client python scripts points to python, and in my system python = python3 seems need include in this bugreport all python scripts https://bugs.chromium.org/p/chromium/issues/detail?id=777069 for hardcode python2 or deseable, finnaly use python3 instead python2 i need check this greetings
,
May 6 2018
also, i donk now if set PNACLPYTHON is for this scripts (setted in python2 in my system)
,
May 6 2018
making python2 as system python gets same error my last shoot is change this (yes, is too ugly) #error generate event-config.h for your platform for this #include "base/third_party/libevent/nacl_nonsfi/event-config.h" in the file `third_party/libevent/event-config.h` seems __native_client_nonsfi__ is never defined
,
May 6 2018
with my last shoot is broken in other site. i'm sure the define __native_client_nonsfi__ is never declared because none of the ninja scripts point to it, only in headers and this python scripts native_client/pnacl/driver/pnacl-driver.py native_client/toolchain_build/pnacl_targetlibs.py native_client/toolchain/linux_x86/pnacl_newlib/bin/pydir/pnacl-driver.py
,
May 8 2018
└───╼ PNACLPYTHON=/usr/bin/python2 /tmp/makepkg/chromium-dev/src/chromium-68.0.3423.2/native_client/toolchain/linux_x86/pnacl_newlib/bin/pnacl-clang -dM -E - < /dev/null |grep native #define __VERSION__ "4.2.1 Compatible Clang 3.7.0 (https://chromium.googlesource.com/a/native_client/pnacl-clang.git e34aaa1fd835c13131bf82b16b768253e14e9247) (https://chromium.googlesource.com/a/native_client/pnacl-llvm.git 35bf8e609e9327e64730c23e0350e10208622063)" #define __clang_version__ "3.7.0 (https://chromium.googlesource.com/a/native_client/pnacl-clang.git e34aaa1fd835c13131bf82b16b768253e14e9247) (https://chromium.googlesource.com/a/native_client/pnacl-llvm.git 35bf8e609e9327e64730c23e0350e10208622063)" #define __native_client__ 1 PNACLPYTHON=/usr/bin/python2 /tmp/makepkg/chromium-dev/src/chromium-68.0.3423.2/native_client/toolchain/linux_x86/pnacl_newlib/bin/pnacl-clang -dM -E - < /dev/null |grep sfi the output is nothing
,
May 8 2018
68.0.3423.2 is affected
,
May 9 2018
The problem is most likely "libevent". Chromium needs to be rebased on the newest libevent
,
May 9 2018
the last change in base/third_party/libevent is over a year, and the chromium-dev build 67.0.3396.10, released 20 days ago, can able to build it without this problem so i'm not sure if is a libevent outdated like you said https://chromium.googlesource.com/chromium/src.git/+/master/base/third_party/libevent/event-config.h#8 talk about need '__native_client_nonsfi__' dafined, but pnacl-clang from b48266b051f596802addff7c8d1fc6fb9cf6bea7 not export this define (see the log posted in the first header, this call ../../native_client/toolchain/linux_x86/pnacl_newlib/bin/pnacl-clang)
,
May 16 2018
If you're on Arch, please provide the PKGBUILD so I can actually debug this.
,
May 16 2018
https://aur.archlinux.org/packages/chromium-dev/ You only need edit the line https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=chromium-dev#n306 Greetings
,
May 26 2018
68.0.3438.3 still affected
,
Jun 7 2018
68.0.3440.15 still affected
,
Jun 22 2018
69.0.3464.0 still affected
,
Nov 2
,
Nov 8
72.0.3595.2 still affected |
|||
►
Sign in to add a comment |
|||
Comment 1 by thomasanderson@chromium.org
, May 1 2018