Intel® Advisor User Guide

ID 766448
Date 7/13/2023
Public

A newer version of this document is available. Customers should click here to go to the newest version.

Document Table of Contents

Error Message: 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.

NOTE:
In most cases, you do not need source annotations when using Intel® Advisor, except for the Suitability analysis of the Threading perspective. When analyzing your application with other perspectives, such as Vectorization and Code Insights or Offload Modeling, you can analyze all parts of your code automatically or use Intel Advisormark-up capabilities, which do not require you to recompile your application.

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.