Rialto build break in libpayload: multiple definition of `video_console_init' |
||||||
Issue descriptionhttps://uberchromegw.corp.google.com/i/chromeos/builders/veyron_rialto-paladin/builds/979/steps/BuildPackages/logs/stdio depthcharge-0.0.1-r1498: LD depthcharge.elf.tmp depthcharge-0.0.1-r1498: /build/veyron_rialto/firmware/libpayload//bin/../lib/libpayload.a(video.libc.o): In function `video_console_init': depthcharge-0.0.1-r1498: /build/veyron_rialto/tmp/portage/sys-boot/libpayload-0.0.1-r2406/work/libpayload-0.0.1/payloads/libpayload/drivers/video/video.c:262: multiple definition of `video_console_init' depthcharge-0.0.1-r1498: /build/veyron_rialto/tmp/portage/sys-boot/depthcharge-0.0.1-r1498/work/depthcharge-0.0.1/build/vboot/callbacks/headless_stub.depthcharge.o:/build/veyron_rialto/tmp/portage/sys-boot/depthcharge-0.0.1-r1498/work/depthcharge-0.0.1/src/vboot/callbacks/headless_stub.c:60: first defined here depthcharge-0.0.1-r1498: collect2: error: ld returned 1 exit status It's blocking canary channel builds from building - https://cros-goldeneye.corp.google.com/console/listBuild?boards=veyron-rialto&milestone=53&chromeOsVersion=&chromeVersion=&startTimeFrom=&startTimeTo=#/ I think it was introduced in 8381.0.0 - this is the first build where I see this error https://crosland.corp.google.com/log/8380.0.0..8381.0.0
,
May 31 2016
Issue 616150 has been merged into this issue.
,
May 31 2016
A few days ago Julius cleaned up a bunch of the ebuilds in the firmware, one of those was rialto's config: https://chromium-review.googlesource.com/344950 Unfortunately rialto had a difference: https://chromium-review.googlesource.com/#/c/304072/2 So that cleanup wasn't a noop. What's the proper way to fix this? Just add the veyron_rialto file back? Is there a cleaner way (and more in line with what the other boards are doing?)
,
May 31 2016
Here's a quick workaround to unblock people who want to build_packages: amstan@cros:~/cros/src/third_party/chromiumos-overlay/sys-boot/libpayload/files (2f255c0...)% git checkout 982399bcd625ea58eb5787e9a93da65dc612748f
,
May 31 2016
> Just add the veyron_rialto file back? Does this work? If so, can you get that CL uploaded and in the review pipeline to fix the build? If there's a better fix it can be added later. Thanks
,
May 31 2016
Could you attach build/veyron_rialto/firmware/libpayload/libpayload.config? If VIDEO_CONSOLE is enabled in libpayload then it'll break for sure. CONFIG_HEADLESS is set for rialto in depthcharge. Those 2 will definitely cause issues in combination. I think this stems from the config changes landed by Julius. VIDEO_CONSOLE is selected by default in libpayload so if nothing is turning that off for rialto which expects HEADLESS then that would be it. However, I'm not sure what rialto is so I can't say which is the appropriate fix. Assuming depthcharge config is correct try the following: In src/third_party/chromiumos-overlay/sys-boot/libpayload cp files/configs/config.veyron to files/configs/config.veyron_rialto Then add the following line to the newly created file. # CONFIG_LP_VIDEO_CONSOLE is not set Just took a look at https://chromium-review.googlesource.com/344950 -- the veyron_rialto config does indeed have VIDEO_CONSOLE not set. So that seems to be the right answer.
,
May 31 2016
Agree with joth@. We need to get the PFQ fixed asap.
,
May 31 2016
BTW: I can repro this failure locally. Let me know if I provide anything useful (e.g., system log).
,
May 31 2016
>> Just add the veyron_rialto file back? > > Does this work? If so, can you get that CL uploaded and in the review pipeline to fix the build? If there's a better fix it can be added later. Here we go: https://chromium-review.googlesource.com/#/c/348376/
,
May 31 2016
,
Jun 1 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/699032a399cce20b940a52542d8b3b6092ec453d commit 699032a399cce20b940a52542d8b3b6092ec453d Author: Alexandru M Stan <amstan@chromium.org> Date: Tue May 31 21:23:30 2016 Reinstate custom libpayload config for veyron_rialto "libpayload: Minimalize config files" assumed that rialto was just directly inhereting from veyron, but we did have one small change: "veyron_rialto: Disable LP_VIDEO_CONSOLE" This CL restores the separate veyron_rialto config with the appropriate options. BUG= chromium:615730 TEST="emerge-veyron_rialto -j 4 depthcharge libpayload coreboot chromeos-bootimage" works Change-Id: I70f31d99373f440e13a249b0437df37187d87f58 Signed-off-by: Alexandru M Stan <amstan@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/348376 Commit-Ready: Alexandru Stan <amstan@chromium.org> Tested-by: Alexandru Stan <amstan@chromium.org> Reviewed-by: Xiaoqian Dai <xdai@chromium.org> [rename] https://crrev.com/699032a399cce20b940a52542d8b3b6092ec453d/sys-boot/libpayload/libpayload-0.0.1-r2410.ebuild [add] https://crrev.com/699032a399cce20b940a52542d8b3b6092ec453d/sys-boot/libpayload/files/configs/config.veyron_rialto
,
Jun 1 2016
Looks like everything is building now, thanks Alex & Julius for the quick fix https://uberchromegw.corp.google.com/i/chromeos/builders/veyron_rialto-paladin https://uberchromegw.corp.google.com/i/chromeos/builders/veyron_rialto-chrome-pfq/
,
Jul 1 2016
Bulk verified |
||||||
►
Sign in to add a comment |
||||||
Comment 1 by joth@chromium.org
, May 31 2016