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

Problems linking on RedHat E3

mmuratet
Beginner
263 Views
With the following make file
INCLUDE = -I/opt/intel/ipp/6.0.1.071/em64t/include
LIBS = -L/opt/intel/ipp/6.0.1.071/em64t/lib -L/opt/intel/ipp/6.0.1.071/em64t/shared_lib -lippcoreem64t \
-lippacemergedem64t \
-lippccemergedem64t \
-lippchemergedem64t \
-lippcvemergedem64t \
-lippdcemergedem64t \
-lippdiemergedem64t \
-lippgenemergedem64t \
-lippiemergedem64t \
-lippjemergedem64t \
-lippmemergedem64t \
-lippremergedem64t \
-lippscemergedem64t \
-lippsemergedem64t \
-lippsremergedem64t \
-lippvcemergedem64t \
-lippvmemergedem64t

xcorr : xcorr.o
gcc $(INCLUDE) xcorr.c $(LIBS)

I get

gcc -I/opt/intel/ipp/6.0.1.071/em64t/include xcorr.c -L/opt/intel/ipp/6.0.1.071/em64t/lib -L/opt/intel/ipp/6.0.1.071/em64t/shared_lib -lippcoreem64t -lippacemergedem64t -lippccemergedem64t -lippchemergedem64t -lippcvemergedem64t -lippdcemergedem64t -lippdiemergedem64t -lippgenemergedem64t -lippiemergedem64t -lippjemergedem64t -lippmemergedem64t -lippremergedem64t -lippscemergedem64t -lippsemergedem64t -lippsremergedem64t -lippvcemergedem64t -lippvmemergedem64t
/usr/lib/gcc/x86_64-redhat-linux/3.4.6/../../../../lib64/crt1.o(.text+0x21): In function `_start':
: undefined reference to `main'
/opt/intel/ipp/6.0.1.071/em64t/lib/libippsemergedem64t.a(ipps00008as.o)(.text+0x3): In function `ippsMalloc_32f':
: undefined reference to `ippJumpIndexForMergedLibs'
/opt/intel/ipp/6.0.1.071/em64t/lib/libippsemergedem64t.a(ipps00008.o)(.data+0x0): undefined reference to `mx_ippsMalloc_32f'
/opt/intel/ipp/6.0.1.071/em64t/lib/libippsemergedem64t.a(ipps00008.o)(.data+0x8): undefined reference to `m7_ippsMalloc_32f'
/opt/intel/ipp/6.0.1.071/em64t/lib/libippsemergedem64t.a(ipps00008.o)(.data+0x10): undefined reference to `u8_ippsMalloc_32f'
/opt/intel/ipp/6.0.1.071/em64t/lib/libippsemergedem64t.a(ipps00008.o)(.data+0x18): undefined reference to `y8_ippsMalloc_32f'
/opt/intel/ipp/6.0.1.071/em64t/lib/libippsemergedem64t.a(ipps01994as.o)(.text+0x3): In function `ippsCrossCorr_32f':
: undefined reference to `ippJumpIndexForMergedLibs'
/opt/intel/ipp/6.0.1.071/em64t/lib/libippsemergedem64t.a(ipps01994.o)(.data+0x0): undefined reference to `mx_ippsCrossCorr_32f'
/opt/intel/ipp/6.0.1.071/em64t/lib/libippsemergedem64t.a(ipps01994.o)(.data+0x8): undefined reference to `m7_ippsCrossCorr_32f'
/opt/intel/ipp/6.0.1.071/em64t/lib/libippsemergedem64t.a(ipps01994.o)(.data+0x10): undefined reference to `u8_ippsCrossCorr_32f'
/opt/intel/ipp/6.0.1.071/em64t/lib/libippsemergedem64t.a(ipps01994.o)(.data+0x18): undefined reference to `y8_ippsCrossCorr_32f'
collect2: ld returned 1 exit status

The commands look OK to me, can someone help me uncover the error of my ways?

Thanks

Mike
0 Kudos
1 Reply
elhefe38
Beginner
263 Views
Hello

Quoting - mmuratet
With the following make file
INCLUDE = -I/opt/intel/ipp/6.0.1.071/em64t/include
LIBS = -L/opt/intel/ipp/6.0.1.071/em64t/lib -L/opt/intel/ipp/6.0.1.071/em64t/shared_lib -lippcoreem64t
-lippacemergedem64t
-lippccemergedem64t
-lippchemergedem64t
-lippcvemergedem64t
-lippdcemergedem64t
-lippdiemergedem64t
-lippgenemergedem64t
-lippiemergedem64t
-lippjemergedem64t
-lippmemergedem64t
-lippremergedem64t
-lippscemergedem64t
-lippsemergedem64t
-lippsremergedem64t
-lippvcemergedem64t
-lippvmemergedem64t


/opt/intel/ipp/6.0.1.071/em64t/lib/libippsemergedem64t.a(ipps00008as.o)(.text+0x3): In function `ippsMalloc_32f':
: undefined reference to `ippJumpIndexForMergedLibs'
/opt/intel/ipp/6.0.1.071/em64t/lib/libippsemergedem64t.a(ipps00008.o)(.data+0x0): undefined reference to `mx_ippsMalloc_32f'
/opt/intel/ipp/6.0.1.071/em64t/lib/libippsemergedem64t.a(ipps00008.o)(.data+0x8): undefined reference to `m7_ippsMalloc_32f'
/opt/intel/ipp/6.0.1.071/em64t/lib/libippsemergedem64t.a(ipps00008.o)(.data+0x10): undefined reference to `u8_ippsMalloc_32f'
/opt/intel/ipp/6.0.1.071/em64t/lib/libippsemergedem64t.a(ipps00008.o)(.data+0x18): undefined reference to `y8_ippsMalloc_32f'
/opt/intel/ipp/6.0.1.071/em64t/lib/libippsemergedem64t.a(ipps01994as.o)(.text+0x3): In function `ippsCrossCorr_32f':
: undefined reference to `ippJumpIndexForMergedLibs'
/opt/intel/ipp/6.0.1.071/em64t/lib/libippsemergedem64t.a(ipps01994.o)(.data+0x0): undefined reference to `mx_ippsCrossCorr_32f'
/opt/intel/ipp/6.0.1.071/em64t/lib/libippsemergedem64t.a(ipps01994.o)(.data+0x8): undefined reference to `m7_ippsCrossCorr_32f'
/opt/intel/ipp/6.0.1.071/em64t/lib/libippsemergedem64t.a(ipps01994.o)(.data+0x10): undefined reference to `u8_ippsCrossCorr_32f'
/opt/intel/ipp/6.0.1.071/em64t/lib/libippsemergedem64t.a(ipps01994.o)(.data+0x18): undefined reference to `y8_ippsCrossCorr_32f'
collect2: ld returned 1 exit status



You miss the *mergedem64t.lib (not *emergedem64t which you already included). If you add
-lippsmergedem64t.lib -lippimergedem64t.lib (...) it should work

0 Kudos
Reply