amd64 -r321109 -> -r321371 buildworld update failed (spans clang 5 update); error: too few arguments provided to function-like macro invocation; , METAMODE and -j8 was used

Dimitry Andric dim at FreeBSD.org
Sun Jul 23 00:10:09 UTC 2017


On 23 Jul 2017, at 02:02, Mark Millard <markmi at dsl-only.net> wrote:
> 
> On 2017-Jul-22, at 4:50 PM, Dimitry Andric <dim at FreeBSD.org> wrote:
>> On 23 Jul 2017, at 01:32, Mark Millard <markmi at dsl-only.net> wrote:
>>> 
>>> My first attempt to update amd64 to a clang 5 based /usr/src
>>> failed ( -r321109 -> -r321371 ). Listing just the first
>>> error initially:
>>> 
>>> --- ToolDrivers/llvm-lib/LibDriver.o ---
>>> In file included from /usr/src/contrib/llvm/lib/ToolDrivers/llvm-lib/LibDriver.cpp:35:
>>> /usr/obj/amd64_clang/amd64.amd64/usr/src/lib/clang/libllvm/Options.inc:27:92: error: too few arguments provided to function-like macro invocation
>>> OPTION(prefix_0, "<input>", INPUT, Input, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr)
>>>                                                                                         ^
>>> /usr/src/contrib/llvm/lib/ToolDrivers/llvm-lib/LibDriver.cpp:34:9: note: macro 'OPTION' defined here
>>> #define OPTION(_1, _2, ID, _4, _5, _6, _7, _8, _9, _10, _11, _12) OPT_##ID,
>>>      ^
>> 
>> Yeah, I think this can happen with an incremental build, and if you
>> enable MK_CLANG_EXTRAS.  There was only one Options.inc file first, in
>> $WORLDTMP/usr/src/lib/clang/libllvm, but now there are two different
>> ones, under $WORLDTMP/usr/src/lib/clang/libllvm/llvm-lib and
>> $WORLDTMP/usr/src/lib/clang/libllvm/llvm-dlltool.  This is a rather
>> unfortunate change from upstream.
>> 
>> I'm unsure what to do here, maybe it is a good idea to explicitly rm
>> the incorrect file before make starts to search the directory.  Bryan,
>> any clues?  IIRC there were some other precedents where stale objects
>> could get in the way, and would have to be force-deleted before even
>> the depend stage?
> 
> I've done:
> 
> # mv /usr/obj/amd64_clang /usr/obj/amd64_clang_r321109_r321371
> 
> before starting a rebuild --in to preserve my
> failed-build context in case that record of
> the result of the attempt can help.

What you could try with the old objdir is:

rm /usr/obj/amd64_clang/amd64.amd64/usr/src/lib/clang/libllvm/Options.inc

then doing another incremental build.  I think that will work.

-Dimitry

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 223 bytes
Desc: Message signed with OpenPGP
URL: <http://lists.freebsd.org/pipermail/freebsd-toolchain/attachments/20170723/eb77c4b6/attachment.sig>


More information about the freebsd-toolchain mailing list