New issue
Advanced search Search tips

Issue 837441 link

Starred by 3 users

Issue metadata

Status: Unconfirmed
Owner: ----
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux
Pri: 2
Type: Bug



Sign in to add a comment

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)
 
Cc: tfarina@chromium.org erikc...@chromium.org tommi@chromium.org
Not sure who the right owner would be, so +some folks who have touched libevent.
Cc: thomasanderson@chromium.org

Comment 3 by sl1pk...@gmail.com, May 6 2018

same error in 68.0.3418.2

Comment 4 by sl1pk...@gmail.com, 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

Comment 5 by sl1pk...@gmail.com, May 6 2018

also, i donk now if set PNACLPYTHON is for this scripts (setted in python2 in my system)

Comment 6 by sl1pk...@gmail.com, 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

Comment 7 by sl1pk...@gmail.com, 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

Comment 8 by sl1pk...@gmail.com, 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

Comment 9 by sl1pk...@gmail.com, May 8 2018

68.0.3423.2 is affected
The problem is most likely "libevent".  Chromium needs to be rebased on the newest libevent
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)

If you're on Arch, please provide the PKGBUILD so I can actually debug this.

Comment 14 by sl1pk...@gmail.com, May 26 2018

68.0.3438.3 still affected
68.0.3440.15 still affected

Comment 16 by sl1pk...@gmail.com, Jun 22 2018

69.0.3464.0 still affected
Components: Platform>NaCl
72.0.3595.2 still affected

Sign in to add a comment