Boost logo

Boost-Build :

Subject: Re: [Boost-build] Error message: 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

>> 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


Boost-Build list run by bdawes at, david.abrahams at, gregod at, cpdaniel at, john at