Building no-compile tests are broken on Linux
Reported by
ossy.sze...@gmail.com,
Dec 22 2016
|
|||
Issue descriptionUserAgent: Mozilla/5.0 (Windows NT 5.1; rv:50.0) Gecko/20100101 Firefox/50.0 Steps to reproduce the problem: build Chromium as usual after this git commit: 7a9a5838fe86ec2de95e61adb4cabe959663b8b2 What is the expected behavior? working build What went wrong? build log: FAILED: obj/base/base_nocompile_tests/bind_unittest_nc.o ../third_party/llvm-build/Release+Asserts/bin/clang++ -MMD -MF obj/base/base_nocompile_tests/bind_unittest_nc.o.d -DV8_DEPRECATION_WARNINGS -DUSE_UDEV -DUI_COMPOSITOR_IMAGE_TRANSPORT -DUSE_AURA=1 -DUSE_PANGO=1 -DUSE_CAIRO=1 -DUSE_GLIB=1 -DUSE_NSS_CERTS=1 -DUSE_X11=1 -DFULL_SAFE_BROWSING -DSAFE_BROWSING_CSD -DSAFE_BROWSING_DB_LOCAL -DCHROMIUM_BUILD -DENABLE_MEDIA_ROUTER=1 -DFIELDTRIAL_TESTING_ENABLED -DCR_CLANG_REVISION=289944-2 -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -DCOMPONENT_BUILD -D_DEBUG -DDYNAMIC_ANNOTATIONS_ENABLED=1 -DWTF_USE_DYNAMIC_ANNOTATIONS=1 -D_GLIBCXX_DEBUG=1 -DGTEST_HAS_POSIX_RE=0 -DGTEST_LANG_CXX11=1 -DUNIT_TEST -I.. -Igen -I../build/linux/debian_wheezy_amd64-sysroot/usr/include/glib-2.0 -I../build/linux/debian_wheezy_amd64-sysroot/usr/lib/x86_64-linux-gnu/glib-2.0/include -I../testing/gtest/include -fno-strict-aliasing --param=ssp-buffer-size=4 -fstack-protector -funwind-tables -fPIC -pipe -B../third_party/binutils/Linux_x64/Release/bin -fcolor-diagnostics -fdebug-prefix-map=/home/oszi/chromium/src=. -m64 -march=x86-64 -pthread -Wall -Werror -Wextra -Wno-missing-field-initializers -Wno-unused-parameter -Wno-c++11-narrowing -Wno-covered-switch-default -Wno-deprecated-register -Wno-unneeded-internal-declaration -Wno-inconsistent-missing-override -Wno-shift-negative-value -Wno-undefined-var-template -Wno-nonportable-include-path -Wno-address-of-packed-member -O0 -fno-omit-frame-pointer -g2 -gsplit-dwarf --sysroot=../build/linux/debian_wheezy_amd64-sysroot -fvisibility=hidden -Xclang -load -Xclang ../third_party/llvm-build/Release+Asserts/lib/libFindBadConstructs.so -Xclang -add-plugin -Xclang find-bad-constructs -Xclang -plugin-arg-find-bad-constructs -Xclang check-ipc -Wheader-hygiene -Wstring-conversion -Wtautological-overlap-compare -fno-threadsafe-statics -fvisibility-inlines-hidden -Wno-undefined-bool-conversion -Wno-tautological-undefined-compare -std=gnu++11 -fno-rtti -fno-exceptions -c gen/base/bind_unittest_nc.cc -o obj/base/base_nocompile_tests/bind_unittest_nc.o gen/base/bind_unittest_nc.cc:50:2: error: "NCTEST_DISALLOW_CAPTURING_LAMBDA Failed: Expectations [r'fatal error: implicit instantiation of undefined template 'base::internal::FunctorTraits<\(lambda at ../../base/bind_unittest.nc:[0-9]+:[0-9]+\), void>''] did not match output." #error "NCTEST_DISALLOW_CAPTURING_LAMBDA Failed: Expectations [r'fatal error: implicit instantiation of undefined template 'base::internal::FunctorTraits<\(lambda at ../../base/bind_unittest.nc:[0-9]+:[0-9]+\), void>''] did not match output." ^ gen/base/bind_unittest_nc.cc:51:2: error: "compile line: /home/oszi/chromium/src/tools/../third_party/llvm-build/Release+Asserts/bin/clang++ -Wall -Werror -Wfatal-errors -I../ -DNCTEST_DISALLOW_CAPTURING_LAMBDA -std=c++11 -o /dev/null -c -x c++ ../base/bind_unittest.nc" #error "compile line: /home/oszi/chromium/src/tools/../third_party/llvm-build/Release+Asserts/bin/clang++ -Wall -Werror -Wfatal-errors -I../ -DNCTEST_DISALLOW_CAPTURING_LAMBDA -std=c++11 -o /dev/null -c -x c++ ../base/bind_unittest.nc" ^ gen/base/bind_unittest_nc.cc:52:2: error: "NCTEST_DISALLOW_CAPTURING_LAMBDA stderr:" #error "NCTEST_DISALLOW_CAPTURING_LAMBDA stderr:" ^ gen/base/bind_unittest_nc.cc:53:2: error: " In file included from ../base/bind_unittest.nc:10:" #error " In file included from ../base/bind_unittest.nc:10:" ^ gen/base/bind_unittest_nc.cc:54:2: error: " In file included from ../base/bind.h:8:" #error " In file included from ../base/bind.h:8:" ^ gen/base/bind_unittest_nc.cc:55:2: error: " ../base/bind_internal.h:372:16: fatal error: implicit instantiation of undefined template 'base::internal::FunctorTraits<(lambda at ../base/bind_unittest.nc:210:8), void>'" #error " ../base/bind_internal.h:372:16: fatal error: implicit instantiation of undefined template 'base::internal::FunctorTraits<(lambda at ../base/bind_unittest.nc:210:8), void>'" ^ gen/base/bind_unittest_nc.cc:56:2: error: " typename FunctorTraits<typename std::decay<Functor>::type>::RunType;" #error " typename FunctorTraits<typename std::decay<Functor>::type>::RunType;" ^ gen/base/bind_unittest_nc.cc:57:2: error: " ^" #error " ^" ^ gen/base/bind_unittest_nc.cc:58:2: error: " ../base/bind_internal.h:538:1: note: in instantiation of template class 'base::internal::MakeUnboundRunTypeImpl<(lambda at ../base/bind_unittest.nc:210:8)>' requested here" #error " ../base/bind_internal.h:538:1: note: in instantiation of template class 'base::internal::MakeUnboundRunTypeImpl<(lambda at ../base/bind_unittest.nc:210:8)>' requested here" ^ gen/base/bind_unittest_nc.cc:59:2: error: " using MakeUnboundRunType =" #error " using MakeUnboundRunType =" ^ gen/base/bind_unittest_nc.cc:60:2: error: " ^" #error " ^" ^ gen/base/bind_unittest_nc.cc:61:2: error: " ../base/bind.h:75:17: note: in instantiation of template type alias 'MakeUnboundRunType' requested here" #error " ../base/bind.h:75:17: note: in instantiation of template type alias 'MakeUnboundRunType' requested here" ^ gen/base/bind_unittest_nc.cc:62:2: error: " inline Callback<MakeUnboundRunType<Functor, Args...>>" #error " inline Callback<MakeUnboundRunType<Functor, Args...>>" ^ gen/base/bind_unittest_nc.cc:63:2: error: " ^" #error " ^" ^ gen/base/bind_unittest_nc.cc:64:2: error: " ../base/bind_unittest.nc:210:3: note: while substituting deduced template arguments into function template 'Bind' [with Functor = (lambda at ../base/bind_unittest.nc:210:8), Args = <>]" #error " ../base/bind_unittest.nc:210:3: note: while substituting deduced template arguments into function template 'Bind' [with Functor = (lambda at ../base/bind_unittest.nc:210:8), Args = <>]" ^ gen/base/bind_unittest_nc.cc:65:2: error: " Bind([i]() {});" #error " Bind([i]() {});" ^ gen/base/bind_unittest_nc.cc:66:2: error: " ^" #error " ^" ^ gen/base/bind_unittest_nc.cc:67:2: error: " ../base/bind_internal.h:134:8: note: template is declared here" #error " ../base/bind_internal.h:134:8: note: template is declared here" ^ gen/base/bind_unittest_nc.cc:68:2: error: " struct FunctorTraits;" #error " struct FunctorTraits;" ^ fatal error: too many errors emitted, stopping now [-ferror-limit=] 20 errors generated. ninja: build stopped: subcommand failed. Did this work before? N/A Chrome version: Channel: n/a OS Version: Flash Version:
,
Dec 23 2016
Thanks for reporting this bug! I think the root cause is that we assumed the output directory to be two levels down, like "out/Debug". In this case, it's only one level down, and I can reproduce it this way. I'll revise the regex and land it again.
,
Dec 23 2016
,
Dec 23 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/58b75f59f1ba2d7c658be97ac0fe04b13c152dd6 commit 58b75f59f1ba2d7c658be97ac0fe04b13c152dd6 Author: wychen <wychen@chromium.org> Date: Fri Dec 23 07:08:44 2016 Do not assume output dir is two levels down in no-compile tests BUG= 676649 Review-Url: https://codereview.chromium.org/2600443003 Cr-Commit-Position: refs/heads/master@{#440595} [modify] https://crrev.com/58b75f59f1ba2d7c658be97ac0fe04b13c152dd6/base/bind_unittest.nc
,
Dec 23 2016
|
|||
►
Sign in to add a comment |
|||
Comment 1 by wychen@chromium.org
, Dec 23 2016