tags:

views:

33

answers:

1

I'm trying to compile my application on AIX. It builds fine on Linux, Solaris x86 and Windows but this is the first time we've tried to build on AIX. I've managed to get to the point of linking all of the libraries together and I get the error message: Linking... ld: 0711-101 FATAL ERROR: Allocation of 96864 bytes failed in routine get_RLDs. There is not enough memory available. Please check your ulimit or paging space or use local problem reporting procedures. collect2: ld returned 12 exit status

I've increased the page space by 1GB - no difference I've increased the ulimit values - no difference I've tried passing in the maxdata flag to the linker - no difference

Is there anything else I should be trying?

I'm not sure how to identify which library is causing the problem. We're trying to link statically against boost_date_time, xerces-c and libz and against 50 internal libraries. I can't change to dynamic linking and I can't change much about the structure of the system so I'm looking for ideas of configuration or parameters to try for ld.

+1  A: 

The problem turned out to be the ulimit on the data seg size. Apparently that was still set quite small. Making it bigger like: ulimit -d 1048575 allows the linker to get further. Now to just figure out what I do about all of these undefined symbols.

Jon