Intel® Integrated Performance Primitives
Deliberate problems developing high-performance vision, signal, security, and storage applications.
6720 Discussions

Error while loading shared libraries: libiomp5.so

ederman
Beginner
3,410 Views
Hello,

First, please let me say that I've searched the knowledge base for the similar questions before posting this, and I couldn't find a solution.
I installed IPP 7.0.7.319_ia32 under Ubuntu 10.04 LTS Lucid. And I am using Eclipse to compile my code. I've added the library paths:

/opt/intel/composer_xe_2011_sp1.10.319/compiler/lib/ia32
/opt/intel/composer_xe_2011_sp1.10.319/ipp/lib/ia32
/home/vavlab/Desktop/Ekber/Exa-tech/OpenCV-2.4.2/build/lib

to the "C/C++ Linker Libraries" path, and included the following libraries:

opencv_calib3d241d.lib

opencv_contrib241d.lib

opencv_core241d.lib

opencv_features2d241d.lib

opencv_flann241d.lib

opencv_gpu241d.lib

opencv_highgui241d.lib

opencv_imgproc241d.lib

opencv_legacy241d.lib

opencv_ml241d.lib

opencv_nonfree241d.lib

opencv_objdetect241d.lib

opencv_photo241d.lib

opencv_stitching241d.lib

opencv_ts241d.lib

opencv_video241d.lib

opencv_videostab241d.lib

ippac.lib

ippcc.lib

ippch.lib

ippcv.lib

ippdc.lib

ippdi.lib

ippi.lib

ippj.lib

ippm.lib

ippr.lib

ipps.lib

ippsc.lib

ippvc.lib

ippvm.lib

ippcore.lib

But while compiling, I get this error:

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

I use Eclipse SDK 3.7.2 Indigo, and each and everytime I restart my computer, I have to do "source /opt/intel/composer_xe_2011_sp1.10.319/ipp/bin/ippvars.sh ia32" to get a response for "echo $IPPROOT".

I am quite new to ipp, so please help me solve this. Many thanks in advance.

Regards.


0 Kudos
11 Replies
Gennady_F_Intel
Moderator
3,410 Views
you have to add the path to the libiomp5 libraries which is located into/opt/intel/composer_xe_2011_sp1.10.319/compiler/lib/ia32/
or just to source/opt/intel/composer_xe_2011_sp1.10.319/bin/compilervars.sh ia32
regards
0 Kudos
ederman
Beginner
3,410 Views
Thanks for your answer.

I've already added that path, and mentioned in my thread. But it still doesn't work.
Any ideas?
0 Kudos
Ying_H_Intel
Employee
3,410 Views
Hi Ederman,

The libiomp5.so is from OpenMP threading library, from Intel Compiler. You should be right thathave the library 's path /opt/intel/composer_xe_2011_sp1.10.319/compiler/lib/ia32 specified in linked library path.

But i had some question about the library yourinclude:

opencv_videostab241d.lib

ippac.lib

ippcc.lib

ippch.lib

ippcv.lib

ippdc.lib

ippdi.lib

ippi.lib

ippj.lib

ippm.lib

ippr.lib

ipps.lib

ippsc.lib

ippvc.lib

ippvm.lib

ippcore.lib
why they are suffix are *.lib, under /opt/intel/composer_xe_2011_sp1.10.319/ipp/lib/ia32

should they be libippi.so or libippi.a?

Anyway, the error while loading shared libraries: libiomp5.so: cannot open shared object file: No such file or directory. looks be a run-time error, not compiling error.

So the solution still is to set right run -time environment: LD_LIBRARY_PATH. (not IPPROOT or set C/C++ Linker Libraries" path,which is for compiling phase).
Not sure how to doin Eclipse SDK.
Could you please try under command line to run your exe with command
> source /opt/intel/composer_xe_2011_sp1.10.319/ipp/bin/ippvars.sh ia32
> your exe

Or
>Export LD_LIBRARY_PATH=opt/intel/composer_xe_2011_sp1.10.319/compiler/lib/ia32:/opt/intel/composer_xe_2011_sp1.10.319/ipp/lib/ia32
:$LD_LIBRARY_PATH
>your exe.

Best Regards,
Ying

0 Kudos
ederman
Beginner
3,410 Views
Hello Ying,

Thank you for your reply.

Actually, those libraries are ended with ".so" as you said, I wrote with ".lib" just wanted to indicate them as library names, anyway.

I tried your suggestion in the command line, but still get the same error. Seems like IPP is not working well under linux.
Any ideas?
0 Kudos
TimP
Honored Contributor III
3,410 Views
Normal linux way is to use the LD_LIBRARY_PATH setting such as the compilervars script would give you. If you wish to have your own path for shared objects, you could place a symlink or actual copy of the .so there. Maybe that causes problems in choosing among updated versions.
0 Kudos
Ying_H_Intel
Employee
3,410 Views
Hi Ederman,

As we haven't your exe file, Could you please show some of command results to us
>ldd yourexe

>echo $LD_LIBRARY_PATH

Thanks
Ying
0 Kudos
ederman
Beginner
3,410 Views
Hi Ying,

I did it as you said, and the output of command "ldd myexe" is:

linux-gate.so.1 => (0x00aa0000)
libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x00d20000)
libopencv_calib3d.so.2.4 => /usr/local/lib/libopencv_calib3d.so.2.4 (0x00612000)
libopencv_contrib.so.2.4 => /usr/local/lib/libopencv_contrib.so.2.4 (0x00bfa000)
libopencv_core.so.2.4 => /usr/local/lib/libopencv_core.so.2.4 (0x00110000)
libopencv_features2d.so.2.4 => /usr/local/lib/libopencv_features2d.so.2.4 (0x0032c000)
libopencv_flann.so.2.4 => /usr/local/lib/libopencv_flann.so.2.4 (0x003c0000)
libopencv_gpu.so.2.4 => /usr/local/lib/libopencv_gpu.so.2.4 (0x00774000)
libopencv_highgui.so.2.4 => /usr/local/lib/libopencv_highgui.so.2.4 (0x00428000)
libopencv_imgproc.so.2.4 => /usr/local/lib/libopencv_imgproc.so.2.4 (0x007b4000)
libopencv_legacy.so.2.4 => /usr/local/lib/libopencv_legacy.so.2.4 (0x004af000)
libopencv_ml.so.2.4 => /usr/local/lib/libopencv_ml.so.2.4 (0x006bc000)
libopencv_nonfree.so.2.4 => /usr/local/lib/libopencv_nonfree.so.2.4 (0x005d9000)
libopencv_objdetect.so.2.4 => /usr/local/lib/libopencv_objdetect.so.2.4 (0x00a1c000)
libopencv_photo.so.2.4 => /usr/local/lib/libopencv_photo.so.2.4 (0x005f1000)
libopencv_stitching.so.2.4 => /usr/local/lib/libopencv_stitching.so.2.4 (0x00aa1000)
libopencv_ts.so.2.4 => /usr/local/lib/libopencv_ts.so.2.4 (0x00e16000)
libopencv_video.so.2.4 => /usr/local/lib/libopencv_video.so.2.4 (0x0073e000)
libopencv_videostab.so.2.4 => /usr/local/lib/libopencv_videostab.so.2.4 (0x00b0f000)
libiomp5.so => not found
libippac.so.7.0 => not found
libippcc.so.7.0 => not found
libippch.so.7.0 => not found
libippcv.so.7.0 => not found
libippdc.so.7.0 => not found
libippdi.so.7.0 => not found
libippi.so.7.0 => not found
libippj.so.7.0 => not found
libippm.so.7.0 => not found
libippr.so.7.0 => not found
libipps.so.7.0 => not found
libippsc.so.7.0 => not found
libippvc.so.7.0 => not found
libippvm.so.7.0 => not found
libippcore.so.7.0 => not found
libm.so.6 => /lib/tls/i686/cmov/libm.so.6 (0x00b83000)
libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x00b46000)
libc.so.6 => /lib/tls/i686/cmov/libc.so.6 (0x00eb3000)
/lib/ld-linux.so.2 (0x00b66000)
libdl.so.2 => /lib/tls/i686/cmov/libdl.so.2 (0x005fe000)
libpthread.so.0 => /lib/tls/i686/cmov/libpthread.so.0 (0x00ba9000)
librt.so.1 => /lib/tls/i686/cmov/librt.so.1 (0x00602000)
libz.so.1 => /lib/libz.so.1 (0x00bc2000)
libjpeg.so.62 => /usr/lib/libjpeg.so.62 (0x00bd7000)
libpng12.so.0 => /lib/libpng12.so.0 (0x00cbb000)
libtiff.so.4 => /usr/lib/libtiff.so.4 (0x0e288000)
libgtk-x11-2.0.so.0 => /usr/lib/libgtk-x11-2.0.so.0 (0x02e28000)
libgdk-x11-2.0.so.0 => /usr/lib/libgdk-x11-2.0.so.0 (0x1e4b3000)
libatk-1.0.so.0 => /usr/lib/libatk-1.0.so.0 (0x00ce0000)
libgio-2.0.so.0 => /usr/lib/libgio-2.0.so.0 (0x1edcb000)
libpangoft2-1.0.so.0 => /usr/lib/libpangoft2-1.0.so.0 (0x0fb31000)
libgdk_pixbuf-2.0.so.0 => /usr/lib/libgdk_pixbuf-2.0.so.0 (0x00cfc000)
libpangocairo-1.0.so.0 => /usr/lib/libpangocairo-1.0.so.0 (0x0c576000)
libcairo.so.2 => /usr/lib/libcairo.so.2 (0x0e576000)
libpango-1.0.so.0 => /usr/lib/libpango-1.0.so.0 (0x197b6000)
libfreetype.so.6 => /usr/lib/libfreetype.so.6 (0x0144b000)
libfontconfig.so.1 => /usr/lib/libfontconfig.so.1 (0x02863000)
libgobject-2.0.so.0 => /usr/lib/libgobject-2.0.so.0 (0x077e8000)
libgmodule-2.0.so.0 => /usr/lib/libgmodule-2.0.so.0 (0x0060b000)
libgthread-2.0.so.0 => /usr/lib/libgthread-2.0.so.0 (0x00a99000)
libglib-2.0.so.0 => /lib/libglib-2.0.so.0 (0x04a86000)
libXext.so.6 => /usr/lib/libXext.so.6 (0x12d98000)
libXrender.so.1 => /usr/lib/libXrender.so.1 (0x00d16000)
libXinerama.so.1 => /usr/lib/libXinerama.so.1 (0x1b043000)
libXi.so.6 => /usr/lib/libXi.so.6 (0x1fee7000)
libXrandr.so.2 => /usr/lib/libXrandr.so.2 (0x1e213000)
libXcursor.so.1 => /usr/lib/libXcursor.so.1 (0x0f920000)
libX11.so.6 => /usr/lib/libX11.so.6 (0x1a9a2000)
libXcomposite.so.1 => /usr/lib/libXcomposite.so.1 (0x11b2a000)
libXdamage.so.1 => /usr/lib/libXdamage.so.1 (0x0cf16000)
libXfixes.so.3 => /usr/lib/libXfixes.so.3 (0x19648000)
libpcre.so.3 => /lib/libpcre.so.3 (0x1464e000)
libresolv.so.2 => /lib/tls/i686/cmov/libresolv.so.2 (0x0b6f5000)
libselinux.so.1 => /lib/libselinux.so.1 (0x19f56000)
libpixman-1.so.0 => /usr/lib/libpixman-1.so.0 (0x0f9db000)
libdirectfb-1.2.so.0 => /usr/lib/libdirectfb-1.2.so.0 (0x1c19e000)
libfusion-1.2.so.0 => /usr/lib/libfusion-1.2.so.0 (0x01224000)
libdirect-1.2.so.0 => /usr/lib/libdirect-1.2.so.0 (0x0600e000)
libxcb-render-util.so.0 => /usr/lib/libxcb-render-util.so.0 (0x1d25d000)
libxcb-render.so.0 => /usr/lib/libxcb-render.so.0 (0x05d12000)
libxcb.so.1 => /usr/lib/libxcb.so.1 (0x01adf000)
libexpat.so.1 => /lib/libexpat.so.1 (0x1722b000)
libXau.so.6 => /usr/lib/libXau.so.6 (0x0eeb3000)
libXdmcp.so.6 => /usr/lib/libXdmcp.so.6 (0x1c7f0000)


And the output of "echo $LD_LIBRARY_PATH" is totally nothing, empty. Then I tried your previous answer as first do "export LD_LIBRARY_PATH=opt/intel/composer_xe_2011_sp1.10.319/compiler/lib/ia32:/opt/intel/composer_xe_2011_sp1.10.319/ipp/lib/ia32:$LD_LIBRARY_PATH", and then the output of "echo $LD_LIBRARY_PATH" is this:

> opt/intel/composer_xe_2011_sp1.10.319/compiler/lib/ia32:/opt/intel/composer_xe_2011_sp1.10.319/ipp/lib/ia32:

Then, I tried again "ldd yourexe", and the output is this:

linux-gate.so.1 => (0x00867000)
libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x00110000)
libopencv_calib3d.so.2.4 => /usr/local/lib/libopencv_calib3d.so.2.4 (0x00abb000)
libopencv_contrib.so.2.4 => /usr/local/lib/libopencv_contrib.so.2.4 (0x00d54000)
libopencv_core.so.2.4 => /usr/local/lib/libopencv_core.so.2.4 (0x00206000)
libopencv_features2d.so.2.4 => /usr/local/lib/libopencv_features2d.so.2.4 (0x00768000)
libopencv_flann.so.2.4 => /usr/local/lib/libopencv_flann.so.2.4 (0x00422000)
libopencv_gpu.so.2.4 => /usr/local/lib/libopencv_gpu.so.2.4 (0x0048a000)
libopencv_highgui.so.2.4 => /usr/local/lib/libopencv_highgui.so.2.4 (0x00664000)
libopencv_imgproc.so.2.4 => /usr/local/lib/libopencv_imgproc.so.2.4 (0x00e15000)
libopencv_legacy.so.2.4 => /usr/local/lib/libopencv_legacy.so.2.4 (0x004ca000)
libopencv_ml.so.2.4 => /usr/local/lib/libopencv_ml.so.2.4 (0x00868000)
libopencv_nonfree.so.2.4 => /usr/local/lib/libopencv_nonfree.so.2.4 (0x0095d000)
libopencv_objdetect.so.2.4 => /usr/local/lib/libopencv_objdetect.so.2.4 (0x006eb000)
libopencv_photo.so.2.4 => /usr/local/lib/libopencv_photo.so.2.4 (0x005f4000)
libopencv_stitching.so.2.4 => /usr/local/lib/libopencv_stitching.so.2.4 (0x008ea000)
libopencv_ts.so.2.4 => /usr/local/lib/libopencv_ts.so.2.4 (0x00975000)
libopencv_video.so.2.4 => /usr/local/lib/libopencv_video.so.2.4 (0x00c4d000)
libopencv_videostab.so.2.4 => /usr/local/lib/libopencv_videostab.so.2.4 (0x00601000)
libiomp5.so => not found
libippac.so.7.0 => /opt/intel/composer_xe_2011_sp1.10.319/ipp/lib/ia32/libippac.so.7.0 (0x00638000)
libippcc.so.7.0 => /opt/intel/composer_xe_2011_sp1.10.319/ipp/lib/ia32/libippcc.so.7.0 (0x00641000)
libippch.so.7.0 => /opt/intel/composer_xe_2011_sp1.10.319/ipp/lib/ia32/libippch.so.7.0 (0x00654000)
libippcv.so.7.0 => /opt/intel/composer_xe_2011_sp1.10.319/ipp/lib/ia32/libippcv.so.7.0 (0x007fc000)
libippdc.so.7.0 => /opt/intel/composer_xe_2011_sp1.10.319/ipp/lib/ia32/libippdc.so.7.0 (0x00659000)
libippdi.so.7.0 => /opt/intel/composer_xe_2011_sp1.10.319/ipp/lib/ia32/libippdi.so.7.0 (0x00660000)
libippi.so.7.0 => /opt/intel/composer_xe_2011_sp1.10.319/ipp/lib/ia32/libippi.so.7.0 (0x00b65000)
libippj.so.7.0 => /opt/intel/composer_xe_2011_sp1.10.319/ipp/lib/ia32/libippj.so.7.0 (0x00c2b000)
libippm.so.7.0 => /opt/intel/composer_xe_2011_sp1.10.319/ipp/lib/ia32/libippm.so.7.0 (0x00815000)
libippr.so.7.0 => /opt/intel/composer_xe_2011_sp1.10.319/ipp/lib/ia32/libippr.so.7.0 (0x00830000)
libipps.so.7.0 => /opt/intel/composer_xe_2011_sp1.10.319/ipp/lib/ia32/libipps.so.7.0 (0x00a12000)
libippsc.so.7.0 => /opt/intel/composer_xe_2011_sp1.10.319/ipp/lib/ia32/libippsc.so.7.0 (0x00834000)
libippvc.so.7.0 => /opt/intel/composer_xe_2011_sp1.10.319/ipp/lib/ia32/libippvc.so.7.0 (0x00846000)
libippvm.so.7.0 => /opt/intel/composer_xe_2011_sp1.10.319/ipp/lib/ia32/libippvm.so.7.0 (0x00aa5000)
libippcore.so.7.0 => /opt/intel/composer_xe_2011_sp1.10.319/ipp/lib/ia32/libippcore.so.7.0 (0x00a75000)
libm.so.6 => /lib/tls/i686/cmov/libm.so.6 (0x00bd4000)
libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x00bfa000)
libc.so.6 => /lib/tls/i686/cmov/libc.so.6 (0x0d46f000)
/lib/ld-linux.so.2 (0x00a58000)
libdl.so.2 => /lib/tls/i686/cmov/libdl.so.2 (0x0085c000)
libpthread.so.0 => /lib/tls/i686/cmov/libpthread.so.0 (0x00a8c000)
librt.so.1 => /lib/tls/i686/cmov/librt.so.1 (0x00ab2000)
libz.so.1 => /lib/libz.so.1 (0x00c80000)
libjpeg.so.62 => /usr/lib/libjpeg.so.62 (0x00c95000)
libpng12.so.0 => /lib/libpng12.so.0 (0x00cb6000)
libtiff.so.4 => /usr/lib/libtiff.so.4 (0x00cdb000)
libgtk-x11-2.0.so.0 => /usr/lib/libgtk-x11-2.0.so.0 (0x0aa83000)
libgdk-x11-2.0.so.0 => /usr/lib/libgdk-x11-2.0.so.0 (0x1dd95000)
libatk-1.0.so.0 => /usr/lib/libatk-1.0.so.0 (0x00d36000)
libgio-2.0.so.0 => /usr/lib/libgio-2.0.so.0 (0x16f4b000)
libpangoft2-1.0.so.0 => /usr/lib/libpangoft2-1.0.so.0 (0x14b77000)
libgdk_pixbuf-2.0.so.0 => /usr/lib/libgdk_pixbuf-2.0.so.0 (0x1a2ad000)
libpangocairo-1.0.so.0 => /usr/lib/libpangocairo-1.0.so.0 (0x00c19000)
libcairo.so.2 => /usr/lib/libcairo.so.2 (0x0d682000)
libpango-1.0.so.0 => /usr/lib/libpango-1.0.so.0 (0x0c0dd000)
libfreetype.so.6 => /usr/lib/libfreetype.so.6 (0x157ac000)
libfontconfig.so.1 => /usr/lib/libfontconfig.so.1 (0x09e35000)
libgobject-2.0.so.0 => /usr/lib/libgobject-2.0.so.0 (0x11c96000)
libgmodule-2.0.so.0 => /usr/lib/libgmodule-2.0.so.0 (0x00860000)
libgthread-2.0.so.0 => /usr/lib/libgthread-2.0.so.0 (0x00a52000)
libglib-2.0.so.0 => /lib/libglib-2.0.so.0 (0x214f8000)
libiomp5.so => not found
libXext.so.6 => /usr/lib/libXext.so.6 (0x00c3a000)
libXrender.so.1 => /usr/lib/libXrender.so.1 (0x070d3000)
libXinerama.so.1 => /usr/lib/libXinerama.so.1 (0x00958000)
libXi.so.6 => /usr/lib/libXi.so.6 (0x1baed000)
libXrandr.so.2 => /usr/lib/libXrandr.so.2 (0x06d33000)
libXcursor.so.1 => /usr/lib/libXcursor.so.1 (0x1f276000)
libX11.so.6 => /usr/lib/libX11.so.6 (0x12f9b000)
libXcomposite.so.1 => /usr/lib/libXcomposite.so.1 (0x00c25000)
libXdamage.so.1 => /usr/lib/libXdamage.so.1 (0x17c2d000)
libXfixes.so.3 => /usr/lib/libXfixes.so.3 (0x11bff000)
libpcre.so.3 => /lib/libpcre.so.3 (0x065fc000)
libresolv.so.2 => /lib/tls/i686/cmov/libresolv.so.2 (0x1a1d1000)
libselinux.so.1 => /lib/libselinux.so.1 (0x0b539000)
libpixman-1.so.0 => /usr/lib/libpixman-1.so.0 (0x1c5df000)
libdirectfb-1.2.so.0 => /usr/lib/libdirectfb-1.2.so.0 (0x08f07000)
libfusion-1.2.so.0 => /usr/lib/libfusion-1.2.so.0 (0x10897000)
libdirect-1.2.so.0 => /usr/lib/libdirect-1.2.so.0 (0x1da9f000)
libxcb-render-util.so.0 => /usr/lib/libxcb-render-util.so.0 (0x116d8000)
libxcb-render.so.0 => /usr/lib/libxcb-render.so.0 (0x0bb65000)
libxcb.so.1 => /usr/lib/libxcb.so.1 (0x038d7000)
libexpat.so.1 => /lib/libexpat.so.1 (0x01cfd000)
libXau.so.6 => /usr/lib/libXau.so.6 (0x01acf000)
libXdmcp.so.6 => /usr/lib/libXdmcp.so.6 (0x1f265000)


Seems like it still couldn't find "libiomp5.so". Any ideas?
Regards.
0 Kudos
Ying_H_Intel
Employee
3,410 Views

Hi Ederman,

Could you please check ifthe libiomp5.so isin the path "opt/intel/composer_xe_2011_sp1.10.319/compiler/lib/ia32"?

or copy it to/opt/intel/composer_xe_2011_sp1.10.319/ipp/lib/ia32
then see if it can be found.

Best Regards,
Ying

0 Kudos
ederman
Beginner
3,410 Views
Hi Ying,

libiomp5.so is in the path "opt/intel/composer_xe_2011_sp1.10.319/compiler/lib/ia32".

Regards.
0 Kudos
Ying_H_Intel
Employee
3,410 Views
Hi ederman,

How aboutcopy it to/opt/intel/composer_xe_2011_sp1.10.319/ipp/lib/ia32
then see if it can be found.
or could you please attached your exe to me and let me check?

Best Regards,
Ying
0 Kudos
ederman
Beginner
3,410 Views
Hi Ying,

Thank you for your answer.
Actually I spent so much time on it but couldn't solve it thnI installed windows to let it work. Now under windows, it works good.
Regards.
0 Kudos
Reply