deplinenoise / tundra

Tundra is a code build system that tries to be accurate and fast for incremental builds
MIT License
438 stars 75 forks source link

Running out of command line debug record space #270

Closed lundmark closed 8 years ago

lundmark commented 8 years ago

I manage to get the following error: cl : Command line error D8049: cannot execute 'D:\Program Files (x86)\Microsoft Visual Studio 12.0\vc\bin\amd64\c1xx.dll': command line is too long to fit in debug record

When building.

It's obvious that I seem to run out of command-line space - but I'm not sure to why. Sure I have a lot of libraries that I'm trying to link together, but there must be some way to walk around it? Or is there any way to debug this in a decent manner? I guess I can try to merge libraries but I'd rather not do that, and to be honest it's not that many (just above 20) and I was expecting to be able to support a lot more.

deplinenoise commented 8 years ago

Have you hacked the tool files at all? Tundra is supposed to use response files to avoid this problem.

Can you run with -v and paste the output here?

lundmark commented 8 years ago

Hi,

We just figured out the issue. You wouldn't want to see the -v since it's 8k long ;)

The issue is originally because of https://github.com/deplinenoise/tundra/issues/44 and https://github.com/deplinenoise/tundra/issues/230 - dependencies doesn't propagate upwards the chain for static libraries / obj groups. So we had written a way that when we generate our static libraries / obj groups, we basically apply those dependency-propagations ourselves. That solution did not look if the include-path/libs/environment variables etc already existed, so the topmost dependency could get up to 20 includes for a base-library that everybody was depending on.