Shared Libraries

Shared Libraries

Hi,

I get the following error while executing a C program compiled with icc.

progName: error while loading shared libraries: libimf.so: cannot open shared object file: No such file or directory

I know that I must have the LD_LIBRARY_PATH pointing to /opt/intel/composer_xe/compiler/lib and similar. How do I get around this if I am distributing the binaries or sending the binaries over to a friend who does not have the intel shared libraries? I tried static linking and got the warning -

progName.c:(.text+0x70): warning: Using 'getaddrinfo' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking

However, things work fine if I choose not to use the intel shared libraies (not use the -shared-intel switch).

  • When do I use intel shared libraries over the system default libraries?
  • If I have to use the intel shared library, how do I distribute the binaries I compile using icc?
Lord Bharath Bhushan Lohray
6 posts / 0 new
Last post
For more complete information about compiler optimizations, see our Optimization Notice.

The warning about glibc simply tells you that when you move the binary to another system, that system must have a glibc installed as new as the one on the build system.

You could download the icc shared library distributable package from https://registrationcenter.intel.com and include that, or the specific required .so libraries, with your binary.

I have a student license (http://software.intel.com/en-us/intel-education-offerings). Does that entitle me to distribute the shared libraries? non-commercially?

Also, I am unable to find a link to download just the shared libraries. Do I just include files from /opt/intel/composer_xe_2013.x.y/comiler/lib/intel64 ? or any other product? What license am I bound by?

Lord Bharath Bhushan Lohray

student license doesn't cover distribution

Thank you :-)

Should I use a commercial license, how do I package the shared libraries? Where do I get the libraries from? /opt/intel/composer_xe_2013.x.y/comiler/lib/intel64 ?

Durely, I should not have to ask customers to install the developer tools and source a script ;-)

None of the links here - https://registrationcenter.intel.com have anything that looks like a redistributable share library. Or it it because I am using a student license?

Lord Bharath Bhushan Lohray

If you are distributing to customers, yes, you must have a commercial license.  Then you have the choice of downloading the distributable library package for your compiler from https://registrationcenter.intel.com and including it in your install package, or just including the smaller group of libraries you need.

Login to leave a comment.