ld.bfd.real: failed to set dynamic section sizes: Memory exhausted

ld.bfd.real: failed to set dynamic section sizes: Memory exhausted

Good day/night to all of you

In multiple builds of Thunderbird i am getting the

"ld.bfd.real: failed to set dynamic section sizes: Memory exhausted"

message. I thought it is because of the .ccache and first disabled and
then deleted the .ccache but after i did removed completely the
comm-central and complied again i see the same error again. Does anyone
have seen this before.

> Good day/night to all of you
>
> In multiple builds of Thunderbird i am getting the
>
> "ld.bfd.real: failed to set dynamic section sizes: Memory exhausted"
>
> message. I thought it is because of the .ccache and first disabled and
> then deleted the .ccache but after i did removed completely the
> comm-central and complied again i see the same error again. Does anyone
> have seen this before.

Since you're compiling on a 32-bit Linux machine, I would hazard that
you've exhausted the 3 GB address space. There are three remedies:
compile using the gold linker (which is more memory efficient),
cross-compile from 64-bit to 32-bit, or you can disable code you don't
intend to use (--disable-webrtc I think is the single biggest disable
you can do).

thank you for your mail. I have disabled testing and disabled webrtc i.e.:

ac_add_options –disable-webrtc
ac_add_options –enable-tests

the compilation was still not successful. I am still getting the exact
same error. What is interesting is that I have 8 gig of memory in my 32
bit system and I am using pae kernel. I do understand that even I am
using the pae kernel no process can address the whole 8 gig,
nevertheless can the linker really consume that much memory i.e. more
then ~3,8 gig? What I mean is I have tested the build 3 months ago on
three different machines one of which had only 4 gig installed, and then
I did not saw those problems with the memory consumption. I am looking
for a way to monitor the memory during the linkage i.e. something that
will supply history of the memory consumption. Someging like “free -m”
for every second in for the last 4 hours. Before writing my own script
if someone knows already the right way please let me know.

I was able to compile the source tree on a 64 bit Ubuntu with the same
.mozconfig successfully. The build was 64 bit i.e. no cross compilation.

Referring to the part where you mentioned “cross-compile from 64-bit to
32-bit” I am currently trying that on 64 bit machine with lots of
memory and quad core. Below is my .mozconfig. Could someone please
share the cross-compile .mozconfig for Thunderbird. Below is mine which
unfortunately worked out for me today i am still having troubles
installing some 32bit libraries.

> On 5/20/2013 2:27 AM, Tito wrote:
>> Good day/night to all of you
>>
>> In multiple builds of Thunderbird i am getting the
>>
>> "ld.bfd.real: failed to set dynamic section sizes: Memory exhausted"
>>
>> message. I thought it is because of the .ccache and first disabled and
>> then deleted the .ccache but after i did removed completely the
>> comm-central and complied again i see the same error again. Does anyone
>> have seen this before.
>
> Since you're compiling on a 32-bit Linux machine, I would hazard that
> you've exhausted the 3 GB address space. There are three remedies:
> compile using the gold linker (which is more memory efficient),
> cross-compile from 64-bit to 32-bit, or you can disable code you don't
> intend to use (--disable-webrtc I think is the single biggest disable
> you can do).
>

Warning: from time to time, using these options make break the build (if
some code changes in one of the features and the developer forgot to
test with the feature disabled). In that case, you'll need to find out
which --disable to remove.