<?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 Problems linking to IPP libs on 64-bit Linux in Intel® Integrated Performance Primitives</title>
    <link>https://community.intel.com/t5/Intel-Integrated-Performance/Problems-linking-to-IPP-libs-on-64-bit-Linux/m-p/829980#M5466</link>
    <description>Hi Chao,&lt;BR /&gt;&lt;BR /&gt;If I remove the the "-lpthread" and the "-liomp" line, then my shared object fails to build. Here are a few errors from the linking stage:&lt;BR /&gt;&lt;BR /&gt;Linking...&lt;BR /&gt;/work/netcdrom/Intel/IPP/ipp-samples-6.1.6.073/audio-video-codecs/_bin/linuxem64t_/lib/libh264_enc.a(umc_h264_video_encoder.o): In function `UMC_H264_ENCODER::H264CoreEncoder_CheckEncoderParameters_16u32s(void*)':&lt;BR /&gt;umc_h264_video_encoder.cpp:(.text+0x341f): undefined reference to `omp_set_num_threads'&lt;BR /&gt;umc_h264_video_encoder.cpp:(.text+0x3931): undefined reference to `omp_get_max_threads'&lt;BR /&gt;&lt;BR /&gt;/work/netcdrom/Intel/IPP/ipp-samples-6.1.6.073/audio-video-codecs/_bin/linuxem64t_/lib/libh264_enc.a(umc_h264_gen_enc.o): In function `UMC_H264_ENCODER::H264CoreEncoder_CompressFrame_16u32s(void*, UMC_H264_ENCODER::EnumPicCodType&amp;amp;, UMC_H264_ENCODER::EnumPicClass&amp;amp;, UMC::MediaData*)':&lt;BR /&gt;umc_h264_gen_enc.cpp:(.text+0x3d1b): undefined reference to `GOMP_parallel_start'&lt;BR /&gt;umc_h264_gen_enc.cpp:(.text+0x3d2a): undefined reference to `GOMP_parallel_end'&lt;BR /&gt;umc_h264_gen_enc.cpp:(.text+0x4173): undefined reference to `GOMP_parallel_start'&lt;BR /&gt;umc_h264_gen_enc.cpp:(.text+0x4182): undefined reference to `GOMP_parallel_end'&lt;BR /&gt;umc_h264_gen_enc.cpp:(.text+0x41bd): undefined reference to `GOMP_parallel_start'&lt;BR /&gt;umc_h264_gen_enc.cpp:(.text+0x41cf): undefined reference to `GOMP_parallel_end'&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;Thanks.</description>
    <pubDate>Tue, 10 May 2011 17:23:47 GMT</pubDate>
    <dc:creator>frenet</dc:creator>
    <dc:date>2011-05-10T17:23:47Z</dc:date>
    <item>
      <title>Problems linking to IPP libs on 64-bit Linux</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/Problems-linking-to-IPP-libs-on-64-bit-Linux/m-p/829975#M5461</link>
      <description>&lt;TABLE style="height: 381px;" width="633"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD class="votecell"&gt;&lt;DIV class="vote"&gt;&lt;A class="star-off" href="http://stackoverflow.com/questions/5890489/problems-linking-to-ipp-libs-on-64-bit-linux#" title="This is a favorite question (click again to undo)"&gt;&lt;BR /&gt;&lt;/A&gt;
        

&lt;/DIV&gt;

    &lt;/TD&gt;
    &lt;TD class="postcell"&gt;
        &lt;DIV&gt;          
            &lt;DIV class="post-text"&gt;
                &lt;P&gt;I am statically linking to the ipp, umc &amp;amp; uic 
libraries. I am using IPP 6.1.6.063 and have downloaded the 6.1 sample 
code. I am using g++.&lt;/P&gt;

&lt;P&gt;I can build my own shared object that statically links to ipp and 
umc, but when I try to build an application that links to my shared 
object, I get the following link error:&lt;/P&gt;

&lt;P&gt;/opt/intel/ipp/6.1.6.063/emt64/sharedlib/libiomp5.so: undefined reference to `pthread_atfork'&lt;/P&gt;

&lt;P&gt;I did see the following note in this article: 
&lt;A href="https://community.intel.com/../articles/how-to-build-ipp-application-in-linux-environment/" rel="nofollow"&gt;http://software.intel.com/en-us/articles/how-to-build-ipp-application-in-linux-environment/&lt;/A&gt;&lt;/P&gt;

&lt;P&gt;Error message: /opt/intel/ipp/6.1.6.063/em64t/sharedlib/libiomp5.so: undefined reference to `pthread_atfork'&lt;/P&gt;

&lt;PRE class="prettyprint lang-c"&gt;&lt;CODE&gt;* Please make sure to link "-lpthread" library in your command line.&lt;BR /&gt;&lt;/CODE&gt;&lt;/PRE&gt;

&lt;P&gt;I do have -lpthread specified, but the error still occurs. &lt;/P&gt;

&lt;P&gt;I originally had this problem under 32-bit linux, but this was 
resolved after specifying -lpthread after -libiomp5 in the linker file 
list. Using the same build command does not work under 64-bit linux 
though. I still get the same error. &lt;/P&gt;

&lt;P&gt;One way to resolve this problem is to specify -lpthread when building
 the application. But this would require anyone using my shared object 
to do the same which shouldn't be necessary because as I mentioned it 
works properly under 32-bit linux. &lt;/P&gt;

&lt;P&gt;Is there something specific to 64-bit that I am not considering?&lt;/P&gt;

&lt;P&gt;Thanks.&lt;/P&gt;

            &lt;/DIV&gt;&lt;/DIV&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;</description>
      <pubDate>Wed, 04 May 2011 22:16:13 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/Problems-linking-to-IPP-libs-on-64-bit-Linux/m-p/829975#M5461</guid>
      <dc:creator>frenet</dc:creator>
      <dc:date>2011-05-04T22:16:13Z</dc:date>
    </item>
    <item>
      <title>Problems linking to IPP libs on 64-bit Linux</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/Problems-linking-to-IPP-libs-on-64-bit-Linux/m-p/829976#M5462</link>
      <description>Hi,&lt;BR /&gt;Give me link line information, change the order of link libraries, mention -lpthread after IPP link libraries.&lt;BR /&gt;&lt;BR /&gt;Regards,&lt;BR /&gt;Naveen Gv</description>
      <pubDate>Thu, 05 May 2011 10:31:28 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/Problems-linking-to-IPP-libs-on-64-bit-Linux/m-p/829976#M5462</guid>
      <dc:creator>Naveen_G_Intel</dc:creator>
      <dc:date>2011-05-05T10:31:28Z</dc:date>
    </item>
    <item>
      <title>Problems linking to IPP libs on 64-bit Linux</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/Problems-linking-to-IPP-libs-on-64-bit-Linux/m-p/829977#M5463</link>
      <description>Hi,&lt;BR /&gt;&lt;BR /&gt;Below is the link info for my shared object. The application only specifies this object in its link line. &lt;BR /&gt;&lt;BR /&gt;Another thing that I noticed was that when building the application I needed to specify the path to libiomp in LD_LIBRARY_PATH or I would get &lt;BR /&gt;&lt;BR /&gt; "/usr/bin/ld: warning: libiomp5.so, needed by ../../lib/libfrenet.so, not found"&lt;BR /&gt;&lt;BR /&gt;I did not need to add the path when building the app under 32-bit linux. &lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;UIC_LIBS = "${UIC_IMAGE_DIR}/_bin/linux$(UIC_LIB_ARCH)_/lib/uic_core_l.a" \&lt;BR /&gt; "${UIC_IMAGE_DIR}/_bin/linux$(UIC_LIB_ARCH)_/lib/uic_io_l.a" \&lt;BR /&gt;    "${UIC_IMAGE_DIR}/_bin/linux$(UIC_LIB_ARCH)_/lib/uic_jpeg_enc_l.a" \&lt;BR /&gt;    "${UIC_IMAGE_DIR}/_bin/linux$(UIC_LIB_ARCH)_/lib/uic_jpeg_dec_l.a" \&lt;BR /&gt;    "${UIC_IMAGE_DIR}/_bin/linux$(UIC_LIB_ARCH)_/lib/uic_jpeg_common_l.a" &lt;BR /&gt;   &lt;BR /&gt;UMC_LIBS = "${UMC_AVCODEC_DIR}/_bin/linux$(UMC_LIB_ARCH)_/lib/libmpeg4_mux.a" \&lt;BR /&gt;    "${UMC_AVCODEC_DIR}/_bin/linux$(UMC_LIB_ARCH)_/lib/libscene_analyzer.a" \&lt;BR /&gt;   "${UMC_AVCODEC_DIR}/_bin/linux$(UMC_LIB_ARCH)_/lib/libh264_enc.a" \&lt;BR /&gt;   "${UMC_AVCODEC_DIR}/_bin/linux$(UMC_LIB_ARCH)_/lib/libcolor_space_converter.a" \&lt;BR /&gt;   "${UMC_AVCODEC_DIR}/_bin/linux$(UMC_LIB_ARCH)_/lib/libumc_io.a" \&lt;BR /&gt;    "${UMC_AVCODEC_DIR}/_bin/linux$(UMC_LIB_ARCH)_/lib/libmedia_buffers.a" \&lt;BR /&gt;   "${UMC_AVCODEC_DIR}/_bin/linux$(UMC_LIB_ARCH)_/lib/libcommon.a" \&lt;BR /&gt;   "${UMC_AVCODEC_DIR}/_bin/linux$(UMC_LIB_ARCH)_/lib/libumc.a" \&lt;BR /&gt;   "${UMC_AVCODEC_DIR}/_bin/linux$(UMC_LIB_ARCH)_/lib/libvm_plus.a" \&lt;BR /&gt;    "${UMC_AVCODEC_DIR}/_bin/linux$(UMC_LIB_ARCH)_/lib/libvm.a"&lt;BR /&gt;   &lt;BR /&gt;IPP_STATIC_LIBS = -L/work/netcdrom/Intel/IPP/6.1.6.063/$(IPP_LIB_ARCH)/lib \&lt;BR /&gt;     -lippdcemerged$(IPP_FILE_EXT) -lippdcmerged$(IPP_FILE_EXT) \&lt;BR /&gt;     -lippccemerged$(IPP_FILE_EXT) -lippccmerged$(IPP_FILE_EXT) \&lt;BR /&gt;     -lippcvemerged$(IPP_FILE_EXT) -lippcvmerged$(IPP_FILE_EXT) \&lt;BR /&gt;     -lippjemerged$(IPP_FILE_EXT) -lippjmerged$(IPP_FILE_EXT) \&lt;BR /&gt;     -lippvcemerged$(IPP_FILE_EXT) -lippvcmerged$(IPP_FILE_EXT) \&lt;BR /&gt;     -lippiemerged$(IPP_FILE_EXT) -lippimerged$(IPP_FILE_EXT) \&lt;BR /&gt;     -lippsemerged$(IPP_FILE_EXT) -lippsmerged$(IPP_FILE_EXT) \&lt;BR /&gt;     -lippcore$(IPP_FILE_EXT)  &lt;BR /&gt;     &lt;BR /&gt;IPP_SHARED_LIBS = -L/work/netcdrom/Intel/IPP/6.1.6.063/$(IPP_LIB_ARCH)/sharedlib -liomp5&lt;BR /&gt;&lt;BR /&gt;LIBS = -lraw1394 -lrt ${BOOST_LIB} ${BASE_LIB} ${LIBUSB} ${FREEIMAGE_LIB} ${IPP_SHARED_LIBS} ${UIC_LIBS} ${UMC_LIBS} ${IPP_STATIC_LIBS} -lpthread &lt;BR /&gt;&lt;BR /&gt;g++ -Wl,-z,defs,-soname,libfrenet.so.2 -shared -o ${FULL_LIB_NAME} ${OBJS} ${LIBS} -lc&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;Thanks.</description>
      <pubDate>Thu, 05 May 2011 16:09:14 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/Problems-linking-to-IPP-libs-on-64-bit-Linux/m-p/829977#M5463</guid>
      <dc:creator>frenet</dc:creator>
      <dc:date>2011-05-05T16:09:14Z</dc:date>
    </item>
    <item>
      <title>Problems linking to IPP libs on 64-bit Linux</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/Problems-linking-to-IPP-libs-on-64-bit-Linux/m-p/829978#M5464</link>
      <description>Hi,&lt;BR /&gt;&lt;BR /&gt;I was wondering if anyone saw anything wrong with the library order specified in my last reply. As I mentioned before, not only does this work fine under 32-bit Linux, I do no have to specify the libiomp5.so path nor link to pthread at the application level.&lt;BR /&gt;&lt;BR /&gt;Thanks.</description>
      <pubDate>Mon, 09 May 2011 18:14:33 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/Problems-linking-to-IPP-libs-on-64-bit-Linux/m-p/829978#M5464</guid>
      <dc:creator>frenet</dc:creator>
      <dc:date>2011-05-09T18:14:33Z</dc:date>
    </item>
    <item>
      <title>Problems linking to IPP libs on 64-bit Linux</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/Problems-linking-to-IPP-libs-on-64-bit-Linux/m-p/829979#M5465</link>
      <description>&lt;P&gt;Hello, &lt;/P&gt;&lt;P&gt;It looks that you are linking with non threaded static libraries. I think the OpenMP library is not required for your code. &lt;/P&gt;&lt;P&gt;If you remove the following line and "-lpthread" from the link command line, how does it work for you? &lt;/P&gt;&lt;P&gt;IPP_SHARED_LIBS = -L/work/netcdrom/Intel/IPP/6.1.6.063/$(IPP_LIB_ARCH)/sharedlib -liomp5&lt;/P&gt;&lt;P&gt;Thanks,&lt;BR /&gt;Chao&lt;/P&gt;</description>
      <pubDate>Tue, 10 May 2011 03:47:14 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/Problems-linking-to-IPP-libs-on-64-bit-Linux/m-p/829979#M5465</guid>
      <dc:creator>Chao_Y_Intel</dc:creator>
      <dc:date>2011-05-10T03:47:14Z</dc:date>
    </item>
    <item>
      <title>Problems linking to IPP libs on 64-bit Linux</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/Problems-linking-to-IPP-libs-on-64-bit-Linux/m-p/829980#M5466</link>
      <description>Hi Chao,&lt;BR /&gt;&lt;BR /&gt;If I remove the the "-lpthread" and the "-liomp" line, then my shared object fails to build. Here are a few errors from the linking stage:&lt;BR /&gt;&lt;BR /&gt;Linking...&lt;BR /&gt;/work/netcdrom/Intel/IPP/ipp-samples-6.1.6.073/audio-video-codecs/_bin/linuxem64t_/lib/libh264_enc.a(umc_h264_video_encoder.o): In function `UMC_H264_ENCODER::H264CoreEncoder_CheckEncoderParameters_16u32s(void*)':&lt;BR /&gt;umc_h264_video_encoder.cpp:(.text+0x341f): undefined reference to `omp_set_num_threads'&lt;BR /&gt;umc_h264_video_encoder.cpp:(.text+0x3931): undefined reference to `omp_get_max_threads'&lt;BR /&gt;&lt;BR /&gt;/work/netcdrom/Intel/IPP/ipp-samples-6.1.6.073/audio-video-codecs/_bin/linuxem64t_/lib/libh264_enc.a(umc_h264_gen_enc.o): In function `UMC_H264_ENCODER::H264CoreEncoder_CompressFrame_16u32s(void*, UMC_H264_ENCODER::EnumPicCodType&amp;amp;, UMC_H264_ENCODER::EnumPicClass&amp;amp;, UMC::MediaData*)':&lt;BR /&gt;umc_h264_gen_enc.cpp:(.text+0x3d1b): undefined reference to `GOMP_parallel_start'&lt;BR /&gt;umc_h264_gen_enc.cpp:(.text+0x3d2a): undefined reference to `GOMP_parallel_end'&lt;BR /&gt;umc_h264_gen_enc.cpp:(.text+0x4173): undefined reference to `GOMP_parallel_start'&lt;BR /&gt;umc_h264_gen_enc.cpp:(.text+0x4182): undefined reference to `GOMP_parallel_end'&lt;BR /&gt;umc_h264_gen_enc.cpp:(.text+0x41bd): undefined reference to `GOMP_parallel_start'&lt;BR /&gt;umc_h264_gen_enc.cpp:(.text+0x41cf): undefined reference to `GOMP_parallel_end'&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;Thanks.</description>
      <pubDate>Tue, 10 May 2011 17:23:47 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/Problems-linking-to-IPP-libs-on-64-bit-Linux/m-p/829980#M5466</guid>
      <dc:creator>frenet</dc:creator>
      <dc:date>2011-05-10T17:23:47Z</dc:date>
    </item>
    <item>
      <title>Problems linking to IPP libs on 64-bit Linux</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/Problems-linking-to-IPP-libs-on-64-bit-Linux/m-p/829981#M5467</link>
      <description>&lt;P&gt;Hello, &lt;/P&gt;&lt;P&gt;It looks the code is using OpenMP threading with GCC. please try to add the following two linkage flag, and see how it works: &lt;/P&gt;&lt;P&gt;LIBS = .... -lgomp -lpthread &lt;/P&gt;&lt;P&gt;Thanks,&lt;BR /&gt;Chao &lt;/P&gt;</description>
      <pubDate>Wed, 11 May 2011 01:28:47 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/Problems-linking-to-IPP-libs-on-64-bit-Linux/m-p/829981#M5467</guid>
      <dc:creator>Chao_Y_Intel</dc:creator>
      <dc:date>2011-05-11T01:28:47Z</dc:date>
    </item>
    <item>
      <title>Problems linking to IPP libs on 64-bit Linux</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/Problems-linking-to-IPP-libs-on-64-bit-Linux/m-p/829982#M5468</link>
      <description>Hi Chao,&lt;BR /&gt;&lt;BR /&gt;Using -lgomp and -lpthread works for me. My shared object builds and applications linking to my shared object do not require to link to -lpthread anymore. Also the path to the omp library does not need to be defined in LD_LIBRARY_PATH when building applications. &lt;BR /&gt;&lt;BR /&gt;I am curious to why this happened in the first place. Is it due to the way that I built the UIC/UMC libraries on the 64-bit system?&lt;BR /&gt;&lt;BR /&gt;Thanks for your help.</description>
      <pubDate>Thu, 12 May 2011 19:17:07 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/Problems-linking-to-IPP-libs-on-64-bit-Linux/m-p/829982#M5468</guid>
      <dc:creator>frenet</dc:creator>
      <dc:date>2011-05-12T19:17:07Z</dc:date>
    </item>
    <item>
      <title>Problems linking to IPP libs on 64-bit Linux</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/Problems-linking-to-IPP-libs-on-64-bit-Linux/m-p/829983#M5469</link>
      <description>&lt;P&gt;Hi, &lt;/P&gt;&lt;P&gt;Glad to know it works for you now. For the reason, you do not need the 'LD_LIBRARY_PATH' GCC omp library (libgomp) is in system folder, the loder can find these libraries by default. &lt;/P&gt;&lt;P&gt;Thanks,&lt;BR /&gt;Chao&lt;/P&gt;</description>
      <pubDate>Mon, 16 May 2011 07:51:09 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/Problems-linking-to-IPP-libs-on-64-bit-Linux/m-p/829983#M5469</guid>
      <dc:creator>Chao_Y_Intel</dc:creator>
      <dc:date>2011-05-16T07:51:09Z</dc:date>
    </item>
  </channel>
</rss>

