Issue metadata
Sign in to add a comment
|
Linker failed with unrecognized option '--fix-cortex-a53-843419' |
||||||||||||||||||||||||
Issue description
,
Jul 6
Seems like a bad CL in CQ (Maybe https://chromium-review.googlesource.com/c/chromiumos/overlays/portage-stable/+/1106817 ? . Doesn't look like a ToT issue. libintl-perl-1.200.0-r1: x86_64-pc-linux-gnu-clang -shared -O2 -pipe -Wl,-O2 -Wl,--as-needed -Wl,-O2 -Wl,--as-needed gettext_xs.o -Wl,-O1 -Wl,-O2 -Wl,--as-needed -Wl,--fix-cortex-a53-843419 -o ../blib/arch/auto/Locale/gettext_xs/gettext_xs.so \ libintl-perl-1.200.0-r1: \ libintl-perl-1.200.0-r1: libintl-perl-1.200.0-r1: /usr/x86_64-pc-linux-gnu/binutils-bin/2.27.0/ld.bfd.real: unrecognized option '--fix-cortex-a53-843419' libintl-perl-1.200.0-r1: /usr/x86_64-pc-linux-gnu/binutils-bin/2.27.0/ld.bfd.real: use the --help option for usage information libintl-perl-1.200.0-r1: clang-7: error: linker command failed with exit code 1 (use -v to see invocation) Failing package is libintl-perl which is not built in elm-release (https://cros-goldeneye.corp.google.com/chromeos/healthmonitoring/buildDetails?buildbucketId=8941727700933693104, https://logs.chromium.org/v/?s=chromeos%2Fbb%2Fchromeos%2Felm-paladin%2F6681%2F%2B%2Frecipes%2Fsteps%2FBuildPackages%2F0%2Fstdout) This package is forcing use of bfd linker somehow which does not support this option. The package should be fixed to not force the linker.
,
Jul 6
Another package started breaking at the same time with the same error, though: File-Spec-3.400.0: cp Cwd.pm blib/lib/Cwd.pm File-Spec-3.400.0: x86_64-pc-linux-gnu-clang -c -fno-strict-aliasing -pipe -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_FORTIFY_SOURCE=2 -O2 -pipe -DVERSION=\"3.40\" -DXS_VERSION=\"3.40\" -fPIC "-I/usr/lib64/perl5/5.24.0/x86_64-linux/CORE" Cwd.c File-Spec-3.400.0: rm -f blib/arch/auto/Cwd/Cwd.so File-Spec-3.400.0: x86_64-pc-linux-gnu-clang -shared -O2 -pipe -Wl,-O2 -Wl,--as-needed -Wl,-O2 -Wl,--as-needed Cwd.o -Wl,-O1 -Wl,-O2 -Wl,--as-needed -Wl,--fix-cortex-a53-843419 -o blib/arch/auto/Cwd/Cwd.so \ File-Spec-3.400.0: \ File-Spec-3.400.0: File-Spec-3.400.0: /usr/x86_64-pc-linux-gnu/binutils-bin/2.27.0/ld.bfd.real: unrecognized option '--fix-cortex-a53-843419' File-Spec-3.400.0: /usr/x86_64-pc-linux-gnu/binutils-bin/2.27.0/ld.bfd.real: use the --help option for usage information File-Spec-3.400.0: clang-7: error: linker command failed with exit code 1 (use -v to see invocation) I'm pretty certain that this is not texi2html.
,
Jul 6
File-Spec is also not built in elm-release. So this package also must be getting pulled in as some direct or indirect dependency.
,
Jul 6
elm-paladin you mean? I don't understand; it's in the build logs: https://logs.chromium.org/v/?s=chromeos%2Fbb%2Fchromeos%2Felm-paladin%2F6681%2F%2B%2Frecipes%2Fsteps%2FBuildPackages%2F0%2Fstdout
,
Jul 6
elm-release is the ToT I am referring to that doesn't have these packages. elm-paladin can not be ToT since it has unsubmitted changes which means these packages are getting pulled in via some CL in CQ. The current elm-paladin run is not building these packages https://luci-milo.appspot.com/buildbot/chromeos/elm-paladin/6682 Build_packages log -> https://logs.chromium.org/v/?s=chromeos%2Fbb%2Fchromeos%2Felm-paladin%2F6682%2F%2B%2Frecipes%2Fsteps%2FBuildPackages%2F0%2Fstdout. It now does not have these packages (File-Spec, libintl-perl) in the list of packages getting built. Probably the CL causing the problem was dropped out of this CQ run?
,
Jul 6
The flag -Wl,--fix-cortex-a53-843419 should only be applied to ARM boards, why is it used by the host compiler?
,
Jul 7
A release and CQ run have both run at ToT and passed since the first error. However, neither of the CL's that were in the failing run and not in the passing run could be the root cause of this. I'm lowering priority, retitling because this isn't a ToT breakage, and will investigate further on Monday. This is a mystery.
,
Jul 8
Pretty-sure that it is the combination of these 2 CLs : https://chromium-review.googlesource.com/c/chromiumos/overlays/portage-stable/+/1106817 https://chromium-review.googlesource.com/c/chromiumos/overlays/portage-stable/+/1115501 I launched elm-paladin tryjob with these 2 CLs and it failed. https://cros-goldeneye.corp.google.com/chromeos/healthmonitoring/buildDetails?buildbucketId=8941611365220816576 Underlying cause is host compiler is invoked with target build flags. I don't know about these packages and perl build system to root cause why the host compiler is invoked.
,
Jul 8
Ok, I dug into it a bit. Apparently, texi2html package is not need for targets and it is marked as provided. https://cs.corp.google.com/chromeos_public/src/third_party/chromiumos-overlay/profiles/targets/chromeos/package.provided?l=29 So adding app-text/texi2html-5.0 to this list should fix the problem since the unnecessary dependencies won't get pulled in for target builds.
,
Jul 9
That seems to have fixed it. Thanks so much for finding that! To document, here's the elm-paladin tryjob with the 4 CLs that's at time of writing has at least made it past BuildPackages. https://cros-goldeneye.corp.google.com/chromeos/healthmonitoring/buildDetails?buildbucketId=8941461851152611200
,
Jul 9
it doesn't apply currently since the real fix is to package.provided these, but perl packages are really bad at cross-compiling to the point where we don't support it. so if you're seeing perl packages being built for a board, something is broken even before that.
,
Jul 9
I definitely think package.provided would be worth a mention on the package upgrade guide, probably could have prevented this whole headache in the first place. I haven't looked at updating the documentation at all yet so I'd need someone to point me to the instructions for that, but I'd be happy to do it. About all I know about it right now is what I've learned about it here and the comment at the top of the file, though.
,
Jul 10
|
|||||||||||||||||||||||||
►
Sign in to add a comment |
|||||||||||||||||||||||||
Comment 1 by jclinton@chromium.org
, Jul 6