Re: ld: error: bzlib.pico:147: unclosed quote
Date: Wed, 22 Dec 2021 01:51:59 UTC
On 2021-Dec-21, at 17:28, Mark Millard <marklmi@yahoo.com> wrote:
> On 2021-Dec-21, at 10:00, bob prohaska <fbsd@www.zefox.net> wrote:
>
>> A try at buildworld on a Pi4 from sources updated this morning stoped with
>>
>> Building /usr/obj/usr/src/arm64.aarch64/lib/libelf/elf_update.o
>> --- lib/libbz2__L ---
>> ld: error: bzlib.pico:147: unclosed quote
>> ld: error: compress.pico:108: unclosed quote
>> --- lib/libcom_err__L ---
>> Building /usr/obj/usr/src/arm64.aarch64/lib/libcom_err/libcom_err.so.5.debug
>> --- lib/libbz2__L ---
>> ld: error: decompress.pico: section header table goes past the end of the file: e_shoff = 0xc388
>> cc: error: linker command failed with exit code 1 (use -v to see invocation)
>
> Going in a different direction in this note: The
> "unclosed quote" messages seem to be from:
>
> contrib/llvm-project/lld/ELF/ScriptLexer.cpp
>
> in its:
>
> // Split S into linker script tokens.
> void ScriptLexer::tokenize(MemoryBufferRef mb) {
> std::vector<StringRef> vec;
> mbs.push_back(mb);
> StringRef s = mb.getBuffer();
> StringRef begin = s;
>
> for (;;) {
> s = skipSpace(s);
> if (s.empty())
> break;
>
> // Quoted token. Note that double-quote characters are parts of a token
> // because, in a glob match context, only unquoted tokens are interpreted
> // as glob patterns. Double-quoted tokens are literal patterns in that
> // context.
> if (s.startswith("\"")) {
> size_t e = s.find("\"", 1);
> if (e == StringRef::npos) {
> StringRef filename = mb.getBufferIdentifier();
> size_t lineno = begin.substr(0, s.data() - begin.data()).count('\n');
> error(filename + ":" + Twine(lineno + 1) + ": unclosed quote");
> return;
> }
> . . .
>
> code. That code suggests that bzlib.pico and compress.pico were
> being treated as linker scripts for some reason. (I've no clue
> why at this point.)
>
> Seeing some parts of the content of the related *.meta files
> might give a clue why, if you were using META_MODE.
>
I'll also note that:
https://ci.freebsd.org/job/FreeBSD-main-aarch64-build/
shows the most recent failed build as happening a little
under 6 days ago and lots of builds since then, including
10 or so builds each, both today and yesterday.
===
Mark Millard
marklmi at yahoo.com