Fix host packages to work with libc++ |
||||||||||
Issue descriptionWe want to to switch all host SDK packages to be built with libc++ as part of libc++ migration. CLS required: 1. https://chromium-review.googlesource.com/c/574646/ 2. https://chromium-review.googlesource.com/c/509896/ 3. https://chromium-review.googlesource.com/c/510029/ 4. https://chromium-review.googlesource.com/c/578137/
,
Jul 20 2017
Current status: Did a try build on chromiumos-sdk (https://uberchromegw.corp.google.com/i/chromiumos.tryserver/builders/chromiumos-sdk/builds/2396). InitSDK stage failed but fail rate is low :). Pending 19/491, 7 Packages failed: dev-libs/dbus-c++-0.0.2-r59 dev-libs/nss-3.30.2-r1 dev-util/ragel-6.7-r2 app-emulation/qemu-2.6.0 chromeos-base/google-breakpad-2017.02.12.185156-r118 dev-embedded/tegrarcm-1.6 chromeos-base/libbrillo-0.0.1-r716 This means, 491 - 7 failed - 19 pending = 465 packages were successfully built with libc++. Not all packages use C++ but low number of failed packages is promising.
,
Jul 20 2017
,
Jul 21 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/third_party/dbus-cplusplus/+/ccb37a514aa1d0ea1604dbc9ad290491a1e65832 commit ccb37a514aa1d0ea1604dbc9ad290491a1e65832 Author: Manoj Gupta <manojgupta@google.com> Date: Fri Jul 21 06:57:28 2017 dbus-c++: Rename to_string to make_string to build with libc++. Source files have an using namespace std; So the to_string function conflicts with std::to_string function. Rename it to make_string to avoid compilation errors with libc++. generate_stubs.cpp:90:17: error: call to 'to_string' is ambiguous ("argin" + to_string(i)) : legalize(arg_name); ^~~~~~~~~ /usr/bin/../include/c++/v1/string:3881:25: note: candidate function _LIBCPP_FUNC_VIS string to_string(unsigned __val); ^ ./generator_utils.h:38:13: note: candidate function std::string to_string(unsigned int v); BUG= chromium:747030 TEST=sudo emerge dbus-c++ works with libc++ enabled. Change-Id: I09a058b9bc83c70b4caab9a57ee2d74ff02ba320 Reviewed-on: https://chromium-review.googlesource.com/580330 Commit-Ready: Manoj Gupta <manojgupta@chromium.org> Tested-by: Manoj Gupta <manojgupta@chromium.org> Reviewed-by: Ben Chan <benchan@chromium.org> Reviewed-by: Mike Frysinger <vapier@chromium.org> [modify] https://crrev.com/ccb37a514aa1d0ea1604dbc9ad290491a1e65832/tools/generator_utils.cpp [modify] https://crrev.com/ccb37a514aa1d0ea1604dbc9ad290491a1e65832/tools/generator_utils.h [modify] https://crrev.com/ccb37a514aa1d0ea1604dbc9ad290491a1e65832/tools/generate_stubs.cpp
,
Jul 23 2017
,
Jul 23 2017
,
Jul 23 2017
,
Jul 23 2017
,
Jul 25 2017
,
Jul 27 2017
,
Jul 27 2017
Only two host packages, dev-util/grpc and qemu, need to be fixed.
,
Aug 2 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/444b343f4d6ae6e402443cc8b2e100fcc8d225fb commit 444b343f4d6ae6e402443cc8b2e100fcc8d225fb Author: Manoj Gupta <manojgupta@google.com> Date: Wed Aug 02 19:47:47 2017 libcxx/libcxxabi: Fix dependency on sys-devel/llvm for host build. libcxxabi: libcxxabi does not specify llvm as its dependency. This results in libcxxabi getting built ahead of llvm in chromiumos-sdk builder. The build fails and succeeds after a retry after llvm is built. Avoid the portage build error by adding llvm dependency. libcxx: Make the sys-devel/llvm dependency in libcxx conditional on cros_host. BUG= chromium:747030 BUG= chromium:714628 TEST=equery d sys-devel/llvm shows libcxxabi. TEST=emerge libcxxbi pulls in llvm if not installed. TEST=verified that cros_host is listed in libcxx/libcxxabi USE flags in emerge. Change-Id: I1bd6778f5f1756e93367e82ac75ba18486c19f0a Reviewed-on: https://chromium-review.googlesource.com/595187 Commit-Ready: Manoj Gupta <manojgupta@chromium.org> Tested-by: Manoj Gupta <manojgupta@chromium.org> Reviewed-by: Mike Frysinger <vapier@chromium.org> [rename] https://crrev.com/444b343f4d6ae6e402443cc8b2e100fcc8d225fb/sys-libs/libcxx/libcxx-4.0.0-r7.ebuild [modify] https://crrev.com/444b343f4d6ae6e402443cc8b2e100fcc8d225fb/sys-libs/libcxxabi/libcxxabi-9999.ebuild
,
Aug 17 2017
,
Sep 21 2017
All host packages now work (some are forced to use libstdc++) when libc++ is default. |
||||||||||
►
Sign in to add a comment |
||||||||||
Comment 1 by manojgupta@chromium.org
, Jul 20 2017