<?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 error in Intel® oneAPI Math Kernel Library</title>
    <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Linking-error/m-p/1024493#M19830</link>
    <description>&lt;P&gt;Greetings,&lt;/P&gt;

&lt;P&gt;I'm trying to compile and link a use-subroutine for a commercial FE code. In my code, I have following lapack calls:&amp;nbsp;&lt;/P&gt;

&lt;PRE class="brush:fortran;"&gt;use lapack95

call potrf(cmMinusCfInv)
call potri(cmMinusCfInv)&lt;/PRE&gt;

&lt;P&gt;To compile, I use /Qmkl among a bunch of other compiler directives and it compiles without complaining about use lapack95.&amp;nbsp;&lt;/P&gt;

&lt;P&gt;To link as dll, I used&amp;nbsp;Intel® Math Kernel Library Link Line Advisor and according to that, calling:&amp;nbsp;&lt;/P&gt;

&lt;P&gt;&amp;nbsp;mkl_blas95_lp64.lib mkl_lapack95_lp64.lib mkl_intel_lp64_dll.lib mkl_core_dll.lib mkl_intel_thread_dll.lib&amp;nbsp;&lt;/P&gt;

&lt;P&gt;in the link line. Then the Liker gives following error:&lt;/P&gt;

&lt;P&gt;error LNK2019: unresolved external symbol dpotrf_f95 referenced in function ...&lt;/P&gt;

&lt;P&gt;The folder that includes mkl libraries are added to the lib path:&amp;nbsp;&lt;/P&gt;

&lt;P&gt;export LIB="C:\\Program Files (x86)\\Intel\\Composer XE 2013 SP1\\compiler\\lib\\intel64;C:\\Program Files (x86)\\Microsoft Visual Studio 12.0\\Common7\\IDE;C:\\Program Files (x86)\\Microsoft Visual Studio 12.0\\VC\\ATLMFC\\LIB;C:\\Program Files (x86)\\Microsoft Visual Studio 12.0\\VC\\LIB\\amd64;C:\\Program Files (x86)\\Microsoft Visual Studio 12.0\\VC\\bin\\amd64;C:\\Program Files (x86)\\Microsoft Visual Studio 12.0\\VC\\PlatformSDK\\Lib;C:\\Program Files (x86)\\Microsoft SDKs\\Windows\\v7.1A\\Lib\\x64;C:\\Program Files (x86)\\Intel\\Composer XE 2013 SP1\\mkl\\lib\\intel64;&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;

&lt;P&gt;Would appreciate it if you could help me to figure out the source of the problem.&lt;/P&gt;

&lt;P&gt;Thanks,&lt;/P&gt;

&lt;P&gt;Alireza&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Mon, 15 Dec 2014 21:34:46 GMT</pubDate>
    <dc:creator>Alireza_Forghani</dc:creator>
    <dc:date>2014-12-15T21:34:46Z</dc:date>
    <item>
      <title>Linking error</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Linking-error/m-p/1024493#M19830</link>
      <description>&lt;P&gt;Greetings,&lt;/P&gt;

&lt;P&gt;I'm trying to compile and link a use-subroutine for a commercial FE code. In my code, I have following lapack calls:&amp;nbsp;&lt;/P&gt;

&lt;PRE class="brush:fortran;"&gt;use lapack95

call potrf(cmMinusCfInv)
call potri(cmMinusCfInv)&lt;/PRE&gt;

&lt;P&gt;To compile, I use /Qmkl among a bunch of other compiler directives and it compiles without complaining about use lapack95.&amp;nbsp;&lt;/P&gt;

&lt;P&gt;To link as dll, I used&amp;nbsp;Intel® Math Kernel Library Link Line Advisor and according to that, calling:&amp;nbsp;&lt;/P&gt;

&lt;P&gt;&amp;nbsp;mkl_blas95_lp64.lib mkl_lapack95_lp64.lib mkl_intel_lp64_dll.lib mkl_core_dll.lib mkl_intel_thread_dll.lib&amp;nbsp;&lt;/P&gt;

&lt;P&gt;in the link line. Then the Liker gives following error:&lt;/P&gt;

&lt;P&gt;error LNK2019: unresolved external symbol dpotrf_f95 referenced in function ...&lt;/P&gt;

&lt;P&gt;The folder that includes mkl libraries are added to the lib path:&amp;nbsp;&lt;/P&gt;

&lt;P&gt;export LIB="C:\\Program Files (x86)\\Intel\\Composer XE 2013 SP1\\compiler\\lib\\intel64;C:\\Program Files (x86)\\Microsoft Visual Studio 12.0\\Common7\\IDE;C:\\Program Files (x86)\\Microsoft Visual Studio 12.0\\VC\\ATLMFC\\LIB;C:\\Program Files (x86)\\Microsoft Visual Studio 12.0\\VC\\LIB\\amd64;C:\\Program Files (x86)\\Microsoft Visual Studio 12.0\\VC\\bin\\amd64;C:\\Program Files (x86)\\Microsoft Visual Studio 12.0\\VC\\PlatformSDK\\Lib;C:\\Program Files (x86)\\Microsoft SDKs\\Windows\\v7.1A\\Lib\\x64;C:\\Program Files (x86)\\Intel\\Composer XE 2013 SP1\\mkl\\lib\\intel64;&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;

&lt;P&gt;Would appreciate it if you could help me to figure out the source of the problem.&lt;/P&gt;

&lt;P&gt;Thanks,&lt;/P&gt;

&lt;P&gt;Alireza&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 15 Dec 2014 21:34:46 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Linking-error/m-p/1024493#M19830</guid>
      <dc:creator>Alireza_Forghani</dc:creator>
      <dc:date>2014-12-15T21:34:46Z</dc:date>
    </item>
    <item>
      <title>The full list of compiler</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Linking-error/m-p/1024494#M19831</link>
      <description>&lt;P&gt;The full list of compiler options I used are:&lt;/P&gt;

&lt;P&gt;/compile_only /free /Warn:alignments /Warn:declarations /Warn:errors /Warn:general /align:dcommons /nologo /module:modules /Qzero /O2 /heap-arrays:1 /traceback /check:bounds /Qmkl /iface:cref&lt;/P&gt;</description>
      <pubDate>Mon, 15 Dec 2014 21:49:08 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Linking-error/m-p/1024494#M19831</guid>
      <dc:creator>Alireza_Forghani</dc:creator>
      <dc:date>2014-12-15T21:49:08Z</dc:date>
    </item>
    <item>
      <title>When you use /iface:cref, the</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Linking-error/m-p/1024495#M19832</link>
      <description>&lt;P&gt;When you use /iface:cref, the case used for external names becomes lower-case. However, the MKL libraries contain Lapack routine names such as&amp;nbsp;dpotrf_f95 in upper-case, i.e., as DPOTRF_F95, which is why the linking failed.&lt;/P&gt;

&lt;P&gt;Do you need /iface:cref? Can you just leave that option out and try?&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 16 Dec 2014 03:33:00 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Linking-error/m-p/1024495#M19832</guid>
      <dc:creator>mecej4</dc:creator>
      <dc:date>2014-12-16T03:33:00Z</dc:date>
    </item>
    <item>
      <title>Thanks for the response. The</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Linking-error/m-p/1024496#M19833</link>
      <description>&lt;P&gt;Thanks for the response. The problem is that to link to Abaqus, one needs to include /iface:cref.&amp;nbsp;&lt;/P&gt;

&lt;P&gt;I wonder if there is a compiler directive to use within my subroutine that tells not to use iface:cref when interfacing a specific call within the subroutine.&amp;nbsp;&lt;/P&gt;

&lt;P&gt;Thanks,&lt;/P&gt;

&lt;P&gt;Alireza&lt;/P&gt;</description>
      <pubDate>Wed, 17 Dec 2014 17:50:05 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Linking-error/m-p/1024496#M19833</guid>
      <dc:creator>Alireza_Forghani</dc:creator>
      <dc:date>2014-12-17T17:50:05Z</dc:date>
    </item>
    <item>
      <title>I can understand Abaqus</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Linking-error/m-p/1024497#M19834</link>
      <description>&lt;P&gt;I can understand Abaqus requiring the use of /iface:cref in the 32-bit world. In 64-bits, however, the difference between /iface:cref and the default is very slight (the case of external names being one such). Which version of Intel Fortran does Abaqus suggest using in its documentation?&lt;/P&gt;

&lt;P&gt;Try the /names:uppercase option, but note that while such options may help you to fix the immediate issue, they may well create problems elsewhere.&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 17 Dec 2014 18:48:43 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Linking-error/m-p/1024497#M19834</guid>
      <dc:creator>mecej4</dc:creator>
      <dc:date>2014-12-17T18:48:43Z</dc:date>
    </item>
    <item>
      <title>Abaqus recommends  Intel</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Linking-error/m-p/1024498#M19835</link>
      <description>&lt;P&gt;Abaqus recommends &amp;nbsp;&lt;SPAN style="color: rgb(0, 0, 0); font-family: 'Courier New', Courier, monospace; font-size: 11px; line-height: normal;"&gt;Intel Fortran Compiler 12.1 but I have XE 2013 SP1.&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;

&lt;P&gt;For the 32 bit compilation, Abaqus has both&amp;nbsp;&amp;nbsp;'/iface:nomixed_str_len_arg' and '/iface:cref' wheras for 64 bit it only has &amp;nbsp;&lt;SPAN style="line-height: 19.5120010375977px;"&gt;'/iface:cref'.&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;

&lt;P&gt;&lt;SPAN style="line-height: 19.5120010375977px;"&gt;I will give uppercase a try.&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;

&lt;P&gt;Thanks&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 17 Dec 2014 18:55:04 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Linking-error/m-p/1024498#M19835</guid>
      <dc:creator>Alireza_Forghani</dc:creator>
      <dc:date>2014-12-17T18:55:04Z</dc:date>
    </item>
  </channel>
</rss>

