- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
I installed IPP 7.0 on Ubuntu 11.10. But it does not work. I keep getting weird linking error. E.g:
/opt/intel/ipp/lib/ia32/libippi.a(pialloc_split_p8_ippiFree.o)||In function `p8_ippiFree':|
pialloc_split_p8_ippiFree.i|| undefined reference to `ippFree'|
Although I'm sure that libippcore.a has been found by the linker.
Please help. Tanks!
I installed IPP 7.0 on Ubuntu 11.10. But it does not work. I keep getting weird linking error. E.g:
/opt/intel/ipp/lib/ia32/libippi.a(pialloc_split_p8_ippiFree.o)||In function `p8_ippiFree':|
pialloc_split_p8_ippiFree.i|| undefined reference to `ippFree'|
Although I'm sure that libippcore.a has been found by the linker.
Please help. Tanks!
Link Copied
5 Replies
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello,
I've had good results with 64 bit Ubuntu 11.10.
Just to verify that your setup works, here is a quick test program:
#include "ipp.h"
#include "stdio.h"
int main(int argc, char* argv[])
{
ippInit();
const IppLibraryVersion *lib = ippsGetLibVersion();
printf("%s %s\n",lib->Name, lib->Version);
return 0;
}
Does something like this work for you?
g++ -o helloipp helloipp.cpp -I$IPPROOT/include -L$IPPROOT/lib/intel64 -lipps -lippcore
The "Library Dependencies by Domain" section of the IPP User's Guide might also help.
Best regards,
Jeff
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Jeff,
Thanks so much for replying.
I tried exactly your example, as follows:
IPPROOT=/opt/intel/ipp
LD_LIBRARY_PATH=/opt/intel/lib/ia32:/opt/intel/ipp/lib/ia32:/usr/lib:/usr/local/lib:usr/lib/i386-linux-gnu
export IPPROOT
export LD_LIBRARY_PATH
g++ -o helloipp helloipp.cpp -I$IPPROOT/include -L$IPPROOT/lib/ia32 -lipps -lippcore
and here is what I got:
/opt/intel/lib/ia32/libiomp5.so: undefined reference to `pthread_atfork'
collect2: ld returned 1 exit status
then I tried adding -pthread, as follows:g++ -o helloipp helloipp.cpp -I$IPPROOT/include -L$IPPROOT/lib/ia32 -lipps -lippcore -pthread
but the result stays axectly the same:
/opt/intel/lib/ia32/libiomp5.so: undefined reference to `pthread_atfork'
collect2: ld returned 1 exit status
I checked to see if I have libpthread and it seems that I do have it:
sudo find -name *libpthread*
./usr/lib/i386-linux-gnu/libpthread.so
./usr/lib/i386-linux-gnu/libpthread_nonshared.a
./usr/lib/i386-linux-gnu/libpthread.a
./usr/lib/i386-linux-gnu/xen/libpthread_nonshared.a
./usr/lib/i386-linux-gnu/xen/libpthread.a
./lib/i386-linux-gnu/libpthread.so.0
./lib/i386-linux-gnu/libpthread-2.13.so
Any suggestion will be greatly appreciated. Thanks!
By the way, the exact same example works fine in Ubuntu 10.04
Thanks so much for replying.
I tried exactly your example, as follows:
IPPROOT=/opt/intel/ipp
LD_LIBRARY_PATH=/opt/intel/lib/ia32:/opt/intel/ipp/lib/ia32:/usr/lib:/usr/local/lib:usr/lib/i386-linux-gnu
export IPPROOT
export LD_LIBRARY_PATH
g++ -o helloipp helloipp.cpp -I$IPPROOT/include -L$IPPROOT/lib/ia32 -lipps -lippcore
and here is what I got:
/opt/intel/lib/ia32/libiomp5.so: undefined reference to `pthread_atfork'
collect2: ld returned 1 exit status
then I tried adding -pthread, as follows:g++ -o helloipp helloipp.cpp -I$IPPROOT/include -L$IPPROOT/lib/ia32 -lipps -lippcore -pthread
but the result stays axectly the same:
/opt/intel/lib/ia32/libiomp5.so: undefined reference to `pthread_atfork'
collect2: ld returned 1 exit status
I checked to see if I have libpthread and it seems that I do have it:
sudo find -name *libpthread*
./usr/lib/i386-linux-gnu/libpthread.so
./usr/lib/i386-linux-gnu/libpthread_nonshared.a
./usr/lib/i386-linux-gnu/libpthread.a
./usr/lib/i386-linux-gnu/xen/libpthread_nonshared.a
./usr/lib/i386-linux-gnu/xen/libpthread.a
./lib/i386-linux-gnu/libpthread.so.0
./lib/i386-linux-gnu/libpthread-2.13.so
Any suggestion will be greatly appreciated. Thanks!
By the way, the exact same example works fine in Ubuntu 10.04
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi
How about to try
g++ -o helloipp helloipp.cpp -I$IPPROOT/include -L$IPPROOT/lib/ia32 -lippi -lipps -lippcore -liomp5 -lpthread
?
As the article: How to build IPP application in Linux environment.
Best Regards,
Ying H.
How about to try
g++ -o helloipp helloipp.cpp -I$IPPROOT/include -L$IPPROOT/lib/ia32 -lippi -lipps -lippcore -liomp5 -lpthread
?
As the article: How to build IPP application in Linux environment.
Best Regards,
Ying H.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Thanks Ying. I tried your line (plus adding one more library path):
g++ -o helloipp helloipp.cpp -I$IPPROOT/include -L$IPPROOT/lib/ia32 -L/opt/intel/lib/ia32 -lipps -lippcore -liomp5 -lpthread
and we stil have the same result:
/opt/intel/lib/ia32/libiomp5.so: undefined reference to `pthread_atfork'
collect2: ld returned 1 exit status
Please help. Thanks!
g++ -o helloipp helloipp.cpp -I$IPPROOT/include -L$IPPROOT/lib/ia32 -L/opt/intel/lib/ia32 -lipps -lippcore -liomp5 -lpthread
and we stil have the same result:
/opt/intel/lib/ia32/libiomp5.so: undefined reference to `pthread_atfork'
collect2: ld returned 1 exit status
Please help. Thanks!
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Hoangnguyen,
The problem looks not the pthread or -lpthread or IPP version, but thesymbol pthread_atfork implementitself. I search one blog from
http://ryanarn.blogspot.com/2011/07/curious-case-of-pthreadatfork-on.html
Itshould disclose the real cause.
Could you pleasecheck the pthread_atfork symbol in libpthread* by nm /lib/libpthread.so.0 and libpthread_nonshared.a.
Best Regards,
Ying
The problem looks not the pthread or -lpthread or IPP version, but thesymbol pthread_atfork implementitself. I search one blog from
http://ryanarn.blogspot.com/2011/07/curious-case-of-pthreadatfork-on.html
Itshould disclose the real cause.
Could you pleasecheck the pthread_atfork symbol in libpthread* by nm /lib/libpthread.so.0 and libpthread_nonshared.a.
Best Regards,
Ying
Reply
Topic Options
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page