Jenkins build is still unstable: FreeBSD_HEAD #564

Bryan Drewery bdrewery at FreeBSD.org
Mon Aug 29 18:11:31 UTC 2016


On 8/29/2016 11:10 AM, Ngie Cooper (yaneurabeya) wrote:
> 
>> On Aug 29, 2016, at 11:04, Ngie Cooper (yaneurabeya) <yaneurabeya at gmail.com> wrote:
>>
>>>
>>> On Aug 29, 2016, at 11:02, Ngie Cooper (yaneurabeya) <yaneurabeya at gmail.com> wrote:
>>>
>>>>
>>>> On Aug 29, 2016, at 11:00, Bryan Drewery <bdrewery at FreeBSD.org> wrote:
>>>>
>>>> On 8/29/2016 10:58 AM, Ngie Cooper (yaneurabeya) wrote:
>>>>> (-bdrewery)
>>>>>
>>>>>> On Aug 29, 2016, at 10:52, Li-Wen Hsu <lwhsu at FreeBSD.org> wrote:
>>>>>>
>>>>>> I guess the quickest way is boot that VM, cd to
>>>>>> /usr/tests/lib/atf/libatf-c++ and run `kyua test atf_c++_test`
>>>>>> However I am not sure this provides enough information because stuff
>>>>>> under /usr/tests/lib/atf/libatf-c++ are all binary files.
>>>>>>
>>>>>> FWIW, I would like to know, should these -target, --sysroot and -B flages be
>>>>>> given when compiling a normal program in a normal time?  In this test
>>>>>> case, kyua just wanted to compile test.cpp which includes sstream, it's
>>>>>> not during buildworld/buildkernel time, so files under /usr/obj
>>>>>> should not be used.
>>>>>
>>>>> I’m actively working on this right now. If I can’t resolve it soon, I’ll file a bug, mark it as an expected failure, and we can work on fixing the issue with a bit more leisure.
>>>>>
>>>>> It’s not a cross-compiler problem — something changed recently (likely in clang/libc++) that’s causing this problem, and it might just be an existing bug that was triggered by that change..
>>>>>
>>>>
>>>> What changed recently is that buildworld now always uses --sysroot for
>>>> Clang, and --sysroot,-isystem,-B,-L for GCC.
>>>
>>> Ok. I’m not fully convinced that that’s the problem yet. Will drill down into the issue in the next half hour and will post a bug with my findings.
>>
>> Oh wait. Damn… I see the --sysroot line in the compilation output from the test. Crap… that’s not going to work.
> 
> 	Ok, found a likely culprit: lib/clang/include/clang/Config/config.h. DEFAULT_SYSROOT’s probably being stored in the compiler, somehow…
> Cheers,
> -Ngie
> 
> 24 /* Default <path> to all compiler invocations for --sysroot=<path>. */
> 25 /* #undef DEFAULT_SYSROOT */
> 
> $ grep -r DEFAULT_SYSROOT lib/clang/
> lib/clang/include/clang/Config/config.h:/* #undef DEFAULT_SYSROOT */
> lib/clang/clang.build.mk:               -DDEFAULT_SYSROOT=\"${TOOLS_PREFIX}\”
> $ cc -print-search-dirs
> programs: =/usr/bin
> libraries: =/usr/bin/../lib/clang/3.8.0:/usr/lib
> 

No, that's only used for the bootstrap compiler.  The target compiler
doesn't get it.  None of that logic changed.

-- 
Regards,
Bryan Drewery

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 473 bytes
Desc: OpenPGP digital signature
URL: <http://lists.freebsd.org/pipermail/freebsd-testing/attachments/20160829/f2fb19db/attachment.sig>


More information about the freebsd-testing mailing list