dotnet / corert

This repo contains CoreRT, an experimental .NET Core runtime optimized for AOT (ahead of time compilation) scenarios, with the accompanying compiler toolchain.
http://dot.net
MIT License
2.91k stars 510 forks source link

"The input line is too long" during build #8359

Open kant2002 opened 3 years ago

kant2002 commented 3 years ago

When I build CoreRT from command line in x64 dev command line there error after some time

>build.cmd
Doing a clean build

Could Not Find D:\d\kant\GitHub\dotnet\corert\bin\Logs\*_Windows_NT__x64__Debug.*
Checking pre-requisites...

Commencing CoreRT Repo build

Commencing build of native components for Windows_NT.x64.Debug

The input line is too long.
The syntax of the command is incorrect.

My prior experience suggest that this is happens during call of

"C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\\VC\Auxiliary\Build\vcvarsall.bat" x86_amd64

This is happens IIRC due to long PATH variable.

kant2002 commented 3 years ago

To troubleshoot issue I set set VSCMD_DEBUG=3 in command prompt to see where error happens. After being tired to cleanup of the PATH variable, I just skip tests by running build.cmd skiptests. These tests can run separately

MichalStrehovsky commented 3 years ago

We're in the process of moving the repo to runtimelab (https://github.com/dotnet/runtimelab/tree/feature/NativeAOT). The way tests are run will be different there (it will align with how CoreCLR tests are built/run).

(Let's not spend time trying to fix this.)

You can already build things out of that repo/branch - e.g. to get the nuget packages, run build.cmd nativeaot+libraries+installer -c Release. We just don't have Nuget publishing yet, so in waiting more right now.

kant2002 commented 3 years ago

Thanks. I just document what issue I do have and how I troubleshoot. That definitely can help somebody even if for only month. Will try with runtimelab repo steps. What is proper way to document building on that repo?

MichalStrehovsky commented 3 years ago

Yep, I just wanted to make sure somebody doesn't pick this issue up and work on fixing it, because it's rearranging deck chairs on the Titanic. We're not bringing over the test/build system.

We don't have docs on how to work in the runtimelab NativeAOT branch yet. It's mostly the same workflow as CoreCLR, with extra arguments passed to scripts here and there.