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

Linux - No shared libraries were found in the Waterfall procedure

alecive
Beginner
1,970 Views
Hi!
I'm a Linux user. In my bashrc there is:

"export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/intel/ipp/sharedlib"

that has the same semantics than your command, but I always get this error at RUNTIME (not compile-time):

"Error at loading of ippCV library: No shared libraries were found in the Waterfall procedure"

further info:

[bash]ls /opt/intel/ipp/sharedlib/
libiomp5.so libippcc.so.7.0 libippcore.so.7.0 libippcv.so.7.0 libippi.so.7.0 libipps.so.7.0
libippcc.so libippcore.so libippcv.so libippi.so libipps.so[/bash]
I also noticed that the directory structure seems to be different from the usual (i.e. the structure that comes with previous versions of ipp). I thinked that it's related to newer version 7.0. It's this true or I did something wrong installing ipp? I used all default options!
0 Kudos
10 Replies
alecive
Beginner
1,970 Views
Other useful informations:

1. typing "ldd myprogram" (zdfMod is my program) returns this:
[bash]ldd zdfMod 
linux-gate.so.1 => (0xb77cd000)
libippi.so.7.0 => /opt/intel/ipp/sharedlib/libippi.so.7.0 (0xb775c000)
libipps.so.7.0 => /opt/intel/ipp/sharedlib/libipps.so.7.0 (0xb771c000)
libippcc.so.7.0 => /opt/intel/ipp/sharedlib/libippcc.so.7.0 (0xb7708000)
libippcore.so.7.0 => /opt/intel/ipp/sharedlib/libippcore.so.7.0 (0xb76f1000)
libippcv.so.7.0 => /opt/intel/ipp/sharedlib/libippcv.so.7.0 (0xb76d8000)
libgsl.so.0 => /usr/lib/libgsl.so.0 (0xb74e1000)
libgslcblas.so.0 => /usr/lib/libgslcblas.so.0 (0xb74ae000)
libACE-5.6.3.so => /usr/lib/libACE-5.6.3.so (0xb7343000)
librt.so.1 => /lib/tls/i686/cmov/librt.so.1 (0xb733a000)
libdl.so.2 => /lib/tls/i686/cmov/libdl.so.2 (0xb7336000)
libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0xb7240000)
libm.so.6 => /lib/tls/i686/cmov/libm.so.6 (0xb721a000)
libgcc_s.so.1 => /lib/libgcc_s.so.1 (0xb71fa000)
libc.so.6 => /lib/tls/i686/cmov/libc.so.6 (0xb70a0000)
libpthread.so.0 => /lib/tls/i686/cmov/libpthread.so.0 (0xb7087000)
libiomp5.so => /opt/intel/ipp/sharedlib/libiomp5.so (0xb6ffc000)
/lib/ld-linux.so.2 (0xb77ce000)[/bash]
so, my program correctly find libraries that it needs to run, but the runtime error remains there!

2. moreover, the paths in LD_LIBRARY_PATH are correct:

[bash]echo $LD_LIBRARY_PATH 
/opt/intel/ipp/sharedlib:[/bash]

0 Kudos
Chao_Y_Intel
Moderator
1,970 Views

Hello,

It looks that the CPU optimized libraries are missed in your folder:

For example, libipps.so.7.0 is dispatch library, which will dynamically load the following CPU optimized library according the CPU types at runtime:

libippsg9.so.7.0
libippsv8.so.7.0
ibippsp8.so.7.0
libippsw7.so

....

Similarly, libippi.so.7.0 libippcc.so.7.0 libippcv.so.7.0 also needs their CPU optimized library.
Copy others libraries at /ipp/lib/ia32 folder, and check if it can resolve the problem.

Thanks,
Chao

0 Kudos
creevymdry
Beginner
1,970 Views

Hello. I have the same problem - my application depends on ippcore, ipps, ippsc, all paths are correct, but I receive "Error at loading of ippSC library ...". I didn't copy any libraries from ipp/lib/ia32 anywhere after the installation.

Here's the list of ippcore, ipps and ippsc libraries in this folder. Is there anything missing?


libippscs8.so.7.0 libippsc.so
libippsc.so.7.0
libippsc_t.a
libippscv8.so
libippscv8.so.7.0
llibippscw7.so
libippscw7.so.7.0
libippsg9.so
libippsg9.so.7.0
libipps_l.a
libippsp8.so
libippsp8.so.7.0
libippss8.so
libippss8.so.7.0
libipps.so
libipps.so.7.0
libipps_t.a
libippsv8.so
libippsv8.so.7.0
libippsw7.so
libippsw7.so.7.0
libippcore.a libipps.a
libippcore_l.a libippsc.a
libippcore.so libippscg9.so
libippcore.so.7.0 libippscg9.so.7.0
libippcore_t.a libippsc_l.a
libippscp8.so
libippscp8.so.7.0
libippscs8.so


0 Kudos
creevymdry
Beginner
1,970 Views
So, now I found out that my processor must support "p8" libraries, and they are on their place. Maybe something caused wrong architecture detection?
0 Kudos
Chao_Y_Intel
Moderator
1,970 Views

Hello,

What is the processor you are running?

If you use the following command line:
>export LD_LIBRARY_PATH

Do you see similar IPP library path is included?

/opt/intel/composerxe-2011.x.xxx/ipp/lib/ia32

If not, please try to use the command line like the following to set the IPP environment?

>source /opt/intel/composerxe-2011.x.xxx/ipp/bin/ippvars.sh ia32

Thanks,
Chao

0 Kudos
creevymdry
Beginner
1,970 Views

My processor is i3 330M.

I tried to use this script, so now I have this path included in /etc/ld.so.conf, but this error still occurs.

0 Kudos
Chao_Y_Intel
Moderator
1,970 Views

Hi,

Could you attach the executable file here? I am tryingtoreproduce the problem here.

thanks,
Chao
0 Kudos
creevymdry
Beginner
1,970 Views

Here it is. Thanks.

0 Kudos
Chao_Y_Intel
Moderator
1,970 Views


Hello,

Thanks for the test file. I can saw the Waterfall error. It is likely that the compiler runtime libraries are missed there. The libraries at the folder /opt/intel/composerxe-2011.x.xxx/ipp/../compiler/lib/ia32 are also needed by your application:

For example, whenadding the environment:

export LD_LIBRARY_PATH=/opt/intel/composerxe-2011.1.036/ipp/../compiler/lib/ia32:/opt/intel/composerxe-2011.1.036/ipp/lib/ia32:/opt/intel/composerxe-2011.1.036/ipp/lib/ia32

The code works fine. But when usingthe following environment, it got the waterfall error:

export LD_LIBRARY_PATH=/opt/intel/composerxe-2011.1.036/ipp/lib/ia32


Thanks,
Chao

0 Kudos
creevymdry
Beginner
1,970 Views
Now it works, thanks!
0 Kudos
Reply