|
Boost-Build : |
Subject: Re: [Boost-build] Error message: gcc.link.dll actions too long (max 102400):
From: Schweizer Werner (werner.schweizer_at_[hidden])
Date: 2011-07-07 04:06:40
Hi Jürgen,
thanks for your answer.
Jürgen Hunold wrote:
> Hi Werner,
>
> courtesy copy due to the long delay.
>
> On Friday, 1. July 2011 10:04:46 Schweizer Werner wrote:
>> I'm trying to use Boost.Build to build our existing project based
>> currently on make.
>>
>> In one library, containing many code-generated source files the
>> linking action fails due to the large list of object files.
>
> On Unix? I only encoutered this one on Windows.
SUSE Linux Enterprise Server 10 (x86_64)
gcc version 4.1.0 (SUSE Linux)
I tried to change "#define MAXLINE 102400 /* longest 'together' actions' */" in jam.h to "#define MAXLINE 202400 /* longest 'together' actions' */" and recompiled bjam.
But then the error message came from the os (bjam's message gone). This means: There is an OS limitation on the line length and it is correctly shielded by bjam.
And here you can see: my line length is longer than 102400.
find bin/gcc-4.1.0/debug/address-model-64/threading-multi -name "*.o" | wc -l
178435
>
>> In contrast to building with make the linker command line is blown up
>> in Boost.Build by the relative path names to every .o-file.
>>
>> With make we build directly in the directory, where the .o-files are.
>>
>> Is it possible with Boost.Build to also change into the directory
>> with the .o-files and execute the link command there with pure
>> object file names (path-part stripped off)?
>>
>> How can I do this?
>
> That I can't answer and it might be tricky.
>
I tried successfully by shortening the relative path by declaring the features "toolset", "threading", "address-model" and "variant" as incidental.
But this can't be the solution.
>> Or is there an other solution?
>
> Use response files. On gcc they are known as "linker input files".
>
> The attached patch works with gcc-4.6 and maybe all 4.x.
> Developed on windows, but works on Kubuntu 11.04.
> Feedback welcome.
> If this works for other, I can try to get this into Boost.Build.
>
I will see if I can try that.
> Yours,
>
> Jürgen
Cheers
Werner
Boost-Build list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk