<?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 undefined reference with IPP and own .so  in Intel® Integrated Performance Primitives</title>
    <link>https://community.intel.com/t5/Intel-Integrated-Performance/undefined-reference-with-IPP-and-own-so/m-p/859379#M7560</link>
    <description>Hi,&lt;BR /&gt;&lt;BR /&gt;I work with the IPP 5.1 and developed some stuff under Windows and put all this stuff in a DLL and the IPP stuff is linked statically with all that libs in that order:&lt;BR /&gt;ippacemerged.lib ippacmerged.lib ippalign.lib ippccemerged.lib ippccmerged.lib&lt;BR /&gt; ippchemerged.lib ippchmerged.lib ippcvemerged.lib ippcvmerged.lib ippdcemerged.lib&lt;BR /&gt; ippdcmerged.lib ippiemerged.lib ippimerged.lib ippjemerged.lib ippjmerged.lib&lt;BR /&gt; ippmemerged.lib ippmmerged.lib ippscemerged.lib ippscmerged.lib ippsemerged.lib&lt;BR /&gt; ippsmerged.lib ippsremerged.lib ippsrmerged.lib ippvcemerged.lib ippvcmerged.lib&lt;BR /&gt; ippvmemerged.lib ippvmmerged.lib ippcorel.lib&lt;BR /&gt;&lt;BR /&gt;After that I build a test app which also needs some stuff of the IPP and this app uses the so I build before. &lt;BR /&gt;In Windows everything is fine.&lt;BR /&gt;&lt;BR /&gt;Now I tried to build the same thing in Linux and I have some trouble while linking.&lt;BR /&gt;I build the shared obkect with this order of libs:&lt;BR /&gt;ippacemerged ippacmerged ippalign ippccemerged ippccmerged &lt;BR /&gt; ippchemerged ippchmerged ippcvemerged ippcvmerged ippdcemerged &lt;BR /&gt; ippdcmerged ippiemerged ippimerged ippjemerged ippjmerged &lt;BR /&gt; ippmemerged ippmmerged ippscemerged ippscmerged &lt;BR /&gt; ippsremerged ippsrmerged ippvcemerged ippvcmerged &lt;BR /&gt; ippvmemerged ippvmmerged ippsemerged ippsmerged ippcore&lt;BR /&gt;&lt;BR /&gt;And building the so is no problem I also build a second so with IPP stuff.&lt;BR /&gt;Now I build the test app and I get:&lt;BR /&gt;undefined reference to `ippGetMaxCacheSizeB'&lt;BR /&gt;undefined reference to `ippGetStatusString'&lt;BR /&gt;&lt;BR /&gt;Is there somebody who can tell me in which order I have to use the ipp libs and the so in the makefiles?&lt;BR /&gt;I also tried to put all ipp libs in the makefile then my so libs and then once more all ipp libs, but it doesnt help.&lt;BR /&gt;&lt;BR /&gt;Thanx in advance,&lt;BR /&gt;Peter&lt;BR /&gt;&lt;BR /&gt;</description>
    <pubDate>Wed, 30 May 2007 12:15:41 GMT</pubDate>
    <dc:creator>peter77</dc:creator>
    <dc:date>2007-05-30T12:15:41Z</dc:date>
    <item>
      <title>undefined reference with IPP and own .so</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/undefined-reference-with-IPP-and-own-so/m-p/859379#M7560</link>
      <description>Hi,&lt;BR /&gt;&lt;BR /&gt;I work with the IPP 5.1 and developed some stuff under Windows and put all this stuff in a DLL and the IPP stuff is linked statically with all that libs in that order:&lt;BR /&gt;ippacemerged.lib ippacmerged.lib ippalign.lib ippccemerged.lib ippccmerged.lib&lt;BR /&gt; ippchemerged.lib ippchmerged.lib ippcvemerged.lib ippcvmerged.lib ippdcemerged.lib&lt;BR /&gt; ippdcmerged.lib ippiemerged.lib ippimerged.lib ippjemerged.lib ippjmerged.lib&lt;BR /&gt; ippmemerged.lib ippmmerged.lib ippscemerged.lib ippscmerged.lib ippsemerged.lib&lt;BR /&gt; ippsmerged.lib ippsremerged.lib ippsrmerged.lib ippvcemerged.lib ippvcmerged.lib&lt;BR /&gt; ippvmemerged.lib ippvmmerged.lib ippcorel.lib&lt;BR /&gt;&lt;BR /&gt;After that I build a test app which also needs some stuff of the IPP and this app uses the so I build before. &lt;BR /&gt;In Windows everything is fine.&lt;BR /&gt;&lt;BR /&gt;Now I tried to build the same thing in Linux and I have some trouble while linking.&lt;BR /&gt;I build the shared obkect with this order of libs:&lt;BR /&gt;ippacemerged ippacmerged ippalign ippccemerged ippccmerged &lt;BR /&gt; ippchemerged ippchmerged ippcvemerged ippcvmerged ippdcemerged &lt;BR /&gt; ippdcmerged ippiemerged ippimerged ippjemerged ippjmerged &lt;BR /&gt; ippmemerged ippmmerged ippscemerged ippscmerged &lt;BR /&gt; ippsremerged ippsrmerged ippvcemerged ippvcmerged &lt;BR /&gt; ippvmemerged ippvmmerged ippsemerged ippsmerged ippcore&lt;BR /&gt;&lt;BR /&gt;And building the so is no problem I also build a second so with IPP stuff.&lt;BR /&gt;Now I build the test app and I get:&lt;BR /&gt;undefined reference to `ippGetMaxCacheSizeB'&lt;BR /&gt;undefined reference to `ippGetStatusString'&lt;BR /&gt;&lt;BR /&gt;Is there somebody who can tell me in which order I have to use the ipp libs and the so in the makefiles?&lt;BR /&gt;I also tried to put all ipp libs in the makefile then my so libs and then once more all ipp libs, but it doesnt help.&lt;BR /&gt;&lt;BR /&gt;Thanx in advance,&lt;BR /&gt;Peter&lt;BR /&gt;&lt;BR /&gt;</description>
      <pubDate>Wed, 30 May 2007 12:15:41 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/undefined-reference-with-IPP-and-own-so/m-p/859379#M7560</guid>
      <dc:creator>peter77</dc:creator>
      <dc:date>2007-05-30T12:15:41Z</dc:date>
    </item>
    <item>
      <title>Re: undefined reference with IPP and own .so</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/undefined-reference-with-IPP-and-own-so/m-p/859380#M7561</link>
      <description>&lt;P&gt;Hi Peter,&lt;/P&gt;
&lt;P&gt;undefined functions are located in ippcore library&lt;/P&gt;
&lt;P&gt;Regards,&lt;BR /&gt; Vladimir&lt;/P&gt;</description>
      <pubDate>Mon, 04 Jun 2007 21:34:24 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/undefined-reference-with-IPP-and-own-so/m-p/859380#M7561</guid>
      <dc:creator>Vladimir_Dudnik</dc:creator>
      <dc:date>2007-06-04T21:34:24Z</dc:date>
    </item>
    <item>
      <title>Re: undefined reference with IPP and own .so</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/undefined-reference-with-IPP-and-own-so/m-p/859381#M7562</link>
      <description>Thanx, I got it.&lt;BR /&gt;&lt;BR /&gt;Now I have another problem with my individual so. I tried to build the so and link all ipp stuff static into this so. It works fine.&lt;BR /&gt;&lt;BR /&gt;Now I tried to build a app that don't need IPP and shouldn't use it (e.g. sell the so as SDK and user should build apps with IPP libs).&lt;BR /&gt;&lt;BR /&gt;While linking my so to my app, I get everytime undefined references to all the ipp functions used in the so.&lt;BR /&gt;I wonder about that, becuase I thought that linking my app there should be no refernce to ipp becuase everthing is finally in the so, right?&lt;BR /&gt;&lt;BR /&gt;Under WIndoiws I do exactly the same and it works fine, I can use the DLL without additional IPP stuff, just link the import lib of my own DLL and everything is fine.&lt;BR /&gt;&lt;BR /&gt;How can I do that with Linux?&lt;BR /&gt;&lt;BR /&gt;Thnx,&lt;BR /&gt;Peter&lt;BR /&gt;&lt;BR /&gt;</description>
      <pubDate>Fri, 08 Jun 2007 15:56:50 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/undefined-reference-with-IPP-and-own-so/m-p/859381#M7562</guid>
      <dc:creator>peter77</dc:creator>
      <dc:date>2007-06-08T15:56:50Z</dc:date>
    </item>
    <item>
      <title>Re: undefined reference with IPP and own .so</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/undefined-reference-with-IPP-and-own-so/m-p/859382#M7563</link>
      <description>&lt;P&gt;Hi, Peter!&lt;/P&gt;
&lt;P&gt;Which architecture do you build shared library for? Is it IA32 or Intel64 (x86_64)? And how do you link your shared library? Could you send linkage string?&lt;/P&gt;
&lt;P&gt;Best regards, Pavel.&lt;/P&gt;</description>
      <pubDate>Fri, 08 Jun 2007 18:59:39 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/undefined-reference-with-IPP-and-own-so/m-p/859382#M7563</guid>
      <dc:creator>Pavel_B_Intel1</dc:creator>
      <dc:date>2007-06-08T18:59:39Z</dc:date>
    </item>
    <item>
      <title>Re: undefined reference with IPP and own .so</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/undefined-reference-with-IPP-and-own-so/m-p/859383#M7564</link>
      <description>Hi, here the linking strings:&lt;BR /&gt;&lt;BR /&gt;first the one for the so, the Release_gmm_dll/libgmm.so is my so
&lt;PRE&gt;I tried:&lt;BR /&gt;-L../../../packages/ipp/5.1/lnx_gcc/lib/nonpic
&lt;BR /&gt;and &lt;BR /&gt;-L../../../packages/ipp/5.1/lnx_gcc/lib&lt;BR /&gt;&lt;BR /&gt;as path.&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;g++ -shared  -s -m32 -o Release_gmm_dll/libgmm.so &lt;BR /&gt;Release_gmm_dll/gmm.o    &lt;BR /&gt;    -L../lib/Release -L../lib&lt;BR /&gt;-L../../../packages/ipp/5.1/lnx_gcc/lib -Wl,-Bstatic  -lippacemerged&lt;BR /&gt;-lippacmerged -lippalign -lippccemerged -lippccmerged -lippchemerged&lt;BR /&gt;-lippchmerged -lippcvemerged -lippcvmerged -lippdcemerged -lippdcmerged&lt;BR /&gt;-lippiemerged -lippimerged -lippjemerged -lippjmerged -lippmemerged&lt;BR /&gt;-lippmmerged -lippscemerged -lippscmerged -lippsemerged -lippsmerged&lt;BR /&gt;-lippsremerged -lippsrmerged -lippvcemerged -lippvcmerged -lippvmemerged&lt;BR /&gt;-lippvmmerged -lippcore -Wl,-Bdynamic -lstdc++  -lpthread&lt;/PRE&gt;The linking string for the app is:&lt;BR /&gt;&lt;PRE&gt;Linking target Release_testttt_exe/testttt.out&lt;BR /&gt;-s -m32 -L../lib/Release -L../lib -Wl,-Bstatic -Wl,-Bdynamic -lstdc++&lt;BR /&gt;-lgmm -lpthread&lt;BR /&gt;../lib/Release/libgmm.so: undefined reference to `w7_ippsDiv_64f'&lt;BR /&gt;../lib/Release/libgmm.so: undefined reference to `a6_ippsMalloc_8u'&lt;BR /&gt;make[1]: Leaving directory&lt;BR /&gt;../lib/Release/libgmm.so: undefined reference to `w7_ippsSet_8u'&lt;BR /&gt;../lib/Release/libgmm.so: undefined reference to `px_ippsCopy_8u'&lt;BR /&gt;../lib/Release/libgmm.so: undefined reference to `px_ippsSet_32s'&lt;BR /&gt;../lib/Release/libgmm.so: undefined reference to `t7_ippsSet_32s'&lt;BR /&gt;../lib/Release/libgmm.so: undefined reference to `w7_ippsCopy_8u'&lt;/PRE&gt;&lt;BR /&gt;What could be wrong with that linking strategie? The nonpic is for kernel modules and not needed for normal applications, right?&lt;BR /&gt;&lt;BR /&gt;Thx,&lt;BR /&gt;Peter&lt;BR /&gt;&lt;BR /&gt;</description>
      <pubDate>Mon, 11 Jun 2007 13:28:10 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/undefined-reference-with-IPP-and-own-so/m-p/859383#M7564</guid>
      <dc:creator>peter77</dc:creator>
      <dc:date>2007-06-11T13:28:10Z</dc:date>
    </item>
    <item>
      <title>Re: undefined reference with IPP and own .so</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/undefined-reference-with-IPP-and-own-so/m-p/859384#M7565</link>
      <description>&lt;P&gt;Hi, Peter!&lt;/P&gt;
&lt;P&gt;Please use option "-z defs" in building your shared library:&lt;/P&gt;
&lt;P&gt;-z defs:disallows undefined symbols. It helps you to make your library smaller (by default all functions of IPP will be embeded in your library).&lt;/P&gt;
&lt;P&gt;The second: it is very important to keep order of linking libraries. You should set such order:&lt;/P&gt;
&lt;P&gt;-lippacemerged -lippccmerged -lippccemerged -lippccmerged -lippchemerged&lt;BR /&gt;-lippchmerged -lippcvemerged -lippcvmerged -lippdcemerged -lippdcmerged&lt;BR /&gt;-lippjemerged -lippjmerged -lippmemerged -lippmmerged -lippscemerged -lippscmerged&lt;BR /&gt;-lippsremerged -lippsrmerged -lippvcemerged -lippvcmerged -lippvmemerged&lt;BR /&gt;-lippvmmerged-lippiemerged -lippimerged -lippsemerged -lippsmerged-lippcore&lt;/P&gt;
&lt;P&gt;I hope it should solve your problem.&lt;/P&gt;
&lt;P&gt;Pavel.&lt;/P&gt;</description>
      <pubDate>Wed, 13 Jun 2007 11:59:45 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/undefined-reference-with-IPP-and-own-so/m-p/859384#M7565</guid>
      <dc:creator>Pavel_B_Intel1</dc:creator>
      <dc:date>2007-06-13T11:59:45Z</dc:date>
    </item>
  </channel>
</rss>

