<?xml version="1.0" encoding="UTF-8"?>
<!-- Generated on Wed, 25 Nov 2009 16:13:59 -0800 -->
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <atom:link href="http://software.intel.com/en-us/articles/intel-fortran-compiler-for-linux-kb/type/errors-diagnostics/feed/" rel="self" type="application/rss+xml" />
    <title>Intel Software Network articles feed</title>
    <link>http://software.intel.com/en-us/articles/intel-fortran-compiler-for-linux-kb/errors-diagnostics/</link>
    <description></description>
    <language>en-us</language>
    <item>
      <title>Error : Failed to enable trusted storage check for licensing</title>
      <description><![CDATA[ <div id="art_pre_template"><strong>Problem :</strong> <br />When using the compiler you see the following error message <br />
<pre name="code" class="cpp">"error #10310: Failed to enable trusted storage check for licensing: Warning" Enable Trusted Storage failed (flexnet error code 20). Trusted Storage based licence could " </pre>
<br /><b>Environment : </b><br />Intel(R) 64 , Windows* 7<br /><br /><b>Root Cause : </b><br />Service “FLEXnet Licensing Service 64” can not be installed by non-administrator users on Windows 7.<br /><br /><br /><b>Workaround: </b><br /><br />Run icl as administrator once. <br /><br />Steps:<br />1. Go to start -&gt; All Programs -&gt; Intel(R) Software Development Tools -&gt; Intel(R) C++ Compiler Professional 11.1.0xx &gt; C++ Build Environment for application running on Intel(R) 64<br />2. run command:
<pre name="code" class="cpp">runas /user:administrator "icl /v"</pre>
<br />You will be prompted to input administrator’s password. This step will trigger icl to install the Windows service “FLEXnet Licensing Service 64”. <br /><br /></div> ]]></description>
      <link>http://software.intel.com/en-us/articles/error-trusted-storage-check</link>
      <pubDate>Tue, 10 Nov 2009 16:38:05 -0800</pubDate>
      <comments>http://software.intel.com/en-us/articles/error-trusted-storage-check#comments</comments>
      <guid isPermaLink="true">http://software.intel.com/en-us/articles/error-trusted-storage-check</guid>
      <category>Intel® Compilers</category>
      <category>Intel® Fortran Compiler for Linux* Knowledge Base</category>
      <category>Intel® License Manager for FLEXlm* Knowledge Base</category>
    </item>
    <item>
      <title>Fortran READ returns iostat=98 error</title>
      <description><![CDATA[ When the Fortran READ statement returns iostat=98 the error message is, "cannot allocate memory for the file buffer - out of memory". This error is caused by the runtime library attempting to create a buffer large enough to hold the output of the read. This will happen for unformatted files opened for sequential access. This error can be seen, for example, on a Windows XP, 32-bit system when attempting to read from virtual memory if the pagefile is set too small. This error can affect any operating system, though 32-bit platforms are more likely to hit it.<br /><br />There are several ways to work around this error. One option is making more virtual memory available by increasing the pagefile size on the system where you are running the application. If you have control over the file creation, and don’t require a record structure to the file, adding ACCESS=’STREAM’ to the OPEN for both the file creation and use will usually avoid this problem.  For more details on stream access, see the compiler documentation topic ‘File Access and File Structure’. ]]></description>
      <link>http://software.intel.com/en-us/articles/fortran-read-returns-iostat-eq-98-error</link>
      <pubDate>Fri, 30 Oct 2009 13:24:23 -0700</pubDate>
      <comments>http://software.intel.com/en-us/articles/fortran-read-returns-iostat-eq-98-error#comments</comments>
      <guid isPermaLink="true">http://software.intel.com/en-us/articles/fortran-read-returns-iostat-eq-98-error</guid>
      <category>Intel® Fortran Compiler for Linux* Knowledge Base</category>
      <category>Intel® Fortran Compiler for Mac OS X* Knowledge Base</category>
      <category>Intel® Visual Fortran Compiler for Windows* Knowledge Base</category>
    </item>
    <item>
      <title>Error 6405 with interface checking and EXTERNAL declaration in module</title>
      <description><![CDATA[ <br />
<div id="art_pre_template"><b>Reference Number : </b>DPD200139304<br /><br /><br /><b>Version : </b>11.1<br /><br /><br /><b>Operating System : </b>All<br /><br /><br /><b>Problem Description : </b>The compiler will incorrectly issue diagnostic 6405: The same named entity from different modules and/or program units cannot be referenced, in the following situation:<br /><br /><ol>
<li>A procedure (subroutine or function) is declared with an implicit interface (just a type and/or EXTERNAL) in a module.</li>
<li>A program unit USEs the module and calls the procedure twice or more.</li>
<li>The application is compiled with the generated interface checking feature enabled. (From the command line, the option /warn:interface (Windows) or -warn interface (Linux and Mac OS X); in the Visual Studio development environment, property Fortran &gt; Diagnostics &gt; Check Routine Interfaces is set to Yes.)</li>
</ol>Example:<br /><br />
<pre name="code" class="plain">module MYMOD<br />logical, external :: func<br />end module MYMOD<br /><br />program MAIN<br />use MYMOD<br />print *, FUNC(0)<br />print *, FUNC(1)<br />end program MAIN</pre>
<br /><b>Resolution Status : </b>This error will be corrected in a future product version. The simplest workaround is to recode the declaration in the module as an INTERFACE block.  For example:<br /><br />
<pre name="code" class="plain">module MYMOD<br />interface<br />logical function FUNC (ARG)<br />integer, intent(IN) :: ARG<br />end function FUNC<br />end interface<br />end module MYMOD</pre>
If the procedure is written in Fortran, a preferable alternative is to place it in the module as a module procedure. This avoids the need to write a separate declaration of the procedure, but does require that any caller USE the module.<br /><br />For information on other causes of this error, see <a target="_blank" href="http://software.intel.com/en-us/articles/fdiag6405/">Diagnostic 6405: The same named entity from different modules and/or program units cannot be referenced.</a><br /><br /><br /><br /><i>[DISCLAIMER: The information on this web site is intended for hardware system manufacturers and software developers.  Intel does not warrant the accuracy, completeness or utility of any information on this site. Intel may make changes to the information or the site at any time without notice. Intel makes no commitment to update the information at this site.  ALL INFORMATION PROVIDED ON THIS WEBSITE IS PROVIDED "as is" without any express, implied, or statutory warranty of any kind including but not limited to warranties of merchantability, non-infringement of intellectual property, or fitness for any particular purpose.  Independent companies manufacture the third-party products that are mentioned on this site. Intel is not responsible for the quality or performance of third-party products and makes no representation or warranty regarding such products. The third-party supplier remains solely responsible for the design, manufacture, sale and functionality of its products. Intel and the Intel logo are trademarks or registered trademarks of Intel Corporation or its subsidiaries in the United States and other countries. *Other names and brands may be claimed as the property of others.]</i></div> ]]></description>
      <link>http://software.intel.com/en-us/articles/error-6405-with-interface-checking-and-external-declaration-in-module</link>
      <pubDate>Mon, 31 Aug 2009 13:36:12 -0700</pubDate>
      <comments>http://software.intel.com/en-us/articles/error-6405-with-interface-checking-and-external-declaration-in-module#comments</comments>
      <guid isPermaLink="true">http://software.intel.com/en-us/articles/error-6405-with-interface-checking-and-external-declaration-in-module</guid>
      <category>Intel® Fortran Compiler for Linux* Knowledge Base</category>
      <category>Intel® Fortran Compiler for Mac OS X* Knowledge Base</category>
      <category>Intel® Visual Fortran Compiler for Windows* Knowledge Base</category>
    </item>
    <item>
      <title>Intel® compiler error #10236 issued when using -soname corrupts resulting shared library on Linux</title>
      <description><![CDATA[ <br />
<div id="art_pre_template"><span class="sectionHeadingText">Reference Number :</span><strong>  </strong>DPD200137886<br /><br /><br /><span class="sectionHeadingText">Version :</span>  11.1<br /><br /><br /><strong class="sectionHeadingText">Operating System :</strong>  Linux* / IA-32, Intel® 64, IA-64<br /><br /><br /><b><span class="sectionHeading">Problem Description :</span> </b><br /><br />Improvements in the Intel C++ and Fortran 11.1 release compiler drivers cause each (ifort, icpc, icc) to issue error #10236 for any detected missing files; however, each driver fails to exit accordingly after issuing this "fatal" class of diagnostic.<br /><br />Here is an example of the diagnostic issued:<br /><br />            icpc: error #10236: File not found: 'libsubCPP.so'<br /><br /><br />This resulting behavior causes the compiler driver to incorrectly engage the link phase, which causes residual corruption of the Linux shared library (or DSO) when using the Linux linker (ld) <strong>-soname</strong> option with the compiler driver to create a shared library.<br /><br />When using the Intel compiler to create a shared library, linker options must be passed using the <strong>-Wl</strong> or <strong>-Xlinker</strong> option. The latter requires special handling of any linker options that themselves take arguments. <br /><br />In the case of supplying the linker <strong>-soname</strong> option, users must ensure the correct syntax is used with <strong>-Xlinker</strong>.<br /><br />The incorrect syntax is: <strong>-Xlinker -soname <em>&lt;name&gt;</em></strong><br /><br />The correct syntax is one of two forms:<br /><br /><strong>-Xlinker -soname=<em>&lt;name&gt;</em></strong><br /><br />-OR-<br /><br /><strong>-Xlinker -soname -Xlinker <em>&lt;name&gt;</em></strong><br /><br />Where <em><strong>&lt;name&gt;</strong></em> represents the name argument to <strong>-soname</strong> and name assigned to the shared library’s internal <strong>DT_SONAME</strong>field.<br /><br />When the incorrect syntax indicated above is used, the compiler issues the compilation error #10236, removes the "<em>&lt;name&gt;</em>" argument, and then incorrectly engages the link phase to create the shared library, but it provides only the <strong>-soname</strong> option with no <em><strong>&lt;name&gt;</strong></em> argument. It is unknown to the user the resulting shared library contains an invalid embedded <strong>DT_SONAME</strong>. This invalid <strong>DT_SONAME</strong> can cause subsequent confusing linking issues such as unresolved externals when using the shared library, and/or confusing output from the <strong>ldd</strong> utility.<br /><br />The details below show how each compiler driver (icc, icpc, ifort) is susceptible to this defect and the incorrect <strong>DT_SONAME</strong> each can embed into a shared library. What is embedded in the <strong>DT_SONAME</strong> field is influenced by the order options appear on the compiler command line. Additionally, the details show how each compiler creates a valid shared library when the correct form of the <strong>-soname</strong> option is used with <strong>-Xlinker</strong>.<br /><br /> 
<blockquote><strong><span style="text-decoration: underline;">Invalid command line:</span>icpc issues error and embeds invalid SONAME</strong><br /><br />$ icpc -V -shared -Xlinker -relax -Xlinker --whole-archive libsubCPP.a -Xlinker --no-whole-archive -o ./libsubCPP.so -Xlinker -soname libsubCPP.so<br />Intel(R) C++ Intel(R) 64 Compiler Professional for applications running on Intel(R) 64, Version 11.1 Build 20090630 Package ID: l_cproc_p_11.1.046<br />Copyright (C) 1985-2009 Intel Corporation. All rights reserved.<br />icpc: error #10236: File not found: 'libsubCPP.so'<br /><br />GNU ld version 2.17.50.0.6-5.el5 20061020<br /><br />$ objdump -x libsubCPP.so | grep SONAME<br />SONAME -L/opt/intel/compiler/cpro/Compiler/11.1/046/lib/intel64<br /><br /><br /><strong><span style="text-decoration: underline;">Valid command line:</span>icpc issues no error and embeds valid SONAME</strong><br /><br />$ icpc -V -shared -Xlinker -relax -Xlinker --whole-archive libsubCPP.a -Xlinker --no-whole-archive -o ./libsubCPP.so -Xlinker -soname=libsubCPP.so<br />Intel(R) C++ Intel(R) 64 Compiler Professional for applications running on Intel(R) 64, Version 11.1 Build 20090630 Package ID: l_cproc_p_11.1.046<br />Copyright (C) 1985-2009 Intel Corporation. All rights reserved.<br /><br />GNU ld version 2.17.50.0.6-5.el5 20061020<br /><br />$ objdump -x libsubCPP.so | grep SONAME<br />SONAME libsubCPP.so<br /><br /><br /><strong><span style="text-decoration: underline;">Invalid command line:</span>icc issues error and embeds invalid SONAME<br /></strong><br />$ icc -V -shared -Xlinker -relax -Xlinker --whole-archive libsubC.a -Xlinker --no-whole-archive -o ./libsubC.so -Xlinker -soname libsubC.so<br />Intel(R) C Intel(R) 64 Compiler Professional for applications running on Intel(R) 64, Version 11.1 Build 20090630 Package ID: l_cproc_p_11.1.046<br />Copyright (C) 1985-2009 Intel Corporation. All rights reserved.<br />icc: error #10236: File not found: 'libsubC.so'<br /><br />GNU ld version 2.17.50.0.6-5.el5 20061020<br /><br />$ objdump -x libsubC.so | grep SONAME<br />SONAME -L/opt/intel/compiler/cpro/Compiler/11.1/046/lib/intel64<br /><br /><br /><strong><span style="text-decoration: underline;">Valid command line:</span>icc issues no error and embeds valid SONAME<br /></strong><br />$ icc -V -shared -Xlinker -relax -Xlinker --whole-archive libsubC.a -Xlinker --no-whole-archive -o ./libsubC.so -Xlinker -soname=libsubC.so<br />Intel(R) C Intel(R) 64 Compiler Professional for applications running on Intel(R) 64, Version 11.1 Build 20090630 Package ID: l_cproc_p_11.1.046<br />Copyright (C) 1985-2009 Intel Corporation. All rights reserved.<br /><br />GNU ld version 2.17.50.0.6-5.el5 20061020<br /><br />$ objdump -x libsubC.so | grep SONAME<br />SONAME libsubC.so<br /><br /><br /><strong><span style="text-decoration: underline;">Invalid command line:</span>ifort issues error and embeds invalid SONAME<br /></strong><br />$ ifort -V -shared -Xlinker -relax -Xlinker --whole-archive libsubF.a -Xlinker --no-whole-archive -o ./libsubF.so -Xlinker -soname libsubF.so<br />Intel(R) Fortran Intel(R) 64 Compiler Professional for applications running on Intel(R) 64, Version 11.1 Build 20090630 Package ID: l_cprof_p_11.1.046<br />Copyright (C) 1985-2009 Intel Corporation. All rights reserved.<br />ifort: error #10236: File not found: 'libsubF.so'<br /><br />GNU ld version 2.17.50.0.6-5.el5 20061020<br /><br />$ objdump -x libsubF.so | grep SONAME<br />SONAME -L/opt/intel/compiler/cpro/Compiler/11.1/046/lib/intel64<br /><br /><br /><strong><span style="text-decoration: underline;">Valid command line:</span>ifort issues no error and embeds valid SONAME<br /></strong><br />$ ifort -V -shared -Xlinker -relax -Xlinker --whole-archive libsubF.a -Xlinker --no-whole-archive -o ./libsubF.so -Xlinker -soname=libsubF.so<br />Intel(R) Fortran Intel(R) 64 Compiler Professional for applications running on Intel(R) 64, Version 11.1 Build 20090630 Package ID: l_cprof_p_11.1.046<br />Copyright (C) 1985-2009 Intel Corporation. All rights reserved.<br /><br />GNU ld version 2.17.50.0.6-5.el5 20061020<br /><br />$ objdump -x libsubF.so | grep SONAME<br />SONAME libsubF.so<br /></blockquote>
<br /><br /><span class="sectionHeadingText">Resolution Status :</span>  This is a known issue that will be fixed in a future release. To resolve the issue, modify any usage of the <strong>-Xlinker</strong> option with <strong>-soname </strong>to ensure the correct syntax of the <strong>-soname</strong> option is used.<br /><br /><br /><br /><i>[DISCLAIMER: The information on this web site is intended for hardware system manufacturers and software developers. Intel does not warrant the accuracy, completeness or utility of any information on this site. Intel may make changes to the information or the site at any time without notice. Intel makes no commitment to update the information at this site. ALL INFORMATION PROVIDED ON THIS WEBSITE IS PROVIDED "as is" without any express, implied, or statutory warranty of any kind including but not limited to warranties of merchantability, non-infringement of intellectual property, or fitness for any particular purpose. Independent companies manufacture the third-party products that are mentioned on this site. Intel is not responsible for the quality or performance of third-party products and makes no representation or warranty regarding such products. The third-party supplier remains solely responsible for the design, manufacture, sale and functionality of its products. Intel and the Intel logo are trademarks or registered trademarks of Intel Corporation or its subsidiaries in the United States and other countries. *Other names and brands may be claimed as the property of others.]</i></div> ]]></description>
      <link>http://software.intel.com/en-us/articles/intel-compiler-error-10236-with-soname-corrupts-shared-library-on-linux</link>
      <pubDate>Fri, 21 Aug 2009 14:17:04 -0700</pubDate>
      <comments>http://software.intel.com/en-us/articles/intel-compiler-error-10236-with-soname-corrupts-shared-library-on-linux#comments</comments>
      <guid isPermaLink="true">http://software.intel.com/en-us/articles/intel-compiler-error-10236-with-soname-corrupts-shared-library-on-linux</guid>
      <category>Intel® C++ Compiler for Linux* Knowledge Base</category>
      <category>Intel® Fortran Compiler for Linux* Knowledge Base</category>
    </item>
    <item>
      <title>Intel® Fortran and C++ compilers – Invalid option -i turns on incremental linking on Linux</title>
      <description><![CDATA[ <br />
<div id="art_pre_template"><span class="sectionHeadingText">Reference Number :</span> DPD200138822<br /><br /><br /><span class="sectionHeadingText">Version :</span> 10.1, 11.0, 11.1<br /><br /><br /><span class="sectionHeadingText">Operating System :</span> Linux*, Mac OS X* / IA-32, Intel® 64, IA-64<br /><br /><br /><span class="sectionHeading"><b>Problem Description : </b><br /></span><br />Both the Intel Fortran and C++ compilers for Mac OS and Linux quietly ignore the invalid option <strong>-i</strong> and pass it to the linker.<br /><br />The effect is harmless on Mac OS because the linker (ld) does not support the <strong>-i</strong> option.<br /><br />For example:<br /><br />
<blockquote>$ ifort -V -i sample.f90<br />Intel(R) Fortran Intel(R) 64 Compiler Professional for applications running on Intel(R) 64, Version 11.1 Build 20090511 Package ID: m_cprof_p_11.1.046<br />Copyright (C) 1985-2009 Intel Corporation. All rights reserved.<br /><strong>ld: unknown option: -i</strong></blockquote>
<br />The effect is not harmless on Linux where both compiler driver's (icc, ifort) quietly passing the option to the linker (ld) turns on incremental linking. Incremental linking produces a non-executable <strong>LSB relocatable</strong> file and not a <strong>LSB executable</strong> file. <br /><br />Because the incremental linking is done quietly it leads to user confusion when trying to execute the non-executable <strong>LSB relocatable</strong> file. The attempt to execute the resulting file results in a "Permission denied" error.<br /><br />The demonstration below shows how the invalid -i option leads to this confusing situation and error.<br /><br />
<blockquote>$ <strong>ifort</strong> sample.f90 -o sample<br /><br />$ file sample<br />sample: ELF 64-bit <strong>LSB executable</strong>, AMD x86-64, version 1 (SYSV), for GNU/Linux 2.6.9, dynamically linked (uses shared libs), for GNU/Linux 2.6.9, not stripped<br /><br />$ <strong>ifort</strong> -i sample.f90 -o sample<br /><br />$ file sample<br />sample: ELF 64-bit <strong>LSB relocatable</strong>, AMD x86-64, version 1 (SYSV), for GNU/Linux 2.6.9, not stripped<br /><br />$ ./sample<br />-bash: ./sample: Permission denied<br /><br /><br />$ <strong>icc</strong> sample.c -o sample<br /><br />$ file sample<br />sample: ELF 64-bit <strong>LSB executable</strong>, AMD x86-64, version 1 (SYSV), for GNU/Linux 2.6.9, dynamically linked (uses shared libs), for GNU/Linux 2.6.9, not stripped<br /><br />$ <strong>icc</strong> -i sample.c -o sample<br /><br />$ file sample<br />sample: ELF 64-bit <strong>LSB relocatable</strong>, AMD x86-64, version 1 (SYSV), for GNU/Linux 2.6.9, not stripped<br /><br />$ ./sample<br />-bash: ./sample: Permission denied</blockquote>
<br /><br /><strong class="sectionHeadingText">Resolution Status :</strong> This is a known issue that will be fixed in a future release. Since <strong>-i</strong> is not a valid Intel compiler option, correcting or removing the option will resolve the issue.<br /><br /><br /><br /><i>[DISCLAIMER: The information on this web site is intended for hardware system manufacturers and software developers. Intel does not warrant the accuracy, completeness or utility of any information on this site. Intel may make changes to the information or the site at any time without notice. Intel makes no commitment to update the information at this site. ALL INFORMATION PROVIDED ON THIS WEBSITE IS PROVIDED "as is" without any express, implied, or statutory warranty of any kind including but not limited to warranties of merchantability, non-infringement of intellectual property, or fitness for any particular purpose. Independent companies manufacture the third-party products that are mentioned on this site. Intel is not responsible for the quality or performance of third-party products and makes no representation or warranty regarding such products. The third-party supplier remains solely responsible for the design, manufacture, sale and functionality of its products. Intel and the Intel logo are trademarks or registered trademarks of Intel Corporation or its subsidiaries in the United States and other countries. *Other names and brands may be claimed as the property of others.]</i></div> ]]></description>
      <link>http://software.intel.com/en-us/articles/invalid-option-i-turns-on-incremental-linking-on-linux</link>
      <pubDate>Thu, 13 Aug 2009 08:44:07 -0700</pubDate>
      <comments>http://software.intel.com/en-us/articles/invalid-option-i-turns-on-incremental-linking-on-linux#comments</comments>
      <guid isPermaLink="true">http://software.intel.com/en-us/articles/invalid-option-i-turns-on-incremental-linking-on-linux</guid>
      <category>Intel® C++ Compiler for Linux* Knowledge Base</category>
      <category>Intel® C++ Compiler for Mac OS X* Knowledge Base</category>
      <category>Intel® Fortran Compiler for Linux* Knowledge Base</category>
      <category>Intel® Fortran Compiler for Mac OS X* Knowledge Base</category>
    </item>
    <item>
      <title>Intel® Fortran compiler – Option -extend-source not ignored for .F90 source files</title>
      <description><![CDATA[ <br />
<div id="art_pre_template"><strong class="sectionHeadingText">Reference Number :</strong> DPD200138566<br /><br /><br /><strong class="sectionHeadingText">Version :</strong> 11.0, 11.1<br /><br /><br /><strong class="sectionHeadingText">Operating System :</strong> Linux*, Mac OS X* / IA-32, Intel® 64, IA-64<br /><br /><br /><b class="sectionHeading">Problem Description : </b><br /><br />Beginning with the 11.x release, the Intel Fortran compiler does not correctly ignore the <strong>-extend-source</strong> (and other variants) for free-form source files named with the .F90 extension. The option is correctly ignored for source files named with the lower-case .f90 extension.<br /><br />The mishandling of the option will cause erroneous syntax errors for any Fortran source statement that extends beyond the designated statement field length specified with the <strong>-extend-source</strong> option.<br /><br />The example below demonstrates the extraneous errors issued when using <strong>-extend-source 132</strong> with the sample program containing an OPEN statement extending beyond 132 characters.<br /><br />Given the following sample.F90 source:<br /><br />
<pre name="code" class="plain">program sample

open(unit=10,file='/hardware/temporary/model/simulation/version/9.999/xray/store/detection/reflection/fulltrace/resolution/images7654.txt',status='replace',iostat=ios_100)

if(ios_100/=0) then
   print *,"File open failed"
endif

end</pre>
<br /><br />
<blockquote>$ ifort -V -c -extend-source 132 sample.F90<br />Intel(R) Fortran Intel(R) 64 Compiler Professional for applications running on Intel(R) 64, Version 11.1 Build 20090630 Package ID: l_cprof_p_11.1.046<br />Copyright (C) 1985-2009 Intel Corporation. All rights reserved.<br /><br />Intel(R) Fortran 11.1-2536<br />sample.F90(3): error #5120: Unterminated character constant<br />open(unit=10,file='/hardware/temporary/model/simulation/version/9.999/xray/store/detection/reflection/fulltrace/resolution/images76&amp;<br />------------------^<br />sample.F90(4): error #5082: Syntax error, found END-OF-STATEMENT when expecting one of: ) ,<br />&amp;5<br />--^<br />compilation aborted for sample.F90 (code 1)</blockquote>
<br /><br /><span class="sectionHeadingText"><strong>Resolution Status :</strong> </span>This is a known issue that will be fixed in a future release. Since <strong>-extend-source</strong> is not intended to apply to free-form source files, to work around this current defect simply avoid usage with any .F90 source files.<br /><br /><br /><i>[DISCLAIMER: The information on this web site is intended for hardware system manufacturers and software developers. Intel does not warrant the accuracy, completeness or utility of any information on this site. Intel may make changes to the information or the site at any time without notice. Intel makes no commitment to update the information at this site. ALL INFORMATION PROVIDED ON THIS WEBSITE IS PROVIDED "as is" without any express, implied, or statutory warranty of any kind including but not limited to warranties of merchantability, non-infringement of intellectual property, or fitness for any particular purpose. Independent companies manufacture the third-party products that are mentioned on this site. Intel is not responsible for the quality or performance of third-party products and makes no representation or warranty regarding such products. The third-party supplier remains solely responsible for the design, manufacture, sale and functionality of its products. Intel and the Intel logo are trademarks or registered trademarks of Intel Corporation or its subsidiaries in the United States and other countries. *Other names and brands may be claimed as the property of others.]</i></div> ]]></description>
      <link>http://software.intel.com/en-us/articles/extend-source-not-ignored-for-f90-source-file</link>
      <pubDate>Tue, 04 Aug 2009 11:04:04 -0700</pubDate>
      <comments>http://software.intel.com/en-us/articles/extend-source-not-ignored-for-f90-source-file#comments</comments>
      <guid isPermaLink="true">http://software.intel.com/en-us/articles/extend-source-not-ignored-for-f90-source-file</guid>
      <category>Intel® Fortran Compiler for Linux* Knowledge Base</category>
      <category>Intel® Fortran Compiler for Mac OS X* Knowledge Base</category>
    </item>
    <item>
      <title>Internal Compiler Error</title>
      <description><![CDATA[ <!--page break--> 
<hr />
<div class="sectionHeading">Problem Description</div>
<p>A compilation fails with a message similar to one of the following:</p>
<blockquote>example.c(22): internal error: <br /><br />Please visit 'http://www.intel.com/software/products/support' for assistance.<br /><br />[ Aborting due to internal error. ]<br /><br />compilation aborted for example.c (code 1) <br /></blockquote>
<p> </p>
<p>or</p>
<blockquote>catastrophic error: **Internal compiler error: internal abort** <br /><br />Please report this error along with the circumstances in which it occurred in a Software Problem Report. <br /><br />Note: File and line given may not be explicit cause of this error.<br /><br />compilation aborted for example.f90 (code 3)<br /></blockquote>
<p> </p>
<!--page break--> 
<hr />
<div class="sectionHeading">Explanation</div>
<p>This message usually indicates a compiler defect.</p>
<p>Please report the problem to Intel through the <a href="http://software.intel.com/en-us/forums/">Intel® Software Network Forums</a> or <a href="https://premier.intel.com/">Intel® Premier Support</a> (support license and registration required). You will need to supply a test case along with a list of the compile options used and the exact compiler version that shows the problem. If you are not using a current compiler version, try the most recent version available to you as the error may have already been corrected.</p>
<p>Please note that this message is generic in nature and does not have a single cause nor solution. Providing a test case that reproduces the error is the only way to get a precise analysis of the problem.</p>
<p>In some, but not all, cases, you can work around the error by reducing the optimization level. You may find it helpful to try compiling with fewer switches to see if you can find one that, when removed, eliminates the error. It is also helpful to remove or comment out portions of the source file to see if you can isolate the line or lines that trigger the problem. The smaller the test case, the easier it will be for Intel to resolve the problem.</p>
<p> </p>
<p> </p>
<p> </p>
<p><i>[DISCLAIMER: The information on this web site is intended for hardware system manufacturers and software developers. Intel does not warrant the accuracy, completeness or utility of any information on this site. Intel may make changes to the information or the site at any time without notice. Intel makes no commitment to update the information at this site. ALL INFORMATION PROVIDED ON THIS WEBSITE IS PROVIDED "as is" without any express, implied, or statutory warranty of any kind including but not limited to warranties of merchantability, non-infringement of intellectual property, or fitness for any particular purpose. Independent companies manufacture the third-party products that are mentioned on this site. Intel is not responsible for the quality or performance of third-party products and makes no representation or warranty regarding such products. The third-party supplier remains solely responsible for the design, manufacture, sale and functionality of its products. Intel and the Intel logo are trademarks or registered trademarks of Intel Corporation or its subsidiaries in the United States and other countries. *Other names and brands may be claimed as the property of others.]</i></p>
<p> </p> ]]></description>
      <link>http://software.intel.com/en-us/articles/internal-compiler-error</link>
      <pubDate>Thu, 02 Jul 2009 10:24:50 -0700</pubDate>
      <comments>http://software.intel.com/en-us/articles/internal-compiler-error#comments</comments>
      <guid isPermaLink="true">http://software.intel.com/en-us/articles/internal-compiler-error</guid>
      <category>Intel® C++ Compiler for Linux* Knowledge Base</category>
      <category>Intel® C++ Compiler for Mac OS X* Knowledge Base</category>
      <category>Intel® C++ Compiler for Windows* Knowledge Base</category>
      <category>Intel® Fortran Compiler for Linux* Knowledge Base</category>
      <category>Intel® Fortran Compiler for Mac OS X* Knowledge Base</category>
      <category>Intel® Parallel Composer Knowledge Base</category>
      <category>Intel® Visual Fortran Compiler for Windows* Knowledge Base</category>
    </item>
    <item>
      <title>Determining Root Cause of SIGSEGV or SIGBUS errors</title>
      <description><![CDATA[ <br />
<div id="art_pre_template"><b>Problem : </b>When I run my code compiled with the Intel Fortran Compiler I get 'sigsegv' on linux (or sigbus on Mac OS X).  This code has run fine for years on &lt;insert your previous compiler/platform&gt;.  Is this a bug with the Intel Compiler?<br /><br /><br /><b>Environment : </b>linux or Mac OS* X<br /><br /><br /><b>Root Cause : </b>There are many possible causes.  A segmention fault (bus error Mac OS X) is a general fault that can have multiple causes.  We outline these potential causes below and give suggestions for avoiding the segmentation fault<br /><br /><br /><b>Possible Cause #1 Fortran Specific Stackspace Exhaustion: Solution, -heap-arrays compiler option. </b><b><br /><br /></b>The Intel Fortran Compiler use stack space to allocate a number of temporary or intermediate copies of array data.  <br /><br /><b>NON-OpenMP and NON-Auto-parallelized Applications:</b> IF your program is not using OpenMP or Auto-parallelization (-parallel compiler switch) and your compiler is newer than Linux v9.1.037 (or all Mac OS* compilers), try the -heap-arrays compiler option.  OpenMP or Auto-parallelization users and users with Linux compilers older than v9.1.037 please read ahead to <b>Possible Cause #2</b> for tips on unlimiting the stack size.<br /><br />-heap-arrays<br /><br />If this removes the sigsegv or bus error, you may STOP at this point.  You may wish to read the attached PDF presentation (link at bottom of page) to learn about when and where array temporaries are created.  With a few code changes you may be able to avoid some array temporaries, and hence reduce your application's need for temporary copies (improves performance).  Also, the -heap-arrays compiler option can take an optional argument [size] to specify the threshold size in Kbytes at which arrays larger than [size] are allocated on heap, all others on stack.  For example:<br /><br />-heap-arrays 10<br /><br />puts all automatic and temporary arrays larger than 10Kbytes on heap<br /><br /><br /><b>Cause #2 Stackspace Exhaustion.   Solution: Unlimiting Stacksize for OpenMP Applications or any Application</b>:<br />The first step is to try to increase your shell stack limit on Linux and Mac OS* X.  However, this option can have unwanted effects on data sharing with OpenMP or auto-parallelized code.  Because of this, OpenMP and auto-parallelization users are advised to not use -heap-arrays and insted try to unlimit their shell stack size limit.<br /><br />Linux, bash:    ulimit -s unlimited<br />Linux, csh/tcsh:   unlimit stacksize<br /><br />You may check your stack size limit with:<br />bash:  ulimit -a<br />csh:    limit<br />and look for 'stack size' limit for your shell environment<br /><br />Notes:  If you run your program under the control of a batch subsystem you may need to add the command above to your user startup files ( ~/.bashrc  ~/.profile  or ~/.cshrc )<br /><br />For Mac OS* X, there is a hard upper limit on the shell stacksize.  For most systems, this is:<br /><br />bash:  ulimit -s 65532<br /><br />which sets the limit to 64Mbytes.<br /><br />An alternative is to use a linker option to increase the executable's default shell stacksize, as documented here:  <a href="http://software.intel.com/en-us/articles/intel-fortran-compiler-increased-stack-usage-of-80-or-higher-compilers-causes-segmentation-fault/">http://software.intel.com/en-us/articles/intel-fortran-compiler-increased-stack-usage-of-80-or-higher-compilers-causes-segmentation-fault/</a><br /><br />Re-run your application, if this fixes the issue you may stop.  If your application still generates sigsegv or bus error, continue reading.<br /><br /><br /><b>Possible Cause #3, Stack Corruption Due to User Coding Error.</b> There are a number of user coding errors that can cause stack corruption and lead to a sigsegv or bus error at run time.  These errors are particularly hard to find since the segmentation fault may occur later in the program in a section unrelated to where the stack was initially corrupted.<br /><br />The first step is to try to isolate where in the code the fault occurs.  This is done by generating an execution 'traceback'.  Compile and link using the ifort driver and these options:<br /><br />-g -traceback<br /><br />When the code faults, you will often get a report showing the call stack when the fault occurs.  If you do not get a stack traceback, insure that you have used -g for both compilation and link and make sure that -traceback was used on the compilation.  There are cases where the seg fault occurs while the program is in kernel space and thus no user stack is available for trace back.  We are working to improve this in a future release.<br /><br />This trace back report is read from the bottom of the list upwards.  Find the uppermost subroutine or function from your code along with it's line number to isolate which instruction caused the fault.  Check for user coding errors at this statement.  If no obvious user error, continue below<br /><br /><br /><b>Possible Cause #4, exceeding Array Bound.  Solution, try -check bounds<br /><br /></b>The -check-bounds compiler option provides a run-time check of array accesses and character string expressions to insure that the indices are within the boundaries of the array.  This checking is useful to find cases where the indices go outside of the declared size of the array.  This option has a big impact on performance, the magnitude of which depends on how many array accesses are performed in the application.  Also, -check-bounds array bounds checking is not performed for arrays that are dummy arguments in which the last dimension bound is specified as * or when both upper and lower dimensions are 1.   To enable bounds checking, compile with:<br /><br />-check bounds -g <br /><br />and run your program.  The checking is performed at run time and not at compile time.  If this finds your error STOP.  ELSE keep reading.<br /><b><br /><br />Possible Cause #5</b>, <b>calling a function as a subroutine</b>, or invoking a subroutine as if it were a function.  <br /><br />These are user coding errors where a user does something similar to this:<br /><br />--- main program ---<br />...<br />call ThisIsIllegal( some_arguments )<br />...<br />--- end main program ---<br /><br />--- ThisIsIllegal ---<br />integer function ThisIsIllegal( some_arguments )<br />...<br />--- end ThisIsIllegal ---<br /><br />In the example above, the main program calls ThisIsIllegal as if it were a subroutine, however ThisIsIllegal is declared as a function.  This can cause stack corruption.  To test for these conditions, try using compiler option<br /><br />-fp-stack-check -g -traceback<br /><br />compile with these options and run.   If the stack is corrupted by something similar to the above, your code will exit and give a stack trace.<br /><br />You can check the interfaces of your procedures with a compile time check:<br /><br />-gen-interfaces -warn interfaces<br /><br />This compile time check will generate INTERFACE blocks for your procedures.  The -warn interfaces will then use these compiler-generated interfaces and check the calls to your procedures to make sure arguments and interfaces match between caller and callee.   Note that this check occurs only for Fortran source files.  This will not check interfaces in mixed language program.<br /><br /><br /><b>Possible Cause #6</b>, <b>large array temporaries caused by passing non-contiguous array sections.</b> Solution, detect with -check arg_temp_created and fix with coding change to include explicit interface and assumed shaped arrays.<br /><br />Consider this 'before' example:<br /><br />--- main program ---<br />real(8) :: f(1800,3600,1)<br />external sub<br />...<br />call sub( f(1:900,:,:) )<br />...<br />--- end main program ---<br /><br />and the "sub" subroutine is in a separately compiled source file:<br />--- external subroutine "sub" ---<br />subroutine sub( f )<br />real(8) :: f(900,3600,1)<br />...<br />--- end subroutine "sub" ---<br /><br />In this case, "sub" is expecting a contiguous array of size 900x3600x1.  However, the call is passing an array that is not contiguous in memory.  In situations such as this, the compiler will make an array temporary at the call to copy the elements of the array "f" from non-contiguous chucks into a contiguous array such as what "sub" is expecting.  This temporary is allocated on stack unless -heap-arrays is specified.  <br /><br />To check if this is occuring in your code, compile with<br />-check arg_temp_created<br /><br />and run the program.  Messages will be written when argument temporaries are created.  To work around the issue, creating a explicit interface and using an assumed shaped array in "sub" will remove the need for an array temporary:<br /><br />--- main ---<br />real(8) :: f(1800,3600,1)<br />interface<br />subroutine sub(f)<br />real(8) :: f(:,:,:)<br />end subroutine sub<br />end interface<br />...<br />call sub( f(1:900,:,:) )<br />...<br />--- end main program ---<br /><br />--- "sub" ---<br />subroutine sub( f )<br />real(8) :: f(:,:,:)<br />...<br />end subroutine sub<br /><br />Keep in mind, that although this avoids the array temporary, within "sub" the compiler is now aware that the array "f" may be non-contiguous.  Thus, some optimizations on statements using "f" may be disabled and thus affect performance.<br /><br /><br /><b>Case NONE OF THE ABOVE:  Solution, more in-depth analysis is needed</b>.  <br /><br />99% of the sigsegv or bus error cases tend to fall into the categories above.  However, there are other cases where segmentation faults can occur.  <br /><br />If your application is linking in external libraries, make sure that the library is compatible with your compiler.  Was the external library compiled with the Intel Compiler?  If so, were the major versions the same - that is, was the library compiled with Intel Fortran v9.1 but your application built with Intel Fortran v10.x or v11.x?  Intel only guarantees compatibility within major versions ( 9, 10, 11 are examples of major versions).  <br /><br />If the external library is from a software vendor or tool:  does this vendor explicitly name the Intel Compiler as compatible, and if so, with which version(s) have they verified their library?  You should only use the version(s) of the Intel Compiler certified by your vendor.  If you need an older version of the Intel Compiler, please see <a href="http://software.intel.com/en-us/articles/older-version-product/">How do I get an older version of an Intel(R) Software Development Product.</a><br /><br /><br /><b>When all else fails ....</b><br /><br />Post a note to the User Forum <a href="http://software.intel.com/en-us/forums/intel-fortran-compiler-for-linux-and-mac-os-x/">HERE</a>.   Please include the name of your application if it a commonly available code, post a stack trace (if you can get one), compiler options used, and ideally a tarball of the entire application, input files and instructions on how to run the program.<br /><br />If you have support for your product, you can open an issue at <a href="http://premier.intel.com">http://premier.intel.com</a>.<br /><br />For more background information, try the excellent Dr. Fortran Article <a href="http://software.intel.com/en-us/forums/intel-visual-fortran-compiler-for-windows/topic/41911/reply/12580/">"Don't Blow Your Stack!"</a><br /><br />And read the PDF presentation attached to this article Fortran Compiler Use of Temporaries: <a onclick="ndownload('http://software.intel.com/file/20415')" href="javascript:void(0)">Stack+usage.pdf</a><br /></div> ]]></description>
      <link>http://software.intel.com/en-us/articles/determining-root-cause-of-sigsegv-or-sigbus-errors</link>
      <pubDate>Wed, 24 Jun 2009 10:57:40 -0700</pubDate>
      <comments>http://software.intel.com/en-us/articles/determining-root-cause-of-sigsegv-or-sigbus-errors#comments</comments>
      <guid isPermaLink="true">http://software.intel.com/en-us/articles/determining-root-cause-of-sigsegv-or-sigbus-errors</guid>
      <category>Intel® Fortran Compiler for Linux* Knowledge Base</category>
      <category>Intel® Fortran Compiler for Mac OS X* Knowledge Base</category>
    </item>
    <item>
      <title>&amp;#39;mpiexec -idb&amp;#39; fails to start the Intel GUI debugger correctly</title>
      <description><![CDATA[ <em></em><br />
<div id="art_pre_template">Reference Number : DPD200136769<br /><br /><br />Version : Intel MPI 3.x, Intel C++ Linux compiler 11.x, Intel Fortran Linux compiler 11.x<br /><br /><br />Operating System : Linux<br /><br /><br />Problem Description : This is only an issue on Linux systems using Intel® 64 architecture-based processors.  On such systems, the IDB debugger included with the Intel C++ and Fortran 11.x compilers runs in GUI mode by default.  If you launch an MPI job under the debugger's control, for example, with 'mpiexec -idb -n <em>number_of_processes</em> <em>mpi_application_name',</em> the IDB GUI and a console will come up, but neither can effectively be used to debug the MPI application.  <br /><br />A possible workaround is to rename idb, and then make idb a symbolic link the idbc, the command line IDB.<br />In the IDB_HOME directory (by default, the location is /opt/intel/Compiler/11.x/&lt;version&gt;/bin/intel64), please do:<br />mv idb idbgui<br />ln -s idbc idb<br /><br />As always, be sure to set environment variable IDB_HOME to the location of the IDB binaries, and set MPIEXEC_DEBUG=1 before launching a debugging session.<br /><br /><br />Resolution Status :  This issue may be resolved in a future version of Intel IDB for Linux<br /><br /><br /><br /><em>[DISCLAIMER: The information on this web site is intended for hardware system manufacturers and software developers. Intel does not warrant the accuracy, completeness or utility of any information on this site. Intel may make changes to the information or the site at any time without notice. Intel makes no commitment to update the information at this site. ALL INFORMATION PROVIDED ON THIS WEBSITE IS PROVIDED "as is" without any express, implied, or statutory warranty of any kind including but not limited to warranties of merchantability, non-infringement of intellectual property, or fitness for any particular purpose. Independent companies manufacture the third-party products that are mentioned on this site. Intel is not responsible for the quality or performance of third-party products and makes no representation or warranty regarding such products. The third-party supplier remains solely responsible for the design, manufacture, sale and functionality of its products. Intel and the Intel logo are trademarks or registered trademarks of Intel Corporation or its subsidiaries in the United States and other countries. *Other names and brands may be claimed as the property of others.]</em></div> ]]></description>
      <link>http://software.intel.com/en-us/articles/mpiexec-idb-fails-to-start-the-intel-gui-debugger-correctly</link>
      <pubDate>Wed, 17 Jun 2009 11:42:09 -0700</pubDate>
      <comments>http://software.intel.com/en-us/articles/mpiexec-idb-fails-to-start-the-intel-gui-debugger-correctly#comments</comments>
      <guid isPermaLink="true">http://software.intel.com/en-us/articles/mpiexec-idb-fails-to-start-the-intel-gui-debugger-correctly</guid>
      <category>Intel® C++ Compiler for Linux* Knowledge Base</category>
      <category>Intel® Cluster Toolkit for Linux* Knowledge Base</category>
      <category>Intel® Fortran Compiler for Linux* Knowledge Base</category>
      <category>Intel® MPI Library for Linux* Knowledge Base</category>
    </item>
    <item>
      <title>Syntax error for array constructor with datatype keyword value</title>
      <description><![CDATA[ <br />
<div id="art_pre_template"><strong>Reference Number : </strong>DPD200111543<br /><br /><br /><strong>Version : </strong>11.0<br /><br /><br /><strong>Operating System : </strong>All<br /><br /><br /><strong>Problem Description : </strong>The compiler gives a syntax error for an array constructor of the form:<br /><br /><code>(/parameter-name/)</code><br /><br />where <em>parameter-name</em> is a PARAMETER constant that has the same name as a datatype keyword (BYTE, INTEGER, REAL, COMPLEX, etc.)  For example:<br /><br />
<pre name="code" class="cpp">INTEGER, PARAMETER :: BYTE = 123<br />INTEGER IA(1)<br />IA = (/BYTE/)<br />END</pre>
When compiled, this gives an error such as:<br /><br />example.f90(3): error #5082: Syntax error, found ')' when expecting one of: ( &lt;IDENTIFIER&gt; &lt;CHAR_CON_KIND_PARAM&gt; &lt;CHAR_NAM_KIND_PARAM&gt; &lt;CHARACTER_CONSTANT&gt; &lt;INTEGER_CONSTANT&gt; ...<br />IA = (/BYTE/)<br />------------^<br /><br /><br /><strong>Resolution Status : </strong>This problem is fixed in the January 2009 product update.  A workaround is to use the Fortran 2003 array constructor syntax:<br /><br /><code>[parameter-name]</code><br /><br />instead.<br /><br /><br /><br /><em>[DISCLAIMER: The information on this web site is intended for hardware system manufacturers and software developers.  Intel does not warrant the accuracy, completeness or utility of any information on this site. Intel may make changes to the information or the site at any time without notice. Intel makes no commitment to update the information at this site.  ALL INFORMATION PROVIDED ON THIS WEBSITE IS PROVIDED "as is" without any express, implied, or statutory warranty of any kind including but not limited to warranties of merchantability, non-infringement of intellectual property, or fitness for any particular purpose.  Independent companies manufacture the third-party products that are mentioned on this site. Intel is not responsible for the quality or performance of third-party products and makes no representation or warranty regarding such products. The third-party supplier remains solely responsible for the design, manufacture, sale and functionality of its products. Intel and the Intel logo are trademarks or registered trademarks of Intel Corporation or its subsidiaries in the United States and other countries. *Other names and brands may be claimed as the property of others.]</em></div> ]]></description>
      <link>http://software.intel.com/en-us/articles/syntax-error-array-constructor-datatype-keyword-value</link>
      <pubDate>Mon, 18 May 2009 11:04:35 -0700</pubDate>
      <comments>http://software.intel.com/en-us/articles/syntax-error-array-constructor-datatype-keyword-value#comments</comments>
      <guid isPermaLink="true">http://software.intel.com/en-us/articles/syntax-error-array-constructor-datatype-keyword-value</guid>
      <category>Intel® Fortran Compiler for Linux* Knowledge Base</category>
      <category>Intel® Fortran Compiler for Mac OS X* Knowledge Base</category>
      <category>Intel® Visual Fortran Compiler for Windows* Knowledge Base</category>
    </item>
  </channel></rss>