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?
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?
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?
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.