<?xml version="1.0" encoding="UTF-8"?>
<!-- Generated on Wed, 25 Nov 2009 13:43:54 -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-compilers/type/tips-and-techniques/feed/" rel="self" type="application/rss+xml" />
    <title>Intel Software Network articles feed</title>
    <link>http://software.intel.com/en-us/articles/intel-compilers/tips-and-techniques/</link>
    <description></description>
    <language>en-us</language>
    <item>
      <title>Building the Moblin Clutter Library with the Intel Compiler</title>
      <description><![CDATA[ <p><b>Building the Moblin Clutter Library with the Intel Compiler</b></p>
<p><b>Introduction</b></p>
<p><b>Build environment</b></p>
<p>The build instructions below are based on the assumption that the build environment is a Fedora10 installation. </p>
<p>A copy of the installation disks can be found here. <a href="http://fedoraproject.org/get-fedora">http://fedoraproject.org/get-fedora</a></p>
<p>It is important that the GCC tools are installed when the Fedora installation is installed.</p>
<p><b>Cross-development</b></p>
<p>The clutter libraries  and test environment  are first built on a Fedora installation, and then the resultant executables and libraries can then be copied over to a MOBLIN2 platform.</p>
<p><b>Virtualisation</b></p>
<p>The steps below can be undertaken on a virtual machine, the only restriction being that not all virtual machines support video acceleration  </p>
<p><b>The tests</b></p>
<p>There are a number of tests that can be used to benchmark the clutter library. The benchmark performance is measured by how many Frames Per Second (FPS) are achieved.<b><br clear="all" /></b></p>
<p><b>Building the Clutter Libraries</b></p>
<p><b>Downloading the sources</b></p>
<p>The sources for the clutter library can be obtained by using the following command.</p>
<p>In a development directory of your choosing download the sources</p>
<p>   git clone git://git.clutter-project.org/clutter</p>
<p>   git clone git://git.clutter-project.org/clutter-box2d</p>
<p>Progress for each download should be reported similar the following:</p>
<p> </p>
<p>$ git clone git://git.clutter-project.org/clutter<br /><br />Initialized empty Git repository in /home/intel/dv/clutter/clutter/.git/<br />remote: Counting objects: 25225, done.<br />remote: Compressing objects: 100% (10261/10261), done.<br />remote: Total 25225 (delta 20575), reused 18319 (delta 14944)<br />Receiving objects: 100% (25225/25225), 6.99 MiB | 104 KiB/s, done.<br />Resolving deltas: 100% (20575/20575), done.</p>
<p><b>Building the Sources</b></p>
<p>Directory structure should look similar to this:</p>
<p>             &lt;dev-dir&gt;/clutter/<br />            &lt;dev-dir&gt;/clutter-box2d</p>
<p> </p>
<p>In each of these sub directories build the libraries as follows:</p>
<p><b>Choosing which compiler </b></p>
<p><b>Building with GCC</b></p>
<p>For our installation, we'll use the environment variable  $PREFIX custom directory so as not to override any existing installation</p>
<p>     export PREFIX=/opt/custom/gcc<br />    ./autogen.sh --prefix=$PREFIX</p>
<p><b>Building with ICC</b></p>
<p>To build the library with the Intel compiler use the following commands</p>
<p>    export CC=icc<br />    export CXX=icc</p>
<p>   export PREFIX=/opt/custom/icc<br />  ./autogen.sh --prefix=$PREFIX</p>
<p><b>Continuing the build</b></p>
<p>When autogen has completed you should get a message similar to the display below </p>
<p>  <br />                                  Clutter    0.9.7<br />                         ====================<br />                                  prefix:   /opt/custom/gcc<br />                                Flavour:   glx/gl<br />                                 XInput:   no<br />                          GL headers:   GL/gl.h<br />                    Image backend:   gdk-pixbuf<br />                       Target library:   libclutter-glx-0.9.la<br />               Clutter debug level:   yes<br />                 COGL debug level:   minimum<br />                      Compiler flags:   -Wall -Wshadow -Wcast-align -Wno-uninitialized -Wno-strict-aliasing -Wempty-body -Wformat-security -Winit-self<br />        Build API documentation:   no<br />  Build manual documentation:   no<br />         Build introspection data:   auto</p>
<p>  </p>
<p>Now build the source by calling make</p>
<p>The progress of the make will be reported, the last few lines looking similar to this:</p>
<p>   Making all in tools<br />     CC    disable-npots.o<br />     LINK  libdisable-npots-static.la<br />     LINK  libdisable-npots.la <br />   Making all in po</p>
<p><b>Installing the new library</b></p>
<p>To install the new library call:</p>
<p>make install</p>
<p>Note, depending on the permissions of the installation directory (set with the $PREFIX variable in the previous steps) you may need to do this as root.</p>
<p> </p>
<p><b>Building the tests</b></p>
<p>The test directory has a number of tests. The README describes the tests as follows </p>
<p><i>"The conform/ tests should be non-interactive unit-tests that verify a single feature is behaving as documented. See conform/ADDING_NEW_TESTS for more details.</i></p>
<p><i> </i><i>The micro-bench/ tests should be focused performance test, ideally testing a single metric. Please never forget that these tests are synthetic and if you are using them then you understand what metric is being tested. They probably don't reflect any real world application loads and the intention is that you use these tests once you have already determined the crux of your problem and need focused feedback that your changes are indeed improving matters. There is no exit status requirements for these tests, but they should give clear feedback as to their performance. If the frame rate is the feedback metric, then the test should forcibly enable FPS debugging.</i></p>
<p><i> </i><i>The interactive/ tests are any tests who's  status can not be determined without a user looking at some visual output, or providing some manual input etc. This covers most of the original Clutter tests. Ideally some of these tests will be migrated into the conformance/ directory so they can be used in automated nightly tests."</i></p>
<p>To build the tests, from the top level of the test directory do: </p>
<p>    make</p>
<p>The build will report:</p>
<p>    Making all in data <br />    Making all in conform<br />    Making all in interactive<br />    Making all in micro-bench<br />    Making all in tools</p>
<p><b>Running the tests</b></p>
<p>Having built the tests, each test can be run from the command line.</p>
<p><b>Automatic running of  tests.</b></p>
<p>Many of the tests do not run to completion, but keep running,  The script in the appendix below gives an example of how the tests can be automatically called and killed after a predefined time.</p>
<b><br clear="all" /></b>
<p><b>Appendix 1 -  Script to drive test cases</b></p>
<p>#!/usr/bin/perl<br /># list of tests <b>TODO: EDIT THESE TO YOUR REQUIREMENTS<br /></b>@Tests=("test-actors", "test-behave", "test-clip","test-cogl-offscreen","test-cogl-primitives","test-cogl-tex-convert","test-cogl-tex-foreign","test-cogl-tex-getset","test-cogl-tex-polygontest","test-cogl-tex-tile","test-depth","test-layout","test-multistage","test-pixmap","test-project","test-random-text","test-rotate","test-scale","test-script","test-sharder","test-text","test-texture-quality","test-textures","test-threads","test-unproject","test-viewport");<br /><br />#@Tests=("test-actors", "test-behave");<br />@Results=();<br /><br /># for each test run it for 10 seconds<br />my $Timeout = 10;<br />## chdir interactive;<br />my $bStarted = 0;<br /><br />foreach my $Test (@Tests)<br />{<br />    # print "executing $Test\n ";<br />    eval {<br />        local $SIG{ALRM} = sub { die "alarm\n" }; # NB: \n required<br />        alarm $Timeout;<br />        # system("./$Test --clutter-show-fps &gt; res.$Test.txt");<br /><br />        # mark end of prev test<br />        push @Results, "END" if $bStarted;<br />        push @Results, "TEST:$Test\n-----------------------\n";<br />        $bStarted = 1;<br />        open (RUN,"./$Test --clutter-show-fps &amp;|");<br />        while(&lt;RUN&gt;)<br />        {<br />            push @Results, $_;<br />        }<br />        alarm 0;<br />    };<br />    if ($@) <br />    {<br />        die unless $@ eq "alarm\n"; # propagate unexpected errors<br />        # timed out<br />        system("killall -9 lt-test-interactive");<br />     }<br />}<br /># mark the end of the last test<br />push @Results, "END" if $bStarted;<br /><br /># process the results<br />my $NumTests = 0;<br />my $Total = 0;<br />my $Max = 0;<br />my $Min = 9999;<br />my $TestName="";<br /><br />print "\nName Min Max NumTests Average\n";<br />foreach my $Line (@Results)<br />{<br />    if($Line=~/^TEST:(.*)/)<br />    {<br />        # print "IN TEST $Line";<br />        $TestName= $1;<br />        chomp $TestName;<br />        $NumTests = 0;<br />        $Total = 0;<br />        $Max = 0;<br />        $Min = 9999;<br />    }<br /><br />    if($Line=~/END/)<br />    {<br />        # print "IN END :$Line";<br />        $Average = 0;<br />        $Average = $Total/$NumTests if $NumTests &gt; 0;<br />        print "$TestName $Min $Max $NumTests $Average\n";<br />    }<br /><br />    if($Line=~/\*\*\* FPS: (.*) \*\*\*/)<br />    {<br />        # print "IN FPS: $Line";<br />        $NumTests++;<br />        $Total = $Total + $1;<br />        $Max = $1 if $1 &gt; $Max;<br />        $Min = $1 if $1 &lt; $Min;<br />    }<br />}<br /><br />print "exiting ..\n";<br /> </p>
<p> </p>
<b><br clear="all" /></b>
<p><b> Appendix 2 - Essential notes on installing Fedora  </b></p>
<p>When installing Fedora you must install the Software Development tools.</p>
<p> </p>
<p> </p> ]]></description>
      <link>http://software.intel.com/en-us/articles/building-the-moblin-clutter-library-with-the-intel-compiler</link>
      <pubDate>Sat, 12 Sep 2009 03:56:58 -0700</pubDate>
      <comments>http://software.intel.com/en-us/articles/building-the-moblin-clutter-library-with-the-intel-compiler#comments</comments>
      <guid isPermaLink="true">http://software.intel.com/en-us/articles/building-the-moblin-clutter-library-with-the-intel-compiler</guid>
      <category>Mobility</category>
      <category>Tools</category>
      <category>MID</category>
      <category>Intel® Compilers</category>
      <category>Intel® Software Development Tool Suites for Intel® Atom™ Processor Knowledge Base</category>
    </item>
    <item>
      <title>How to find Host ID for Floating licenses</title>
      <description><![CDATA[ <br />
<div id="art_pre_template"><strong>Identifying the Host Name and Host ID<br /></strong>The host name and host ID are system-level identifiers on supported platforms that<br />are used in the license file to identify the node on which you plan to install the Intel<br />License Manager for FLEXlm* and license file. To enable you to obtain a counted<br />license, these unique values must be available when you register your product. For<br />node-locked licenses, you will also need the host name and host id of the node from<br />which your applications will run, if different from the node for the Intel License<br />Manager for FLEXlm*. Follow these directions to obtain the host name and host id for<br />each supported platform:<br /><br /><strong>Microsoft Windows*<br /></strong>1. From the Start menu, click Run...<br />2. Type cmd in the Open: field, then click OK.<br />3. Type ipconfig /all at the command prompt, and press Enter.<br />In the resulting output, host name is the value that corresponds to Host Name, and<br />host id is the value that corresponds to Physical Address.<br /><br />For example, if the output of ipconfig /all included the following:<br />Host Name . . . . . . . : mycomputer<br /><strong>. . .<br /></strong>Physical Address . . . . : 00-06-29-CF-74-AA<br />then host name is mycomputer and the host ID is 00-06-29-CF-74-AA.<br /><br /><strong>Linux*<br /></strong>1. Run the hostname command to display the host name.<br />2. Run the command /sbin/ifconfig eth0 to display the hardware address.<br />For example, if the /sbin/ifconfig eth0 command returns<br />HWaddr 00:D0:B7:A8:80:AA, then the host ID is 00:D0:B7:A8:80:AA.<br />It is strongly recommended that users run the lmhostid utility to obtain the hostid<br />value required to generate the counted licenses. The lmhostid utility can be found in<br />the install location to which Intel License Manager for FLEXlm* is installed.<br /><br /><strong>Mac OS* X on Intel® Architecture<br /></strong>1. Run the hostname command to display the host name.<br />2. Run the command /sbin/ifconfig en0 ether to display the hardware address.<br />The following is an example of an address that could be returned by this command:<br />en0: flags=8863&lt;UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST&gt; mtu 1500<br />ether 00:13:20:60:23:4f<br />It is strongly recommended that users run the lmhostid utility to obtain the hostid<br />value required to generate the counted licenses. The lmhostid utility is installed to<br />the same location as the Intel License Manager for FLEXlm*.<br /><br /></div> ]]></description>
      <link>http://software.intel.com/en-us/articles/how-to-find-host-id-for-floating-licenses</link>
      <pubDate>Thu, 13 Aug 2009 09:15:55 -0700</pubDate>
      <comments>http://software.intel.com/en-us/articles/how-to-find-host-id-for-floating-licenses#comments</comments>
      <guid isPermaLink="true">http://software.intel.com/en-us/articles/how-to-find-host-id-for-floating-licenses</guid>
      <category>Software Products General</category>
      <category>Intel® Compilers</category>
      <category>Intel® License Manager for FLEXlm* Knowledge Base</category>
      <category>Intel® Software Development Products Registration Center Knowledge Base</category>
    </item>
    <item>
      <title>Q&amp;A from Webinar: Find Errors in Windows* C++ Parallel Applications</title>
      <description><![CDATA[ <strong>On April 14, 2009 Bernth Andersson presented a technical session and live demo webinar focusing on the Intel(R) Parallel Debugger Extension and it's use for identifying parallel coding issues and run-time problems related to concurrency. Below are questions that came up during this webinar and answers to those questions.  <br /><br />Q1. Can you disable a single specific parallel region? <br /></strong>
<blockquote>
<p>A: The "Serialize Parallel Region" option of the Intel(R) Parallel Debugger extensions temporarily sets the OpenMP* omp_set_num_threads() environment variable to 1, thus forcing single threaded execution even on a multi-core system. This temporary change applies to the next parallel block or parallel region in your code relative to the current EIP or program counter location.<br /><br />Thus, yes - the "Serialize Parallel Region" option can be applied to a specific parallal region of your choice. You can do so by setting a breakpoint just before you enter the parallel region you would like to have executed as a single serial thread and then selecting the serialization option from the Intel(R) Parallel Debugger Extension menu inside Microsoft* Visual Studio. </p>
</blockquote>
<br /><strong>Q2. Do the Parallel Debugger Extensions only support OpenMP* or also native Windows* threads or Threading Building Blocks?  </strong><br />
<blockquote>A: Most of the Parallel Debugger Extension features like Thread Data Sharing Event Detection, Function Reentrancy Detection amd Serialize Parallel Region, rely on instrumentation of debug information and on the OpenMP* library. As such these features are currently only available for OpenMP* based threading. The one feature that is independent of the threading model used are the enhanced and highly configurable SSE register windows.</blockquote>
<br /><strong>Q3. Do the Intel(R) Parallel Debugger Extensions use similar instrumentations as the Intel(R) Parallel Inspector?  <br /></strong>
<blockquote>A: The debug symbol information instrumentation done by the Intel(R) C++ Compiler when the /debug:parallel option is set along with /Zi is different from the code instrumentations used by the Intel(R) Parallel Inspector for it's instrumentation assisted operating mode.<br />The Intel(R) Parallel Debugger Extensions do not rely on executable code instrumentation, but rather on instrumentation of the symbol information used for debugging. As such the Parallel Debugger Extensions cannot statically anaylze the execution flow, but rely on a detectable event that may be of interest happening at real time during a debug session. At the same time, because only the debug information is instrumented there should only be very minimal performance impact on the execuatble if run outside the Microsoft* Visual Studio Debugger.</blockquote>
<br /><strong>Q4. Is the compiler option /Qpenmp required for use of the Intel(R) Parallel Debugger Extension?</strong>
<blockquote>A: Yes, all enhanced parallelism features of the Intel(R) Parallel Debugger Extensions rely on OpenMP* based threading, except for the SSE register windows.</blockquote>
<br /><strong>Q5.  Do the Intel(R) Parallel Debugger Extensions require the use of the Intel(R) Compiler?</strong>
<blockquote>A: Yes, the Parallel Debugger Extensions rely on debug info instrumentation added with the Intel(R) Compiler option /debug:parallel in conjunction with /Qopenmp. Therefore the full capabilities of the Intel(R) Parallel Debugger Extensions are only available when used with the Intel(R) Compiler.</blockquote>
<br /><strong>Q6. Can I use the Intel(R) Parallel Debugger Extensions to debug parallelism in the Intel(R) Integrated Performance Primitives and to serialize execution in them?</strong>
<blockquote>A: In principle yes, BUT this would require rebuilding and relinking the Intel(R) IPP with symbol information and /debug:parallel. Since you are most likely taking the primitives from prebuilt libraries that you link into your project, this not really a supported usage model, although it may work in some cases depending on how the call to the Intel(R) IPP function of your choice is embedded in the rest of your application.<br />The short answer thus is really no, with some exceptions.</blockquote>
<strong><br />Q7.  Does the OpenMP* library have to be linked in statically? Can 3rd party OpenMP* libraries be used?</strong><br />
<blockquote>A: The OpenMP* library can be linked in statically or dynamically into your application build for the use of the Intel(R) Parallel Debugger Extension. The OpenMP* library used by the Intel(R) C++ Compiler is really a standard OpenMP* library. However, there is the dependency on the debug information instrumentation using /debug:parallel. This instrumentation has only been tested and is only expected to work with the OpenMP* libraries provided with the Intel(R) Compiler.</blockquote>
<br /><strong>Q8. What is the main benefit of the SSE Register Window? Does it depend on OpenMP*?</strong>
<blockquote>A: The SSE Register Window allows you to group the display of the register contents and display said contents in the exact way that you are using it in your parallelized loops, your structured arrays or other parallel structures. By doing this the highly configurable SSE Register Window provides you with the link between your data as it is used in your application and the way this very same data is actually stored and processed in the SSE registers.<br /><br />This can be quite valuable for understanding more complex heavily parallel multimedia or graphics code for instants.<br /><br />This feature does not rely on any instrumentation or any specific threading implementation. It is independent of OpenMP*. </blockquote>
<br /><strong>For additional questions please also refer to the Intel(R) Parallel Debugger Extension article and whitepaper at <a target="_blank" href="http://software.intel.com/en-us/articles/parallel-debugger-extension/" title="Intel(R) Parallel Debugger Extension Article">http://software.intel.com/en-us/articles/parallel-debugger-extension/</a></strong> ]]></description>
      <link>http://software.intel.com/en-us/articles/qa-from-webinar-find-errors-in-parallel-applications</link>
      <pubDate>Tue, 30 Jun 2009 16:56:46 -0700</pubDate>
      <comments>http://software.intel.com/en-us/articles/qa-from-webinar-find-errors-in-parallel-applications#comments</comments>
      <guid isPermaLink="true">http://software.intel.com/en-us/articles/qa-from-webinar-find-errors-in-parallel-applications</guid>
      <category>Parallel Programming</category>
      <category>Intel® Compilers</category>
      <category>Intel® Parallel Composer Knowledge Base</category>
    </item>
    <item>
      <title>Intel Compilers for Linux Version 11.1 Silent Installation Guide</title>
      <description><![CDATA[ <meta http-equiv="Content-Language" content="en-us" />
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252" />
<title>Linux Compiler Professional 11.1 Special Installation Instructions</title>
<meta name="description" content="Internal use document describing special installation features" />
<!--[if gte mso 9]><xml> <mso:CustomDocumentProperties> <mso:ContentType msdt:dt="string">Document</mso:ContentType> </mso:CustomDocumentProperties> </xml><![endif]-->
<h1 align="center"><span style="font-family: Arial;">Linux Compiler Professional 11.1 <br /> "Silent" or "Non-interactive" Installation Instructions</span></h1>
<br />
<h2><span style="font-family: Arial;">Contents:</span></h2>
<br /> 
<ul>
<li><span style="font-family: Arial;"><a href="#silent">Silent Command Line Installations</a></span></li>
<li><span style="font-family: Arial;"><a href="#rpm">RPM Command Line Installations</a></span></li>
<li><span style="font-family: Arial;"><a href="#lsb">LSB Support</a></span></li>
<li><span style="font-family: Arial;"><a href="#redist">Redistribution Package  	Installations</a></span></li>
<li><span style="font-family: Arial;"></span><a href="#uninstall">Uninstall Instructions</a></li>
<li><span style="font-family: Arial;"><a href="#links">Links of Interest</a></span></li>
</ul>
<h2></h2>
<h2></h2>
<br />
<h2></h2>
<h2><span style="font-family: Arial;"><a name="silent"></a>Silent Command Line Installations</span></h2>
<p><span style="font-family: Arial;">Starting with release 11.0, the Linux installation  programs for Compiler Professional are built using the PSET (Program Startup  Experience Technologies) 2.0 core.  This PSET core is a framework of tools  built by Intel to provide a robust set of installation and licensing features  that are consistent across Intel product lines.  A similar PSET core is  used for the Windows* and Mac OS* X installation packages as well.</span></p>
<p><span style="font-family: Arial;">One feature provided in the PSET core is support for the   "silent" install.  Historically, "silent" really meant "non-interactive".   At this point, "silent" also means "does not report copious amounts of  information".  The silent install really is silent now, assuming there are  no problems during the installation.  The silent install method allows the  user to perform a command line installation of an entire package with no need to  answer prompts or make product selections. </span></p>
<p><span style="font-family: Arial;">A historical note specific to Linux installs: there has  been a "silent" install capability in the Linux Compiler products since version  9.0.  This legacy version, included in versions 9.1, 10.0, 10.1, and 11.0  as well, performed the same function.  But starting with version 11.1, the  legacy silent install embedded in the "inner install components" has been  removed.  <b>The new PSET core silent install is the only method still  supported - that is, older silent installation tools in v11.0 and older are no longer supported</b> other than the RPM command line install method (see details on  RPM-based installs <a href="#rpm">below</a>).</span></p>
<h3><span style="font-family: Arial;">Silent Install Steps: "From Scratch"</span></h3>
<p><span style="font-family: Arial;">To run the silent install, follow these steps:</span></p>
<ul>
<li><span style="font-family: Arial;">Make sure that a working product license is in place  	before beginning.  The file should be world-readable and located in a  	standard Intel license file directory, such as /opt/intel/licenses.<br /> </span></li>
<li><span style="font-family: Arial;">Create / edit a silent install INI file.  Here  	is an example file.  A similar file can be edited and placed in any  	directory on the target system.</span></li>
</ul>
<blockquote>
<blockquote>
<p><span style="font-family: Arial;">ACTIVATION=exist_lic<br /> CONTINUE_WITH_INSTALLDIR_OVERWRITE=yes<br /> CONTINUE_WITH_OPTIONAL_ERROR=yes<br /> PSET_INSTALL_DIR=/opt/intel/Compiler/11.1/038<br /> INSTALL_MODE=RPM<br /> ACCEPT_EULA=accept</span></p>
</blockquote>
</blockquote>
<ul>
<li><span style="font-family: Arial;">Run the silent install.  For example, if you untarred your compiler package in /tmp for version 11.1.038:</span></li>
</ul>
<blockquote>
<p><b><span style="font-family: Courier;">prompt&gt; cd /tmp/l_cproc_p_11.1.038</span></b></p>
<p><b><span style="font-family: Courier;">prompt&gt; ./install.sh --silent /tmp/my_silent_config.ini</span></b></p>
<p><b><span style="font-family: Courier;">prompt&gt;</span></b></p>
</blockquote>
<p><span style="font-family: Arial;">That's it! The silent install is complete. </span></p>
<p><span style="font-family: Arial;">A few comments on the fields inside the silent install INI  file:</span></p>
<ul>
<li><span style="font-family: Arial;">ACTIVATION=exist_lic</span></li>
</ul>
<blockquote>
<p><span style="font-family: Arial;">This tells the install program to look for an existing  	license during the install process.  This is the preferred method for  	silent installs.  If you have only a serial number, please visit <a href="https://registrationcenter.intel.com">https://registrationcenter.intel.com</a> to register your serial number.  As part of registration, you will receive email with an attached license file.  Save the license file in /opt/intel/licenses/ directory.  If you have already registered your serial number but have lost the license file, revisit </span><span style="font-family: Arial;"><a href="https://registrationcenter.intel.com">https://registrationcenter.intel.com</a> and click on the hyperlinked product name to get to a screen where you can cut and paste or mail yourself a copy of your registered license file.<br /></span></p>
</blockquote>
<ul>
<li><span style="font-family: Arial;">CONTINUE_WITH_INSTALLDIR_OVERWRITE=yes</span></li>
</ul>
<blockquote>
<p><span style="font-family: Arial;">This tells the installer that it is OK to write into  	an existing directory.  This should be set to "yes" especially in the  	case where a C/C++ installation will be written into the same major product  	tree as a Fortran installation from the same packaging cycle (e.g.  	l_cproc_p_11.1.038 and l_cprof_p_11.1.038).</span></p>
</blockquote>
<ul>
<li><span style="font-family: Arial;">CONTINUE_WITH_OPTIONAL_ERROR=yes</span></li>
</ul>
<blockquote>
<p><span style="font-family: Arial;">This tells the install program that if the optional,  	non-critical prerequisite checks should fail to detect a needed element, the  	installation should continue anyway.  Optional checks include operating  	system types and/or versions, presence of a compatible Java Run-time  	Environment (JRE), etc.  Note that non-optional (i.e. mandatory)  	prerequisite checks cannot be ignored by the silent install process.   	These include such things as required installed programs, commands needed by  	the installer and/or the product itself (e.g. grep, cut, etc. for the  	installer and g++ for the compilers).  MAKE SURE YOUR LINUX DISTRO HAS INSTALLED DEVELOPMENT ENVIRONMENT, including gcc, g++, binutils, etc.  Many Linux distributions come as 'desktop' images and may not have all the gcc toolchain needed for developing applications by default.  Use your package manager to find and download all needed gcc and g++ toolchains.  Also, it is required to keep gcc and g++ at the same version - do not update one and not the other.  Keep them at the same version.<br /></span></p>
</blockquote>
<ul>
<li><span style="font-family: Arial;">PSET_INSTALL_DIR=/opt/intel/Compiler/11.1/038</span></li>
</ul>
<blockquote>
<p><span style="font-family: Arial;">This is the install directory where product content  	will be placed.  Permissions for the parent directories and file  	systems of this directory need to be enabled so that the user running the  	silent install could create them, but the directory itself does not need to  	exist prior to the installation.</span></p>
</blockquote>
<ul>
<li><span style="font-family: Arial;">INSTALL_MODE=RPM</span></li>
</ul>
<blockquote>
<p><span style="font-family: Arial;">This directive tells the install program that the RPM  	method should be used to install the software.  <b>This will only work if  	the install user is "root" or has full root priveleges and your distribution support RPM for package management</b>.  In some cases,  	where the operating system of the target system does not support RPM or if  	the install program detects that the version of RPM supported by the  	operating system is flawed or otherwise incompatible with the install  	program, the installation will proceed but will switch to non-RPM mode  	automatically.  This is the case for certain legacy operating systems  	(e.g. SLES9) and for operating systems that provide an RPM utility, but do  	not use RPM to store or manage system-installed operating system  	infrastructure (e.g. Ubuntu, Debian).  <b>THUS, Ubuntu and Debian users set this to INSTALL_MODE=NONRPM.</b><br /></span></p>
<p><span style="font-family: Arial;">If the you do not want to use RPM, then this line  	should read "INSTALL_MODE=NONRPM".  In this case, the products will be  	installed to the same location, but instead of storing product information  	in the system's RPM database, the Intel product install information will be  	stored in a flat file called "intel_sdp_products.db", usually stored in  	/opt/intel (or in $HOME/intel for non-root users).</span></p>
</blockquote>
<ul>
<li><span style="font-family: Arial;">ACCEPT_EULA=accept</span></li>
</ul>
<blockquote>
<p><span style="font-family: Arial;">This tells the install program that the invoking user  	has agreed to the EULA, or end user license agreement.  If this is not  	present in the INI file, the installation will not complete. </span></p>
</blockquote>
<h3><span style="font-family: Arial;"></span></h3>
<h3><span style="font-family: Arial;"><b>Note that silent install using this format does not currently support pre-selection of individual components</b>.  In other words, if the desired installation is intended to include only some of the install components, but not all of them, the INI file here will not support this.  A custom INI created with the duplicate method will install all of the components available in a specific package.  If a custom install operation that only installs specific portions of the components is desired, it is suggested that the RPM install method be used for this.  (See <a href="#rpm">below</a>) </span></h3>
<br />
<h3><span style="font-family: Arial;">Silent Install Steps: "Copy and Repeat" Method of INI  Creation</span></h3>
<p><span style="font-family: Arial;">If you need to make the same sort of installation over  and over again, one way to get the INI file right the first time is to run the  installation program once interactively, using the options that meet the local needs,  and record these options into an INI file that can be used to replicate this  same install via silent install for future installations.</span></p>
<p><span style="font-family: Arial;">To do this, the user simply needs to add the "duplicate"  option to the script invocation, and run a normal install, as follows:</span></p>
<blockquote>
<p><b><span style="font-family: Courier;">prompt&gt; ./install.sh --duplicate /tmp/my_install.ini</span></b></p>
</blockquote>
<p><span style="font-family: Arial;">This "dash dash duplication" option will put the choices  made by you into the file specified on the command line.  You can modify this recorded INI file as appropriate, then use it to  perform additional or repeat installs.  The INI file created with this  method may include a line "CONTINUE_WITH_INSTALLDIR_OVERWRITE" without the   "=yes" on the end.  You will need to manually edit this INI file to  add an "=yes" or "=no" to the end of this line, or else remove the  CONTINUE_WITH_INSTALLDIR_OVERWRITE line altogether.  This limitation will  be addressed in a future release.</span></p>
<p><span style="font-family: Arial;">Note that silent install using this format does not  currently support pre-selection of individual components.  In other words,  if the desired installation is intended to include only some of the install  components, but not all of them, the INI file here will not support this.    A custom INI created with the duplicate method will install all of the  components available in a specific package.  If a custom install operation  that only installs specific portions of the components is desired, it is  suggested that the RPM install method be used for this.  (See <a href="#rpm">below</a>) </span></p>
<h2></h2>
<h2><span style="font-family: Arial;"><a name="rpm"></a>RPM Command Line Installations</span></h2>
<p><span style="font-family: Arial;">The files associated the Linux Compiler Professional  products are stored in "RPM" files.  RPMs (short for Red Hat Package  Manager).  They are  grouped according to certain file type guidelines.  Each major product  component will consist of one more or of these RPMs.  For non-RPM systems  and for users who choose to install the product without using the RPM database  of their target systems, an "underneath the hood" utility is embedded inside  the installation program tools to extract the contents of the RPM files.</span></p>
<h3><span style="font-family: Arial;">Changes for RPM in 11.1</span></h3>
<p><span style="font-family: Arial;">Starting with the 11.1  packages, the Linux  Compiler Professional packaging includes RPM files that also contain embedded  installation functionality.  This means that key install behaviors such as  environment script updating and symbolic link creation, which used to be only in  the install program itself, are now embedded in the RPM files.  As a  result, the experienced user can make use of the RPM files directly in order to  install and remove Linux Compiler Professional 11.1 products. </span></p>
<blockquote>
<div style="border-style: solid; border-width: 1px; padding-left: 4px; padding-right: 4px; padding-top: 1px; padding-bottom: 1px"><span style="font-family: Arial;"><b>Warning: </b>this is truly for the experienced,  		Linux system savvy user.  Most RPM command capabilities require  		root privileges.  Improper use of rpm commands can corrupt and  		destroy a working system.</span></div>
</blockquote>
<p><span style="font-family: Arial;">The changes done for the 11.1 Linux product are intended  to ease the job of deploying the Linux Compiler Professional solution sets in  enterprise deployments, including cluster environments.  <br /></span></p>
<h3><span style="font-family: Arial;">Product Layout for 11.1</span></h3>
<p><span style="font-family: Arial;">The format of the install packages themselves was changed  for 11.1.  Here is an example (for C++ package 11.1.038.</span></p>
<p><span style="font-family: Arial;">Top directory contents of l_cproc_p_11.1.038 package:</span></p>
<ul>
<li><span style="font-family: Arial;"><b>cd_eject.sh</b> - CD eject script used by  	install.sh</span></li>
<li><span style="font-family: Arial;"><b>install.sh</b> - install script</span></li>
<li><span style="font-family: Arial;"><b>license.txt </b>- end user license agreement</span></li>
<li><span style="font-family: Arial;"><b>pset</b> - installation and licensing content  	directory</span></li>
<li><span style="font-family: Arial;"><b>Release_NotesC.pdf</b> - product release notes</span></li>
<li><span style="font-family: Arial;"><b>rpm</b> - directory containing all product content  	in RPM file format, plus the EULA and LPGL license</span></li>
</ul>
<p><span style="font-family: Arial;">This is the RPM directory (l_cproc_p_11.1.038/rpm) layout for the 11.1 beta C/C++  product (IA-32 example):</span></p>
<ul>
<li><span style="font-family: Arial;"><b>clicense </b>- product EULA</span></li>
<li><span style="font-family: Arial;"><b>lgpltext</b> - LGPL Eula</span></li>
<li><span style="font-family: Arial;"><b>intel-cproc038-11.1-1.i486.rpm</b> -  	architecture-specific (IA-32) C/C++ compiler content</span></li>
<li><span style="font-family: Arial;"><b>intel-cprocsdk038-11.1-1.noarch.rpm</b> -  	architecture-neutral core C/C++ compiler content</span></li>
<li><span style="font-family: Arial;"><b>intel-cproidb038-11.1-1.i486.rpm </b>-  	architecture-specific (IA-32) debugger run-time files</span></li>
<li><span style="font-family: Arial;"><b>intel-cproidbsdk038-11.1-1.noarch.rpm</b> -  	architecture-neutral debugger content</span></li>
<li><span style="font-family: Arial;"><b>intel-cproipp038-11.1-1.noarch.rpm</b> -  	architecture-neutral IPP content</span></li>
<li><span style="font-family: Arial;"><b>intel-cproipplib038-11.1-1.i486.rpm</b> -  	architecture-specific (IA-32) IPP run-time libraries</span></li>
<li><span style="font-family: Arial;"><b>intel-cproipplibdev038-11.1-1.i486.rpm</b> -  	arch-specific (IA-32) IPP development libraries</span></li>
<li><span style="font-family: Arial;"><b>intel-cprolib038-11.1-1.i486.rpm</b> -  	architecture-specific (IA-32) C/C++ run-time libraries</span></li>
<li><span style="font-family: Arial;"><b>intel-cprolibdev038-11.1-1.i486.rpm</b> -  	architecture-specific (IA-32) C/C++ devel libraries</span></li>
<li><span style="font-family: Arial;"><b>intel-cpromkl038-11.1-1.noarch.rpm</b> -  	architecture-neutral MKL content</span></li>
<li><span style="font-family: Arial;"><b>intel-cpromklib038-11.1-1.i486.rpm</b> -  	architecture-specific (IA-32) run-time libraries</span></li>
<li><span style="font-family: Arial;"><b>intel-cpromklibdev038-11.1-1.i486.rpm</b> -  	architecture-specific (IA-32) devel libraries</span></li>
<li><span style="font-family: Arial;"><b>intel-cprotbblib038-11.1-1.noarch.rpm</b> -  	architecture-neutral TBB run-time libraries</span></li>
<li><span style="font-family: Arial;"><b>intel-cprotbblibdev038-11.1-1.noarch.rpm</b> -  	archtecture-neutral TBB devel libraries and content </span>
<p><span style="font-family: Arial;">(Note: TBB is special case "one RPM fits all"  	packaging)</span></p>
</li>
</ul>
<p><span style="font-family: Arial;">This is the RPM directory layout for the 11.1 beta Fortran  product (IA-32 example):</span></p>
<ul>
<li><span style="font-family: Arial;"><b>flicense</b> - product EULA</span></li>
<li><span style="font-family: Arial;"><b>intel-cprof038-11.1-1.i486.rpm </b>-  	architecture-specific (IA-32) Fortran compiler content</span></li>
<li><span style="font-family: Arial;"><b>intel-cproflib038-11.1-1.i486.rpm</b> -  	architecture-specific (IA-32) Fortran run-time libraries</span></li>
<li><span style="font-family: Arial;"><b>intel-cprofsdk038-11.1-1.noarch.rpm</b> -  	architecture-neutral Fortran compiler content</span></li>
<li><span style="font-family: Arial;"><b>intel-cproidb038-11.1-1.i486.rpm</b> -  	architecture-specific (IA-32) debugger content</span></li>
<li><span style="font-family: Arial;"><b>intel-cproidbsdk038-11.1-1.noarch.rpm </b>-  	architecture-neutral debugger content</span></li>
<li><span style="font-family: Arial;"><b>intel-cprolib038-11.1-1.i486.rpm</b> -  	architecture-specific (IA-32) C/C++ run-time library content<br /> (required for Fortran - same as the file included in the above C/C++  	package)</span></li>
<li><span style="font-family: Arial;"><b>intel-cprolibdev038-11.1-1.i486.rpm</b> -  	architecture-specific (IA-32) C/C++ devel library content<br /> (required for Fortran - same as the file included in the above C/C++  	package)</span></li>
<li><span style="font-family: Arial;"><b>intel-cpromkl038-11.1-1.noarch.rpm</b> -  	architecture-neutral MKL content</span></li>
<li><span style="font-family: Arial;"><b>intel-cpromklib038-11.1-1.i486.rpm </b>-  	architecture-specific (IA-32) MKL run-time libraries</span></li>
<li><span style="font-family: Arial;"><b>intel-cpromklibdev038-11.1-1.i486.rpm</b> -  	architecture-specific (IA-32) MKL devel libraries</span></li>
</ul>
<h3><span style="font-family: Arial;">Installing Compilers With the RPM Command Line</span></h3>
<p><span style="font-family: Arial;">To install an 11.1 Linux Compiler Professional solution  set via RPM command line, you should first ensure that a working license  file or other licensing method (such as floating or network-served licenses) is  already in place.  There is no license checking performed during RPM  installation.  However, if you install without a license file you will get an 'cannot check out license' error when you try to use the compiler.<br /></span></p>
<p><span style="font-family: Arial;">You are assumed to have complied with the End User  License Agreement if you are performing an RPM command line installation.   The EULA is present in the parent installation tarball, and again duplicated  inside the 'rpm' directory.  Please read this license agreement.  It is assumed you agree to this license agreement if you proceed with an rpm installation.<br /></span></p>
<p><span style="font-family: Arial;">Once a license file or license method is in place, the  user can install the products directly with these simple steps:</span></p>
<ul>
<li><span style="font-family: Arial;">Login as root or 'su' to root</span></li>
<li><span style="font-family: Arial;">'cd' to the package/rpm directory ( e.g. /tmp/l_cproc_p_11.1.038/rpm  	)</span></li>
<li><span style="font-family: Arial;">Run the install command</span></li>
</ul>
<blockquote>
<p><b><span style="font-family: Courier;">prompt&gt; rpm -i *.rpm</span></b></p>
</blockquote>
<p><span style="font-family: Arial;">This completes without error in most cases.  If some  system-level prerequisites, for required system libraries for example, are not  met by the target operating system, a dependency warning may be returned by the  rpm install.  There are no embedded detailed dependency checks inside the  RPM install capabilities for required commands such as g++ or for optional  requirements such as a valid supported operating system or supported JRE.   The embedded requirements are kept simple to ease installation for the general  case, with two primary exceptions.  The first is requirement for a /usr/lib/libstdc++.so.5  to exist on the target system, and must match in 64bit or 32bit (there will be 2 copies of this library, one 64bit and one 32bit in 2 separate /lib paths, if you wish to be able to compile in 64bits and 32bits).  If libstdc++.so.5 is not available for your distribution but libstdc++.so.6 is, make libstdc++.so.5 a symbolic link to the .6 version.  <br /></span></p>
<p><span style="font-family: Arial;">The second requirement is that the target operating  system have at least the 3.0 version of "lsb" component installed.   Availability of this LSB component will, in the vast majority of cases, also  ensure that other necessary system level libraries are available.  See  <a href="#lsb">LSB Support</a> below for more information on getting the 'lsb'  capability onto a target system.</span></p>
<p><span style="font-family: Arial;">If you believe that you have effectively  installed the correct requirements on the target system and the dependency  failures still persist, there is a fallback option, the "--nodeps" (<i>dash dash  nodeps</i>) rpm switch.  Invoking 'rpm -i' with the --nodeps option will  allow the rpm installation to succeed in most cases. </span></p>
<blockquote>
<p><b><span style="font-family: Courier;">prompt&gt; rpm -i --nodeps *.rpm</span></b></p>
</blockquote>
<p><span style="font-family: Arial;">Again, this will get you past the perceived  dependency issues, which may be unique to a particular distribution of Linux and  not really a problem for the resulting installation.  But there is no  assurance of complete success other than testing the resulting installation.</span></p>
<h3><span style="font-family: Arial;">Other Special RPM Install Cases</span></h3>
<p><span style="font-family: Arial;">If you are installing RPMs using the rpm command line,  but using a multi-architecture package (such as the "combo" IA-32 / Intel64  package or a DVD package), you may want to install all of the RPMs that match  their specific target machine's architecture.  Or, if you are installing  onto an Intel64 system and want to include both the IA-32 and Intel64  components, you may want both of these included.  Here are some example  rpm command line invocations:</span></p>
<blockquote>
<p><b><span style="font-family: Courier;">prompt&gt; rpm -i *.noarch.rpm *.i486.rpm</span></b></p>
<p><span style="font-family: Arial;">(installs all components needed for operation of IA-32  	products)</span></p>
<p><b><span style="font-family: Courier;">prompt&gt; rpm -i *.noarch.rpm *.i486.rpm  	*.x86_64.rpm</span></b></p>
<p><span style="font-family: Arial;">(installs all components needed for operation of IA-32  	and Intel64 products)</span></p>
<p><b><span style="font-family: Courier;">prompt&gt; rpm -i *.noarch.rpm *.ia64.rpm </span> </b></p>
<p><span style="font-family: Arial;">(installs all components needed for operation of IA-64  	products)</span></p>
</blockquote>
<p><span style="font-family: Arial;">Certain Linux distributions do not like the idea of two  RPM files having the same base name.  For example, the rpm versions of  certain distros might complain that there is more than one instance of   intel-cproc023-11.1-1 on the command line when installing both the IA-32 and  Intel64 RPMs onto the same machine.  For these distros, use the "--allmatches"  ( <i>dash dash allmatches </i>) command line switch:</span></p>
<blockquote>
<p><b><span style="font-family: Courier;">prompt&gt; rpm -i --allmatches *.noarch.rpm  	*.i486.rpm *.x86_64.rpm</span></b></p>
</blockquote>
<p><span style="font-family: Arial;">Optionally, you may need to use the --force ( dash  dash force ) switch in some cases.</span></p>
<h3><span style="font-family: Arial;">Customizing the RPM Command Line</span></h3>
<p><span style="font-family: Arial;">The rpm command has a long list of available options,  including hooks to install from FTP and HTTP RPM repositories, features to  examine contents of installed RPM-based programs and uninstalled RPM package  files, etc.  Most of these are beyond the scope of this document.  See  the <a href="#links">Links</a> section for references to external documentation  on RPM.  Here are a couple of additional RPM switches, however, which may  be routinely useful.</span></p>
<blockquote>
<p><b><span style="font-family: Courier;">prompt&gt; rpm -i --prefix /opt/intel/Compiler/11.1/035TEST  	*.rpm</span></b></p>
<p><span style="font-family: Arial;">( tells rpm to use /opt/intel/Compiler/11.1/023TEST as  	the target install directory)</span></p>
<p><b><span style="font-family: Courier;">prompt&gt; rpm -i --replacefiles *.rpm</span></b></p>
<p><span style="font-family: Arial;">( tells rpm to replace any existing files on the  	system using the new RPM files)</span></p>
<p><b><span style="font-family: Courier;">prompt&gt; rpm -i --replacepkgs *.rpm</span></b></p>
<p><span style="font-family: Arial;">( tells rpm to replace any existing package on the  	system using the new RPM files, even if they are already installed ... this  	may be useful in test applications where newer versions of a package with  	the same name are being tested )</span></p>
</blockquote>
<h3><span style="font-family: Arial;">Uninstallation Using RPM</span></h3>
<p><span style="font-family: Arial;">Since the installation of Linux Compiler Professional 11.1  packages includes in its deliver all of the uninstall scripts, the easiest way  to perform a product uninstall is to simply run the uninstall script that is  created by the install process.  If you have a need to automate rpm-based  uninstalls, however, a couple of "tricks" can be employed to make this simpler.    These should be used with caution, as with any system command performed from a  privileged account.</span></p>
<p><span style="font-family: Arial;">Here is an example command line that will remove all RPM  packages from a Linux Compiler Professional 11.1 package number "038":</span></p>
<blockquote>
<p><b><span style="font-family: Courier;">prompt&gt; rpm -e --allmatches `rpm -qa | grep intel-cpro | grep  	038 | grep 11-1`</span></b></p>
<p><span style="font-family: Arial;">Note use of back-quotes.</span></p>
</blockquote>
<p><span style="font-family: Arial;">Some Linux distributions will also complain about   "multiple matches" during the uninstall process.  In this case, the "--allmatches"  switch mentioned above can also be employed here.</span></p>
<h3><span style="font-family: Arial;">A Short Word on Updates</span></h3>
<p><span style="font-family: Arial;">The rpm structure and command set support the application  of updates or "patches" to existing installations.  For example a <i><b> util-1.1-2.rpm</b></i> package may be issued that adds fixed content to some  pre-existing <i><b>util-1.1-1.rpm</b></i>.   The existing release  process for Linux Compiler Professional includes support for "version  co-existence" or multiple installs of separate product versions.  So each  new iteration of the product is unique from the previous version.  This  means that Compiler Professional 11.1 packages are not available in "patch"  form.  All product releases are stand-alone versions.  So use of the  'rpm -U' upgrade capability is not supported by our product delivery model at  this time.  <br /></span></p>
<h2></h2>
<h2><span style="font-family: Arial;"><a name="lsb"></a>LSB Support</span></h2>
<p><span style="font-family: Arial;">LSB, or Linux Standard Base, is an effort sponsored by the  Linux Foundation (<a href="http://www.linuxfoundation.org">http://www.linuxfoundation.org</a>)  to improve the interoperability of Linux operating systems and application  software.  Intel is a major participant in Linux Foundation activities and  has embraced LSB as a viable means of improving our products and our customers'  use of those products.  To that end, we have included establishing LSB  compliance as a part of our goals for our products and software packages in the  future.</span></p>
<p><span style="font-family: Arial;">For the purposes of the Linux Compiler Professional 11.1  release, our primary objective is to product packages that adhere to LSB  packaging requirements.  Most of the RPM changes mentioned above were done  for this purpose.  To be specific, however, we should draw a distinction  between product compliance and package compliance.  Because our compiler  products must support a vast array of legacy constructs, the applications  themselves may or may not be "certifiable" within the LSB guidelines, but our  <b>packages, i.e. our RPMs</b> and install programs should be.  This is the  primary reason for inclusion of the "lsb &gt;= 3.0" embedded requirements being  added to our RPMs. </span></p>
<span style="font-family: Arial;"></span>
<p><span style="font-family: Arial;">Some of these Linux distributions come with LSB support  already included in the operating system by default (e.g. SLES11).  For  others, an external or optional package must be installed.  If supporting  an environment that is using RPM command line installation and want to enable  that site / system / systems to be able to install without using the dreaded "--nodeps"   option, the best best is to acquire and install the companion LSB solution for  that operating system.</span></p>
<p><span style="font-family: Arial;">The Linux Foundation website contains links to download  resources for LSB, as to many of the vendor-specific support sites.  Check  out these sites for information on adding LSB support to an existing operating  system.</span></p>
<p><span style="font-family: Arial;">For RPM-based systems, a user can check on the status of  LSB for their system, using a command like this:</span></p>
<blockquote>
<p><b><span style="font-family: Courier;">prompt&gt; rpm -q --provides lsb</span></b></p>
</blockquote>
<p><span style="font-family: Arial;">This will tell if an 'lsb' RPM package is already  installed and, if so, what version.</span></p>
<p><span style="font-family: Arial;">For our non-RPM supported operating systems, Ubuntu and  Debian, the privileged user can use the Debian 'apt-get' facility to easily  install the latest version of LSB supported by the specific distribution:</span></p>
<blockquote>
<p><b><span style="font-family: Courier;">prompt&gt; apt-get install lsb</span></b></p>
</blockquote>
<h2></h2>
<h2><span style="font-family: Arial;"><a name="redist"></a>Redistribution Package Installations</span></h2>
<p><span style="font-family: Arial;">Redistribution packages allow applicaitons built with the Intel compilers to be run on client systems that do not have the Intel compilers installed (i.e. end-user systems).  <b>These are ONLY needed on systems without the Intel compilers installed.</b> A redistribution package has all the Intel dynamic libraries possibly needed for a dynamically linked application.  Alternatively, you can explore to -static-intel compiler switch to statically link all required Intel libraries into an application.  Redistribution packages were officially supported with the  11.0 release.  These will again be supported for the 11.1 release.</span></p>
<p><span style="font-family: Arial;">Installation is simple.  Once you extract the  contents of the downloaded tarball (or accessing the redist contents of a  DVD/image directory or media), you should simply invoke the "install.sh" script  provided.  The user is instructed to accept a EULA, but there is no  run-time license enforcement or any other software licensing included in the  redist packages.  An uninstall script is produced during the redist install  process, which provided for removal of the contents.</span></p>
<p><span style="font-family: Arial;">A note of caution: if the redist packages are installed on  top of an existing Compiler Professional 11.1 package of the same "iteration"  (e.g. 11.1.038), it will land on and replace existing files in that compiler  installation by default.  Similarly, if the redist uninstall operation is  run and the redist and compiler packages are sharing the same directory space,  removing the redist package will break the compiler installation.  Since  the redist packages are not intended for use by compiler users on their  development machines, this should not be an issue in most environments.    But it is mentioned here in case situations come up where this might explain  problems that have occurred.</span></p>
<p> </p>
<h2><span style="font-family: Arial;"><a name="uninstall"></a>Uninstall Instructions</span></h2>
<p><span style="font-family: Arial;">As mentioned above, a standard uninstall script is  included with each product installation, regardless of whether the install was  performed using menu installs, RPM command line installs, or "silent" installs.   In all cases, using the provided uninstall script should work and is the usual  preferred method of removing installed product..  There is one uninstall  feature, however, that is undocumented and can be used to make life a little  easier.  Here's an example invocation of that feature:</span></p>
<blockquote>
<p><b><span style="font-family: Courier;">prompt&gt; /opt/intel/Compiler/11.1/038/bin/ia32/uninstall_cproc.sh  	--default</span></b></p>
</blockquote>
<p><span style="font-family: Arial;">This "--default" ( dash dash default ) option tells the  uninstall script to use the "remove all" option and remove any Compiler  Professional components associated with the specific package (in this case all  11.1.023 components, including C/C++, Fortran, IDB, MKL, TBB, and IPP, if  installed).  There is no uninstall program interaction when this switch is  used.</span></p>
<p> </p>
<p> </p>
<h2><span style="font-family: Arial;"><a name="links"></a>Links of Interest</span></h2>
<p><span style="font-family: Arial;">The following links are provided for reference  information. <br /></span></p>
<ul>
<li><span style="font-family: Arial;"><b>Maximum RPM</b> - 	<a href="http://www.rpm.org/max-rpm/">http://www.rpm.org/max-rpm/</a></span></li>
</ul>
<blockquote>
<p><span style="font-family: Arial;">Excellent on-line resource for understanding RPMs and  	their usage.</span></p>
</blockquote>
<ul>
<li><span style="font-family: Arial;"><b>Linux Foundation </b>- 	<a href="http://www.linuxfoundation.org">http://www.linuxfoundation.org</a></span></li>
</ul>
<blockquote>
<p><span style="font-family: Arial;">Industry organization supporting standardization of  	Linux operating systems and applications.</span></p>
</blockquote>
<ul>
<li><span style="font-family: Arial;"><b>Linux LSB for Fedora</b> - 	<a href="https://admin.fedoraproject.org/pkgdb/packages/name/redhat-lsb"> https://admin.fedoraproject.org/pkgdb/packages/name/redhat-lsb</a></span> </li>
<li><span style="font-family: Arial;"><b>Linux LSB for RHEL5 (update notice) </b>- 	<a href="https://rhn.redhat.com/errata/RHBA-2007-0590.html"> https://rhn.redhat.com/errata/RHBA-2007-0590.html</a></span> </li>
<li><span style="font-family: Arial;"><b>Linux LSB Info for Ubuntu</b> - 	<a href="http://packages.ubuntu.com/search?keywords=lsb"> http://packages.ubuntu.com/search?keywords=lsb</a></span></li>
</ul> ]]></description>
      <link>http://software.intel.com/en-us/articles/intel-compilers-for-linux-version-111-silent-installation-guide</link>
      <pubDate>Mon, 29 Jun 2009 13:03:02 -0700</pubDate>
      <comments>http://software.intel.com/en-us/articles/intel-compilers-for-linux-version-111-silent-installation-guide#comments</comments>
      <guid isPermaLink="true">http://software.intel.com/en-us/articles/intel-compilers-for-linux-version-111-silent-installation-guide</guid>
      <category>Intel® Compilers</category>
      <category>Intel® C++ Compiler for Linux* Knowledge Base</category>
      <category>Intel® Fortran Compiler for Linux* Knowledge Base</category>
    </item>
  </channel></rss>