<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic linking problem on Xeon cpu in Intel® Integrated Performance Primitives</title>
    <link>https://community.intel.com/t5/Intel-Integrated-Performance/linking-problem-on-Xeon-cpu/m-p/870393#M8876</link>
    <description>&lt;P&gt;Hello!&lt;/P&gt;
&lt;P&gt; I've triedto link my program with IPP libraries statically, but the linker had problem with relocation. I use the em64t package for linux.&lt;/P&gt;
&lt;P&gt;Thelinker output:&lt;/P&gt;
&lt;P&gt;g++ -shared -fPIC -Wall -D_LINUX -D_STATIC -O3 -I/opt/intel/ipp/5.1/em64t/include -I/netavis/JAVA/jdk1.6.0_01/include -I/netavis/JAVA/jdk1.6.0_01/include/linux -o libNativeMotionDetector.so motiondetector.cpp detectorctrl.cpp opregion.cpp collidetector.cpp noiseestimator.cpp propertylist.cpp -L/home/motdet/jpegcodec -L/opt/intel/ipp/5.1/em64t/lib -lippjemergedem64t -lippjmergedem64t -lippcvemergedem64t -lippcvmergedem64t -lippiemergedem64t -lippimergedem64t -lippsemergedem64t -lippsmergedem64t -lippcoreem64t -lJPEGCodec&lt;BR /&gt;&lt;STRONG&gt;/usr/bin/ld: /opt/intel/ipp/5.1/em64t/lib/libippimergedem64t.a(pisum16sm7as.o): relocation R_X86_64_PC32 against `m7_ownpis_Sum_16s_C1' can not be used when making a shared object; recompile with -fPIC&lt;BR /&gt;&lt;/STRONG&gt;/usr/bin/ld: final link failed: Bad value&lt;BR /&gt;collect2: ld returned 1 exit status&lt;BR /&gt;make: *** [libNativeMotionDetector.so] Error 1&lt;/P&gt;
&lt;P&gt;and the Makefile:&lt;/P&gt;
&lt;P&gt;&lt;FONT size="2"&gt;INCLUDE_PATH := /opt/intel/ipp/5.1/em64t/include /netavis/JAVA/jdk1.6.0_01/include&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT size="2"&gt;/netavis/JAVA/jdk1.6.0_01/include/linux  &lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT size="2"&gt;LIBRARY_PATH := /home/motdet/jpegcodec /opt/intel/ipp/5.1/em64t/lib&lt;BR /&gt;CC := g++&lt;BR /&gt;CCFLAGS := -fPIC -Wall -D_LINUX -D_STATIC -O3 $(addprefix -I,$(INCLUDE_PATH))&lt;BR /&gt;LDFLAGS := $(addprefix -L,$(LIBRARY_PATH))&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT size="2"&gt;LIBNAME := libNativeMotionDetector.so&lt;BR /&gt;SOURCE := motiondetector.cpp detectorctrl.cpp opregion.cpp collidetector.cpp &lt;BR /&gt; noiseestimator.cpp propertylist.cpp &lt;BR /&gt;IPPLIB := ippjemergedem64t ippjmergedem64t ippcvemergedem64t ippcvmergedem64t &lt;BR /&gt;ippiemergedem64t ippimergedem64t ippsemergedem64t ippsmergedem64t &lt;BR /&gt;  ippcoreem64t&lt;BR /&gt;&lt;BR /&gt;$(LIBNAME) : $(SOURCE)&lt;BR /&gt; $(CC) -shared $(CCFLAGS) -o $@ $^ $(LDFLAGS) $(addprefix -l,$(IPPLIB)) -lJPEGCodec&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT size="2"&gt;.PHONY : clean&lt;BR /&gt;clean:&lt;BR /&gt;-rm $(LIBNAME) &lt;BR /&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color="#000000"&gt;The last shared library("libJPEGCodec")to link is statically linked too. This uses the&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color="#000000"&gt;ippi,ipps,ippj,ippcc emerged and merged libraries, and make runs without any error message.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;More details:&lt;/P&gt;
&lt;P&gt;CPU: Intel Xeon CPU 5110 @ 1.60GHz &lt;/P&gt;
&lt;P&gt;GCC: 3.4.6 (Red Hat 3.4.6-3)&lt;/P&gt;
&lt;P&gt;System: Linux 2.6.9-42 x86_64&lt;/P&gt;
&lt;P&gt;Have you any idea what is the cause ofthe problem?&lt;/P&gt;
&lt;P&gt;Thanks inadvance&lt;/P&gt;
&lt;P&gt;Laci&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&lt;BR /&gt;&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;</description>
    <pubDate>Wed, 11 Apr 2007 17:02:12 GMT</pubDate>
    <dc:creator>ldezsenyi</dc:creator>
    <dc:date>2007-04-11T17:02:12Z</dc:date>
    <item>
      <title>linking problem on Xeon cpu</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/linking-problem-on-Xeon-cpu/m-p/870393#M8876</link>
      <description>&lt;P&gt;Hello!&lt;/P&gt;
&lt;P&gt; I've triedto link my program with IPP libraries statically, but the linker had problem with relocation. I use the em64t package for linux.&lt;/P&gt;
&lt;P&gt;Thelinker output:&lt;/P&gt;
&lt;P&gt;g++ -shared -fPIC -Wall -D_LINUX -D_STATIC -O3 -I/opt/intel/ipp/5.1/em64t/include -I/netavis/JAVA/jdk1.6.0_01/include -I/netavis/JAVA/jdk1.6.0_01/include/linux -o libNativeMotionDetector.so motiondetector.cpp detectorctrl.cpp opregion.cpp collidetector.cpp noiseestimator.cpp propertylist.cpp -L/home/motdet/jpegcodec -L/opt/intel/ipp/5.1/em64t/lib -lippjemergedem64t -lippjmergedem64t -lippcvemergedem64t -lippcvmergedem64t -lippiemergedem64t -lippimergedem64t -lippsemergedem64t -lippsmergedem64t -lippcoreem64t -lJPEGCodec&lt;BR /&gt;&lt;STRONG&gt;/usr/bin/ld: /opt/intel/ipp/5.1/em64t/lib/libippimergedem64t.a(pisum16sm7as.o): relocation R_X86_64_PC32 against `m7_ownpis_Sum_16s_C1' can not be used when making a shared object; recompile with -fPIC&lt;BR /&gt;&lt;/STRONG&gt;/usr/bin/ld: final link failed: Bad value&lt;BR /&gt;collect2: ld returned 1 exit status&lt;BR /&gt;make: *** [libNativeMotionDetector.so] Error 1&lt;/P&gt;
&lt;P&gt;and the Makefile:&lt;/P&gt;
&lt;P&gt;&lt;FONT size="2"&gt;INCLUDE_PATH := /opt/intel/ipp/5.1/em64t/include /netavis/JAVA/jdk1.6.0_01/include&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT size="2"&gt;/netavis/JAVA/jdk1.6.0_01/include/linux  &lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT size="2"&gt;LIBRARY_PATH := /home/motdet/jpegcodec /opt/intel/ipp/5.1/em64t/lib&lt;BR /&gt;CC := g++&lt;BR /&gt;CCFLAGS := -fPIC -Wall -D_LINUX -D_STATIC -O3 $(addprefix -I,$(INCLUDE_PATH))&lt;BR /&gt;LDFLAGS := $(addprefix -L,$(LIBRARY_PATH))&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT size="2"&gt;LIBNAME := libNativeMotionDetector.so&lt;BR /&gt;SOURCE := motiondetector.cpp detectorctrl.cpp opregion.cpp collidetector.cpp &lt;BR /&gt; noiseestimator.cpp propertylist.cpp &lt;BR /&gt;IPPLIB := ippjemergedem64t ippjmergedem64t ippcvemergedem64t ippcvmergedem64t &lt;BR /&gt;ippiemergedem64t ippimergedem64t ippsemergedem64t ippsmergedem64t &lt;BR /&gt;  ippcoreem64t&lt;BR /&gt;&lt;BR /&gt;$(LIBNAME) : $(SOURCE)&lt;BR /&gt; $(CC) -shared $(CCFLAGS) -o $@ $^ $(LDFLAGS) $(addprefix -l,$(IPPLIB)) -lJPEGCodec&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT size="2"&gt;.PHONY : clean&lt;BR /&gt;clean:&lt;BR /&gt;-rm $(LIBNAME) &lt;BR /&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color="#000000"&gt;The last shared library("libJPEGCodec")to link is statically linked too. This uses the&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color="#000000"&gt;ippi,ipps,ippj,ippcc emerged and merged libraries, and make runs without any error message.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;More details:&lt;/P&gt;
&lt;P&gt;CPU: Intel Xeon CPU 5110 @ 1.60GHz &lt;/P&gt;
&lt;P&gt;GCC: 3.4.6 (Red Hat 3.4.6-3)&lt;/P&gt;
&lt;P&gt;System: Linux 2.6.9-42 x86_64&lt;/P&gt;
&lt;P&gt;Have you any idea what is the cause ofthe problem?&lt;/P&gt;
&lt;P&gt;Thanks inadvance&lt;/P&gt;
&lt;P&gt;Laci&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&lt;BR /&gt;&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;</description>
      <pubDate>Wed, 11 Apr 2007 17:02:12 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/linking-problem-on-Xeon-cpu/m-p/870393#M8876</guid>
      <dc:creator>ldezsenyi</dc:creator>
      <dc:date>2007-04-11T17:02:12Z</dc:date>
    </item>
    <item>
      <title>Re: linking problem on Xeon cpu</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/linking-problem-on-Xeon-cpu/m-p/870394#M8877</link>
      <description>&lt;P&gt;Hello,&lt;/P&gt;
&lt;P&gt;you ned to use the followinglinker option:&lt;/P&gt;&lt;FONT color="#008080" size="2"&gt;
&lt;P&gt;--pic-executable&lt;BR /&gt;Create a position independent executable. This is currently only supported on ELF platforms. Position independent executables are similar to shared libraries in that they are relocated by the dynamic linker to the virtual address the OS chooses for them (which can vary between invocations). Like normal dynamically linked executables they can be executed and symbols defined in the executable cannot be overridden by shared libraries.&lt;/P&gt;&lt;/FONT&gt;
&lt;P&gt;Regards,&lt;BR /&gt; Vladimir&lt;/P&gt;</description>
      <pubDate>Fri, 13 Apr 2007 18:04:10 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/linking-problem-on-Xeon-cpu/m-p/870394#M8877</guid>
      <dc:creator>Vladimir_Dudnik</dc:creator>
      <dc:date>2007-04-13T18:04:10Z</dc:date>
    </item>
    <item>
      <title>Re: linking problem on Xeon cpu</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/linking-problem-on-Xeon-cpu/m-p/870395#M8878</link>
      <description>&lt;P&gt;Thanks Vladimir!&lt;/P&gt;
&lt;P&gt;It works fine...&lt;/P&gt;
&lt;P&gt;Regards&lt;/P&gt;
&lt;P&gt;Laci&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;</description>
      <pubDate>Wed, 18 Apr 2007 17:15:23 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/linking-problem-on-Xeon-cpu/m-p/870395#M8878</guid>
      <dc:creator>ldezsenyi</dc:creator>
      <dc:date>2007-04-18T17:15:23Z</dc:date>
    </item>
  </channel>
</rss>

