User Guide

Contents

Undefined Linker References to dlopen or dlsym

Symptoms

When linking your application program on Linux OS, you see linker (
ld
) messages such as:
  • undefined reference to `dlopen'
  • undefined reference to `dlsym'

Cause

Intel® Advisor
uses dynamic loading. After you add the
#include
(C/C++) line to include the
Intel Advisor
annotation definition file, you must specify the linker option
-ldl
to enable dynamic loading.

Possible Solution

  • Do the following:
    1. Add the linker option
      -ldl
      to your command line, script, or make file.
    2. Review the options listed in the Build Your Target Application to ensure that you specified all required compiler and linker options (use the link below under See Also). If omitted, add missing options to your command line, script, or make file.
    3. Rebuild your program.

Product and Performance Information

1

Intel's compilers may or may not optimize to the same degree for non-Intel microprocessors for optimizations that are not unique to Intel microprocessors. These optimizations include SSE2, SSE3, and SSSE3 instruction sets and other optimizations. Intel does not guarantee the availability, functionality, or effectiveness of any optimization on microprocessors not manufactured by Intel. Microprocessor-dependent optimizations in this product are intended for use with Intel microprocessors. Certain optimizations not specific to Intel microarchitecture are reserved for Intel microprocessors. Please refer to the applicable product User and Reference Guides for more information regarding the specific instruction sets covered by this notice.

Notice revision #20110804