via llvm-dev
2018-Nov-19 20:25 UTC
[llvm-dev] Ninja build (on Windows anyway) may be doing redundant work
This afternoon I did a clean build of llvm using ninja and MSVC 2015 on Windows 10. I saw something curious and wondered if any of the ninja or CMake experts out there can explain/fix it. [2663/3121] Linking CXX shared library bin\LTO.dll Creating library lib\LTO.dll and object lib\LTO.exp Creating library lib\LTO.dll and object lib\LTO.exp [3120/3121] Running the LLVM regression tests [[[ etc ]]] I'm curious about the "creating library" message popping out twice. Sometimes ninja builds will die on me, complaining about a corrupted object file, usually related to LTO. Rerunning ninja usually completes successfully. So I wonder if there's some mishap in the dependencies somewhere that actually causes the build to try to link the DLL twice, which of course might corrupt a file if the links are overlapping in time. Thought I'd throw this out there in case someone wants to take a look. --paulr
Zachary Turner via llvm-dev
2018-Nov-19 22:27 UTC
[llvm-dev] Ninja build (on Windows anyway) may be doing redundant work
+Nico Weber <thakis at google.com> On Mon, Nov 19, 2018 at 12:25 PM via llvm-dev <llvm-dev at lists.llvm.org> wrote:> This afternoon I did a clean build of llvm using ninja and MSVC 2015 on > Windows 10. I saw something curious and wondered if any of the ninja or > CMake experts out there can explain/fix it. > > [2663/3121] Linking CXX shared library bin\LTO.dll > Creating library lib\LTO.dll and object lib\LTO.exp > Creating library lib\LTO.dll and object lib\LTO.exp > [3120/3121] Running the LLVM regression tests > [[[ etc ]]] > > I'm curious about the "creating library" message popping out twice. > Sometimes ninja builds will die on me, complaining about a corrupted > object file, usually related to LTO. Rerunning ninja usually completes > successfully. So I wonder if there's some mishap in the dependencies > somewhere that actually causes the build to try to link the DLL twice, > which of course might corrupt a file if the links are overlapping in > time. > > Thought I'd throw this out there in case someone wants to take a look. > --paulr > > _______________________________________________ > LLVM Developers mailing list > llvm-dev at lists.llvm.org > http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev >-------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20181119/e90e5299/attachment.html>
Nico Weber via llvm-dev
2018-Nov-19 23:09 UTC
[llvm-dev] Ninja build (on Windows anyway) may be doing redundant work
Do you still see this if you use lld-link for linking? The "corrupt obj file" is something we saw on chrome's bots every now and then before we switched to lld. On Mon, Nov 19, 2018 at 5:27 PM Zachary Turner <zturner at google.com> wrote:> +Nico Weber <thakis at google.com> > > On Mon, Nov 19, 2018 at 12:25 PM via llvm-dev <llvm-dev at lists.llvm.org> > wrote: > >> This afternoon I did a clean build of llvm using ninja and MSVC 2015 on >> Windows 10. I saw something curious and wondered if any of the ninja or >> CMake experts out there can explain/fix it. >> >> [2663/3121] Linking CXX shared library bin\LTO.dll >> Creating library lib\LTO.dll and object lib\LTO.exp >> Creating library lib\LTO.dll and object lib\LTO.exp >> [3120/3121] Running the LLVM regression tests >> [[[ etc ]]] >> >> I'm curious about the "creating library" message popping out twice. >> Sometimes ninja builds will die on me, complaining about a corrupted >> object file, usually related to LTO. Rerunning ninja usually completes >> successfully. So I wonder if there's some mishap in the dependencies >> somewhere that actually causes the build to try to link the DLL twice, >> which of course might corrupt a file if the links are overlapping in >> time. >> >> Thought I'd throw this out there in case someone wants to take a look. >> --paulr >> >> _______________________________________________ >> LLVM Developers mailing list >> llvm-dev at lists.llvm.org >> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev >> >-------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20181119/db2d96c3/attachment.html>