Re: [gtk-list] Re: AIX gtk+-1.2.1 Build Problems



Olly Stephens wrote:
> 
> >   ld: 0711-781 ERROR: TOC overflow. TOC size: 78480  Maximum size: 65536
> 
> Try compiling the source with one of the TOC minimizing flags.
> Try first with -mno-fp-in-toc, then -mno-sum-in-toc, then both.
> Each should reduce the size of the TOC somewhat, and hopefully
> squeeze it into the 65536 maximum.
> 
> If no combination of these works, compile with -mminimal-toc.  This
> will definitely fit.

None of this will work.  AIX is an inferior operating system and
limited to a 16 bit address space in linked objects for global
variables.  If you're running AIX 4.1 or higher, the OS will now
support more than the 16 bit (64K) address space, but not really.
It does it through pointers out of the standard 16 bit address
space so you must link your programs manually with LD and the
-bbigtoc flag to get it to work correctly.  

Options such as -mno-fp-in-toc, -mno-sum-in-toc, and -mminimal-toc
will be of no help unless you have a large number of floating point
global variables.

Most GTK programs have a large number of (non-floating point) global
variables, these are what are causing the toc overflow on AIX.  I
was able to get GTK 1.2.0 to compile on AIX 4.2 by removing the test
app from the make file, as it was where the TOC overflow was occurring.
Most other GTK programs will not compile with out being broken apart
into shared libraries or specially linked - this includes gIDE and 
gEDIT as well as most others.  After splitting one of my own programs
into shared libraries and finding it to be unstable on AIX, I've been 
avoiding the platform.

I had a really hard time finding this information, but here's where
some scarce info turned up:
IBM Technical Questions
http://www.developer.ibm.com/library/aixpert/apr96/question.htm
AIX FAQ (Subject: 2.23)
http://www.uni-konstanz.de/misc/faqs/Computer/msg00041.html

	- VAB



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]