Community
cancel
Showing results for 
Search instead for 
Did you mean: 
Highlighted
17 Views

Is there a 4GB limit for Linux static libraries using IPO?

Linking against a static library > 4GB with IPO results in the following error:

ipo: error #11062: BigLibrary.a is an archive, but has no symbols (this can happen if ar is used where xiar is needed)
icpc: error #10014: problem during multi-file optimization compilation (code 1)

The error is resolved with some refactoring to get the library under 4GB.

Is this an intrinsic limitation of the compiler or is there a workaround?

Using CentOS7 with icc (ICC) 19.0.4.243 20190416 and gcc (GCC) 7.3.1 20180303 (Red Hat 7.3.1-5) from devtoolset-7

0 Kudos
1 Reply
Highlighted
Moderator
17 Views

I discussed with a Developer and yes there is a size limit to create any static library, with IPO or not.  You can’t overrun the limit of the offset table in the archive.

IPO fake object files are generally much larger than regular objects, so overflowing the offset limit often more of a problem.

To get around, as you had, is to create a smaller library.

0 Kudos