NERSCPowering Scientific Discovery Since 1974

Compiling with -ipo produces "unresolved" warning messages at link time on Cray systems

November 18, 2013 by Mike Stewart, NERSC USG

Status:  Reported to the darshan developers.

Updated June 12, 2015 by Scott French, NERSC USG

This bug affects only our Cray systems Edison and Hopper, and is still present as of June, 2015.

When a code is linked with the Intel -ipo (enable interprocedural optimization) flag on Hopper or Edison, many warning messages like this will be printed:

ipo: warning #11021: unresolved __real___xstat64
        Referenced in libdarshan-posix.a(darshan-posix.o)

An executable will be produced and these warnings can safely be disregarded.

Since -ipo is also part of the optimizations included with the Intel -fast optimization arguments,  you will see these error messages with -fast unless you include the NERSC recommended -no-ipo flag along with the -fast flag.

You can avoid these messages by disabling darshan. Please note, however, that doing so will prevent you from using the latter to profile your application's I/O performance. If you would still like to disable darshan, we recommend putting the following in your .bashrc.ext (bash shell users) or .cshrc.ext (c shell users) files:

module unload darshan

For more information on darshan, see our introduction here.