- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello,
I've recently changed from one computer (32 bits) to another (64 bits) and the new installation has got some problems.
I'm using Codeblock IDE with OpenCV2 and IPP 6.1.6.063, but it seems that an illegal instruction occurs when I try to call IPP functions (like ippiRGBToGray_8u_C3C1R). However, structures as Ipp8u are well recognized.
Because I'm stuck since a few days with this install, could you give me a way to test (using gdb or whatever you want) if IPP libraries are well recognized for my computer?
Thanks in advance
I've recently changed from one computer (32 bits) to another (64 bits) and the new installation has got some problems.
I'm using Codeblock IDE with OpenCV2 and IPP 6.1.6.063, but it seems that an illegal instruction occurs when I try to call IPP functions (like ippiRGBToGray_8u_C3C1R). However, structures as Ipp8u are well recognized.
Because I'm stuck since a few days with this install, could you give me a way to test (using gdb or whatever you want) if IPP libraries are well recognized for my computer?
Thanks in advance
Link Copied
2 Replies
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I've found a solution! It seems that the libs were totally different than for a 32 bits processor(I was expecting nearly the same names)...:(
Here is my Makefile if anyone get the same problem:
CC = gcc
INC = -I/usr/local/include/opencv -I/opt/intel/ipp/6.1.6.063/em64t/include
LIB = -L/usr/local/lib -L/opt/intel/ipp/6.1.6.063/em64t/sharedlib
OPT = -lopencv_calib3d -lopencv_contrib -lopencv_core -lopencv_features2d -lopencv_flann -lopencv_gpu -lopencv_highgui -lopencv_imgproc -lopencv_legacy -lopencv_ml -lopencv_objdetect -lopencv_video -lguide -lippccem64t -lippchu8 -lippdcem64t -lippdiu8 -lippim7 -lippjy8 -lipprmx -lippse9 -lippsry8 -lippvmem64t -limf -lippccm7 -lippchy8 -lippdcm7 -lippdiy8 -lippimx -lippme9 -lipprn8 -lippsem64t -lippsu8 -lippvmm7 -liomp5 -lippccmx -lippcoreem64t -lippdcmx -lippgene9 -lippin8 -lippmem64t -lippru8 -lippsm7 -lippsy8 -lippvmmx -lippace9 -lippccn8 -lippcve9 -lippdcn8 -lippgenem64t -lippiu8 -lippmm7 -lippry8 -lippsmx -lippvce9 -lippvmn8 -lippacem64t -lippccu8 -lippcvem64t -lippdcu8 -lippgenm7 -lippiy8 -lippmmx -lippsce9 -lippsn8 -lippvcem64t -lippvmu8 -lippacm7 -lippccy8 -lippcvm7 -lippdcy8 -lippgenmx -lippje9 -lippmn8 -lippscem64t -lippsre9 -lippvcm7 -lippvmy8 -lippacmx -lippche9 -lippcvmx -lippdie9 -lippgenn8 -lippjem64t -lippmu8 -lippscm7 -lippsrem64t -lippvcmx -lirc -lippacn8 -lippchem64t -lippcvn8 -lippdiem64t -lippgenu8 -lippjm7 -lippmy8 -lippscmx -lippsrm7 -lippvcn8 -lsvml -lippacu8 -lippchm7 -lippcvu8 -lippdim7 -lippgeny8 -lippjmx -lippre9 -lippscn8 -lippsrmx -lippvcu8 -lippacy8 -lippchmx -lippcvy8 -lippdimx -lippie9 -lippjn8 -lipprem64t -lippscu8 -lippsrn8 -lippvcy8 -lippcce9 -lippchn8 -lippdce9 -lippdin8 -lippiem64t -lippju8 -lipprm7 -lippscy8 -lippsru8 -lippvme9 -pthread
BIN = ipp0 # executables to create
all: $(BIN)
ipp0: ipp0.c Makefile
$(CC) ipp0.c $(INC) $(LIB) $(OPT) -o $@
# "make clean" cleans the directory
clean:
rm *~ *.o $(BIN) core
Here is my Makefile if anyone get the same problem:
CC = gcc
INC = -I/usr/local/include/opencv -I/opt/intel/ipp/6.1.6.063/em64t/include
LIB = -L/usr/local/lib -L/opt/intel/ipp/6.1.6.063/em64t/sharedlib
OPT = -lopencv_calib3d -lopencv_contrib -lopencv_core -lopencv_features2d -lopencv_flann -lopencv_gpu -lopencv_highgui -lopencv_imgproc -lopencv_legacy -lopencv_ml -lopencv_objdetect -lopencv_video -lguide -lippccem64t -lippchu8 -lippdcem64t -lippdiu8 -lippim7 -lippjy8 -lipprmx -lippse9 -lippsry8 -lippvmem64t -limf -lippccm7 -lippchy8 -lippdcm7 -lippdiy8 -lippimx -lippme9 -lipprn8 -lippsem64t -lippsu8 -lippvmm7 -liomp5 -lippccmx -lippcoreem64t -lippdcmx -lippgene9 -lippin8 -lippmem64t -lippru8 -lippsm7 -lippsy8 -lippvmmx -lippace9 -lippccn8 -lippcve9 -lippdcn8 -lippgenem64t -lippiu8 -lippmm7 -lippry8 -lippsmx -lippvce9 -lippvmn8 -lippacem64t -lippccu8 -lippcvem64t -lippdcu8 -lippgenm7 -lippiy8 -lippmmx -lippsce9 -lippsn8 -lippvcem64t -lippvmu8 -lippacm7 -lippccy8 -lippcvm7 -lippdcy8 -lippgenmx -lippje9 -lippmn8 -lippscem64t -lippsre9 -lippvcm7 -lippvmy8 -lippacmx -lippche9 -lippcvmx -lippdie9 -lippgenn8 -lippjem64t -lippmu8 -lippscm7 -lippsrem64t -lippvcmx -lirc -lippacn8 -lippchem64t -lippcvn8 -lippdiem64t -lippgenu8 -lippjm7 -lippmy8 -lippscmx -lippsrm7 -lippvcn8 -lsvml -lippacu8 -lippchm7 -lippcvu8 -lippdim7 -lippgeny8 -lippjmx -lippre9 -lippscn8 -lippsrmx -lippvcu8 -lippacy8 -lippchmx -lippcvy8 -lippdimx -lippie9 -lippjn8 -lipprem64t -lippscu8 -lippsrn8 -lippvcy8 -lippcce9 -lippchn8 -lippdce9 -lippdin8 -lippiem64t -lippju8 -lipprm7 -lippscy8 -lippsru8 -lippvme9 -pthread
BIN = ipp0 # executables to create
all: $(BIN)
ipp0: ipp0.c Makefile
$(CC) ipp0.c $(INC) $(LIB) $(OPT) -o $@
# "make clean" cleans the directory
clean:
rm *~ *.o $(BIN) core
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi bibi88,
Thanks for the sharing. Yes, the IPP install package is different for different processor.
And the library name anddirectoryis a little different in 32 bit or em64(intel 64) 64 bit in IPP 6.x.
But IPP 7.0 will make the thing easy. The library name is aligned in both 32bit and 64bit. See New Directory Structure and Library Naming Scheme for Intel IPP 7.0 Library
Second, it seems a toolong list inOPT.
Actually, just -lipp*em64 (dispatched library)are required.all of otherslike ippdin8, ipprm7 processor-specific librariesare not required.
Please seehttp://software.intel.com/en-us/articles/intel-integrated-performance-primitives-intel-ipp-understanding-cpu-optimized-code-used-in-intel-ipp/
If you are using a dynamic link library this process is handled automatically when the dynamic link library is initialized.
BestRegards,
Ying
Thanks for the sharing. Yes, the IPP install package is different for different processor.
Intel Processor | Intel IPP Package |
32-bit IA-32 and compatible processors (Intel Core 2 processors, Intel Pentium processors, Intel Xeon processors, and compatible AMD* processors) | l_ipp_ia32_p_6.x.059.tgz |
64-bit Intel 64 and compatible processors (Intel Xeon and Pentium processors, and compatible AMD* processors) | l_ipp_em64t_p_6.x.059.tgz |
But IPP 7.0 will make the thing easy. The library name is aligned in both 32bit and 64bit. See New Directory Structure and Library Naming Scheme for Intel IPP 7.0 Library
Second, it seems a toolong list inOPT.
Actually, just -lipp*em64 (dispatched library)are required.all of otherslike ippdin8, ipprm7 processor-specific librariesare not required.
Please seehttp://software.intel.com/en-us/articles/intel-integrated-performance-primitives-intel-ipp-understanding-cpu-optimized-code-used-in-intel-ipp/
If you are using a dynamic link library this process is handled automatically when the dynamic link library is initialized.
BestRegards,
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