Intel® Integrated Performance Primitives
Deliberate problems developing high-performance vision, signal, security, and storage applications.
Announcements
The Intel sign-in experience has changed to support enhanced security controls. If you sign in, click here for more information.

Problems linking on RedHat E3

mmuratet
Beginner
159 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
159 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

Reply