<?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 Re: Static Link Is Failing in Intel® Integrated Performance Primitives</title>
    <link>https://community.intel.com/t5/Intel-Integrated-Performance/Static-Link-Is-Failing/m-p/882461#M10356</link>
    <description>&lt;DIV style="margin:0px;"&gt;Hello,&lt;/DIV&gt;
&lt;DIV style="margin:0px;"&gt;it seems like library order issue (yes it still exist on Linux).&lt;/DIV&gt;
&lt;DIV style="margin:0px;"&gt;You may take a look at IPP JPEGView sample to see what is the right order. The samplelink shared libraries by default but also might be linked with static libraries (you need to specify LINKAGE=static in build script.&lt;/DIV&gt;
&lt;DIV style="margin:0px;"&gt;Regards,&lt;BR /&gt; Vladimir&lt;/DIV&gt;
&lt;DIV style="margin:0px;"&gt;&lt;/DIV&gt;
&lt;P&gt;&lt;/P&gt;</description>
    <pubDate>Tue, 16 Dec 2008 18:49:09 GMT</pubDate>
    <dc:creator>Vladimir_Dudnik</dc:creator>
    <dc:date>2008-12-16T18:49:09Z</dc:date>
    <item>
      <title>Static Link Is Failing</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/Static-Link-Is-Failing/m-p/882460#M10355</link>
      <description>&lt;P&gt;I'm trying to link statically on Linux with v5.3 of IPP. We have a C++ object called SPXToolboxIPP that calls IPP functions. This is an enviornment that links fine when I link with the dynamic libraries (in 'sharedlib'), now I'm trying to link with the libraries in 'lib'. With lib I get many, many linker resolution errors, a sample follows:&lt;/P&gt;
&lt;P&gt;../SPXIntel/Debug/libSPXIntel.a(SPXToolboxIPP.o): In function `SPXToolboxIPP::mtranspose(cfloat32*, cfloat32*, unsigned int, unsigned int)':&lt;BR /&gt;/home/spxuser/svn/spxc/SPXIntel/SPXToolboxIPP.cpp:2599: undefined reference to `ippmTranspose_m_32f'&lt;BR /&gt;/home/spxuser/svn/spxc/SPXIntel/SPXToolboxIPP.cpp:2602: undefined reference to `ippmTranspose_m_32f'&lt;BR /&gt;../SPXIntel/Debug/libSPXIntel.a(SPXToolboxIPP.o): In function `SPXToolboxIPP::mmult(float*, unsigned int, unsigned int, float*, unsigned int, unsigned int, float*)':&lt;BR /&gt;/home/spxuser/svn/spxc/SPXIntel/SPXToolboxIPP.cpp:2583: undefined reference to `ippmMul_mm_32f'&lt;BR /&gt;../SPXIntel/Debug/libSPXIntel.a(SPXToolboxIPP.o): In function `SPXToolboxIPP::szero(cfloat32*, unsigned int)':&lt;BR /&gt;/home/spxuser/svn/spxc/SPXIntel/SPXToolboxIPP.cpp:2569: undefined reference to `ippsZero_32fc'&lt;/P&gt;
&lt;P&gt;&lt;BR /&gt;This is what I use in our make file when linking dynamically (which works):&lt;/P&gt;
&lt;P&gt;EXTRALIBS = -lippacem64t -lippchem64t -lippsem64t -lippvmem64t -lippmem64t -lguide -lippsrem64t -lippcoreem64t -lpthread&lt;BR /&gt;EXTRALIBDIR = -L$(IPPROOT)/sharedlib&lt;/P&gt;
&lt;P&gt;This is what I use to link statically (which does not work - linker errors, tried to make it work by including just about every IPP library):&lt;BR /&gt;EXTRALIBS = -lippacemergedem64t -lippacmergedem64t -lippccemergedem64t -lippccmergedem64t -lippchemergedem64t -lippchmergedem64t -lippcvemergedem64t -lippcvmergedem64t -lippdcemergedem64t -lippdcmergedem64t -lippiemergedem64t -lippimergedem64t -lippjemergedem64t -lippjmergedem64t -lippmemergedem64t -lippmmergedem64t -lippremergedem64t -lipprmergedem64t -lippscemergedem64t -lippscmergedem64t -lippsemergedem64t -lippsmergedem64t -lippsremergedem64t -lippsrmergedem64t -lippvcemergedem64t -lippvcmergedem64t -lippvmemergedem64t -lippvmmergedem64t -lippcoreem64t -lpthread&lt;BR /&gt;EXTRALIBDIR = -L$(IPPROOT)/lib&lt;/P&gt;
&lt;P&gt;This is the static link command line:&lt;BR /&gt;g++ -L/opt/intel/ipp/5.3.4.080/em64t/lib -o Proc Proc.o -lippacemergedem64t -lippacmergedem64t -lippccemergedem64t -lippccmergedem64t -lippchemergedem64t -ippchmergedem64t -lippcvemergedem64t -lippcvmergedem64t -lippdcemergedem64t -lippdcmergedem64t -lippiemergedem64t -lippimergedem64t -lippjemergedem64t -lippjmergedem64t -lippmemergedem64t -lippmmergedem64t -lippremergedem64t -lipprmergedem64t -lippscemergedem64t -lippscmergedem64t -lippsemergedem64t -lippsmergedem64t -lippsremergedem64t -lippsrmergedem64t -lippvcemergedem64t -lippvcmergedem64t -lippvmemergedem64t -lippvmmergedem64t -lippcoreem64t -lpthread -lrt&lt;/P&gt;
&lt;P&gt;This is the first time I've tried to link IPP statically on Linux. I have linked both dynamically and staticly on Windows.&lt;/P&gt;
&lt;P&gt;I believe I'm including the correct libraries in the link command. Is list a Linux library link order issue? (does that even still exist?) Is it a C++ issue? (function naming issue?)&lt;/P&gt;
&lt;P&gt;Update: I was able to replicate this issue (failing to link) on other Linux platforms using both IPP 5.3 and the new 6.0 - I'm curious why the same approach works on Windows but not on Linux?&lt;/P&gt;
&lt;P&gt;I believe I'm doing everything the documentation says for this and could use some help here!&lt;/P&gt;</description>
      <pubDate>Mon, 15 Dec 2008 21:59:58 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/Static-Link-Is-Failing/m-p/882460#M10355</guid>
      <dc:creator>astrasel</dc:creator>
      <dc:date>2008-12-15T21:59:58Z</dc:date>
    </item>
    <item>
      <title>Re: Static Link Is Failing</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/Static-Link-Is-Failing/m-p/882461#M10356</link>
      <description>&lt;DIV style="margin:0px;"&gt;Hello,&lt;/DIV&gt;
&lt;DIV style="margin:0px;"&gt;it seems like library order issue (yes it still exist on Linux).&lt;/DIV&gt;
&lt;DIV style="margin:0px;"&gt;You may take a look at IPP JPEGView sample to see what is the right order. The samplelink shared libraries by default but also might be linked with static libraries (you need to specify LINKAGE=static in build script.&lt;/DIV&gt;
&lt;DIV style="margin:0px;"&gt;Regards,&lt;BR /&gt; Vladimir&lt;/DIV&gt;
&lt;DIV style="margin:0px;"&gt;&lt;/DIV&gt;
&lt;P&gt;&lt;/P&gt;</description>
      <pubDate>Tue, 16 Dec 2008 18:49:09 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/Static-Link-Is-Failing/m-p/882461#M10356</guid>
      <dc:creator>Vladimir_Dudnik</dc:creator>
      <dc:date>2008-12-16T18:49:09Z</dc:date>
    </item>
    <item>
      <title>Re: Static Link Is Failing</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/Static-Link-Is-Failing/m-p/882462#M10357</link>
      <description>&lt;DIV style="margin: 0px; height: auto;"&gt;&lt;/DIV&gt;
&lt;DIV style="margin:0px;"&gt;Turned out is was a library link order issue - it was immediately obvious because I was already linking successfully with the shared libaries. Why hasn't this been fixed in the Linux world? I don't believe it is an issue with Windows compilers (?)&lt;/DIV&gt;
&lt;P&gt;&lt;/P&gt;</description>
      <pubDate>Wed, 17 Dec 2008 16:05:12 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/Static-Link-Is-Failing/m-p/882462#M10357</guid>
      <dc:creator>astrasel</dc:creator>
      <dc:date>2008-12-17T16:05:12Z</dc:date>
    </item>
    <item>
      <title>Re: Static Link Is Failing</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/Static-Link-Is-Failing/m-p/882463#M10358</link>
      <description>&lt;DIV style="margin:0px;"&gt;&lt;/DIV&gt;
&lt;P&gt;Yes, on Windows, libraries order does not matter because of two-pass linker.&lt;/P&gt;</description>
      <pubDate>Wed, 17 Dec 2008 16:20:32 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/Static-Link-Is-Failing/m-p/882463#M10358</guid>
      <dc:creator>Vladimir_Dudnik</dc:creator>
      <dc:date>2008-12-17T16:20:32Z</dc:date>
    </item>
  </channel>
</rss>

