[Insight-users] ERROR 104 Problems Compiling ITK on IRIX64 6.5

jclau at student.cs.uwaterloo.ca jclau at student.cs.uwaterloo.ca
Wed Jul 13 12:40:17 EDT 2005


Hi all,

After some playing around, I found that the solution to the ERROR 104 problem on
an IRIX64 6.5 is to include "-LD_LAYOUT:lgot_buffer=128" to your CXXFLAGS in the
ccmake utility.  Turns out someone had run into this problem before, but I had
been using the wrong search parameters to find the proper thread.

The compiler already hints at this solution by suggesting
"-LD_LAYOUT:lgot_buffer=20", but compiling with a value of 20 produces the same
errors.

These linking errors have to do with Global Offset Table (GOT) overflow and
occur on IRIX systems I think due to how they handle some aspects of linking and
building applications.  It seems that the LD_LAYOUT flag specifies options that
affect the layout of the object file on IRIX-based machines, such as lgot_buffer
which can be used to specify additional slots for each local GOT in a buffer. 
For whatever reason, the GOTs were running out of slots ;)

That's as far as I got on diagnosing the problem :P  Hope this helps in case
anyone runs into the problem in the future.

I do have a question stemming from this though -- would increasing the
got_buffer size (i.e. >128) affect the size of the resulting objects and
executables, or is the additional buffer simply used at compile-time and freed
as soon as that process is complete?

Jon

Quoting jclau at student.cs.uwaterloo.ca:

> Hi,
> 
> I am attempting to compile ITK on an SGI Octane2 (from cvs) using gcc/g++,
> with
> the following error messages (after "ccmake ." and during "gmake"):
> 
> ---begin Error Message
> 
> data/aces/aces1/lau/itk_bin/Testing/Code/Numerics/Statistics: building
> default_target
> Building executable /data/aces/aces1/lau/itk_bin/bin/itkStatisticsTests...
> ld32: WARNING 84 : /data/aces/aces1/lau/itk_bin/bin/libitkgdcm.a is not used
> for
> resolving any symbol.
> ld32: WARNING 84 : /data/aces/aces1/lau/itk_bin/bin/libitkjpeg12.a is not
> used
> for resolving any symbol.
> ld32: WARNING 84 : /data/aces/aces1/lau/itk_bin/bin/libitkjpeg16.a is not
> used
> for resolving any symbol.
> ld32: WARNING 84 : /data/aces/aces1/lau/itk_bin/bin/libITKEXPAT.a is not
> used
> for resolving any symbol.
> ld32: WARNING 84 : /data/aces/aces1/lau/itk_bin/bin/libITKCommon.a is not
> used
> for resolving any symbol.
> ld32: WARNING 84 : /data/aces/aces1/lau/itk_bin/bin/libitkvnl_inst.a is not
> used
> for resolving any symbol.
> ld32: WARNING 84 : /data/aces/aces1/lau/itk_bin/bin/libitkvcl.a is not used
> for
> resolving any symbol.
> ld32: WARNING 47 : This module (itkStatisticsTests.o .text) contains branch
> instruction(s)
>         that might degrade performance on an older version (rev. 2.2) R4000
> processor.
> ld32: INFO    171: Multigot invoked. Gp relative region broken up into 2
> separate regions.
> ld32: ERROR   104: GOT page/offset relocation out of range:
> /data/aces/aces1/lau/itk_bin/bin/libITKCommon.a(itkDataObject.o) section:
> .rela.text relocation offset: 0x3180.
> Please use -LD_LAYOUT:lgot_buffer=20. If that doesn't work see the
> gp_overflow(5) manpage.
> 
> ---end Error Message
> 
> The subsequent error output was too large for me to attach, but essentially
> there is a string of ERROR 104 messages involving problems compiling other
> ITK
> objects.
> 
> I have also included the CMakeError.log file for reference.
> 
> Please let me know if any other information is required.
> 
> Help is appreciated!
> Jon
> 
> 
> ----------------------------------------
> This mail sent through www.mywaterloo.ca
> 




----------------------------------------
This mail sent through www.mywaterloo.ca


More information about the Insight-users mailing list