Intel® C++ Compiler
Community support and assistance for creating C++ code that runs on platforms based on Intel® processors.

Problem integrating with Eclipse CDT 8.0 on Debian 8 Testing

rwfirstpr_com_au
Beginner
428 Views

I have downloaded and installed the one month trial version of the Intel C++ compiler for Linux (l_ccompxe_2013_sp1.3.174).  I haven't used it, but as far as I know, I have installed it correctly (just Intel(R) C++ Compiler XE 14.0 Update 3; Intel(R) Debugger 13.0; 7. GNU* GDB 7.5), including by running the script whose symlink is /opt/intel/bin/compilervars.sh.  The actual script location and the parameter I gave it was:

/opt/intel/composer_xe_2013_sp1.3.174/bin/compilervars.sh intel64

(The .csh version produced an error "line 39: syntax error: unexpected end of file", which is probably nothing to worry about and to get the above script to work, I followed the advice on various forums to change its shebang to "#!/bin/bash".)

The official documentation for how to integrate the compiler, its doco and the Intel debugger into Eclipse is in the installed Intel main User and Reference Guide, in "Using Eclipse (Linux OS)", specifically the page "Adding the Compiler and Debugger to Eclipse".  After guiding the program to look in "ile:/opt/intel/composer_xe_2013_sp1.3.174/eclipse_support/cdt8.0/eclipse/" with "Group items by category" disabled, I selected the four options:

Intel(R) C++ Compiler XE 14.0 for Linux* OS  8.1.0
Intel(R) C++ Composer XE 2013 SP1 Documentation for Linux* OS 8.2.0
Intel(R) Debugger for applications 13.0 8.0.4
Intel(R) Debugger for applications that run on Intel(R) 64 and Intel(R) MIC Architecture 13.0 1.0.4

When I click Next, there are some transient error messages (Cannot complete operation. Computing alternate solutions, may take a while . . .) and a final display of the first two not being able to be installed and the last two being ready to install.  I was able to click the top item and find an error message:

Cannot complete the install because one or more required items could not be found.
  Software being installed: Intel(R) C++ Compiler XE 14.0 for Linux* OS 8.1.0 (com.intel.compiler.cdt.feature.group 8.1.0)
  Missing requirement: Intel(R) C++ Compiler XE 14.0 for Linux* OS 8.1.0 (com.intel.compiler.cdt.feature.group 8.1.0) requires 'com.intel.compiler.cdt [8.1.0]' but it could not be found

Googling the error message lead to a single forum discussion: http://stackoverflow.com/questions/19710984/eclipse-with-intel-c-compiler-icc in which the solution apparently involved following some similar, more detailed, but now out of date instructions at:https://software.intel.com/en-us/articles/intel-c-compiler-for-linux-using-intel-compilers-with-the-eclipse-ide-pdf and the original poster realizing that they were running Eclipse on an open-source JVM (Iced Tea), which I recall leads to all sorts of subtle trouble.  He switched to the Oracle JRE and was able to complete the integration.

I am running Eclipse on the latest (2014-06-29) Oracle JRE for 64 bit Linux:

java -version
java version "1.8.0_05"
Java(TM) SE Runtime Environment (build 1.8.0_05-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.5-b02, mixed mode)

I tried running Eclipse as the mortal user with which I installed it and as root.  Still the same trouble occurs.  When running Eclipse as root, I proceeded to install the bottom two items, restarted Eclipse and tried again to install the top two. The same trouble occurs.

The Eclipse and CDT versions are:

Version: Luna Release (4.4.0) Build id: 20140612-0600
Eclipse C/C++ Development Tools 8.4.0.20106

I installed this from eclipse-cpp-luna-R-linux-gtk-x86_64.tar.gz .  It works fine with G++ 4.8.2, at least for a simple program: compiles and enables me to step through the program line-by-line.  The Debian 8 testing system was installed earlier this year under Virtual Box and my attempts to update it recently via Synaptic have not been successful.  Maybe I should try a fresh installation of Debian 8.  I want to use this rather than Debian 7 so I can use a later version of GCC.  I have been lead to believe that it is a bad idea to install a later version of GCC on a Debian system since it might upset other programs which rely on it.

I want to use the Intel C++ compiler with an IDE and am following the recommended steps.  If I can't get it going, I will try to use it under Codelite, though I haven't found an account of anyone doing this.

 

 

 

0 Kudos
1 Reply
rwfirstpr_com_au
Beginner
428 Views

Further details . . . . . .

I updated the Debian 8 Testing system and it made no difference.  I found what is presumably the most up-to-date documentation of how to integrate the Intel C++ compiler with Eclipse, in /opt/intel/composer_xe_2013_sp1.3.174/Documentation/en_US/Release_Notes_C_2013SP1_L_EN.pdf 17 April 2014.  On page 44 this states that the integration supports Eclipse 4.2, 3.8 and 3.7 with CDT 8.0 or later.  I had been trying with Eclipse 4.4 (luna) and CDT 8.0.

4.2 is two years old.  I installed the 4.2 version with CDT (eclipse-cpp-juno-SR2-linux-gtk-x86_64.tar.gz) and was able to integrate the Intel compiler and its documentation and compile a Hello World program, roughly as described below.   I was also able to do so with the one year old 4.3 CDT bundle (eclipse-cpp-kepler-SR1-linux-gtk-x86_64.tar.gz).

I ran Eclipse as a mortal user and before doing so, set the Intel environment variables (page 45 explicitly states that this should be done before running Eclipse):

/opt/intel/composer_xe_2013_sp1.3.174/bin/compilervars.sh intel64
 . . . /eclipse-4.3-kepler/eclipse

I had previously shown that I could compile and step through a Hello World C++ program with g++ and GDB.  I chose the toolchain "Linux GCC" over the only other alternative "Cross GCC".  

After I installed the Intel compiler and its documentation, I made a new Hello World C++ Project and in addition to the previous toolchain options I found six entries for "Intel Toolchain for Executable on Intel (R) 64, with the following version numbers: 11.1.0, 12.0.0, 12.1.0, 13.0.0, 13.1.0 and 14.0.0.  I chose v14.0.0.  I was able to compile this simple example.   

At one point when I had installed the Intel debugger, I tried using it without success.  I later read  (page 35 of the Release Notes) that it is depreciated and that new users should use GDB.

After considerable rtfm I concluded that Intel provides:

1 - Command-line Intel-extended version of GDB for 32 and 64 bit conventional architecture (not the MIC architecture = Intel Phi).  There is no Eclipse integration for this.  (Release Notes page 30, 5.3.1.)

2 - Eclipse-integrated special version of GDB for the MIC architecture only.  (Page 30 5.3.2.)

3 - GUI Intel Debugger for 32 bit and 64 bit conventional architectures. (Page 35, 6.2.1.)

4 - Command Line Intel Debugger for 32 bit and 64 bit conventional architectures. (Page 35, 6.2.1.)

5 - Eclipse-integrated Intel Debugger for 32 bit and 64 bit conventional architectures.

6 - Command Line Intel Debugger for MIC architecture. (Page 37, 6.2.2.)

7 - Eclipse-integrated Intel Debugger for MIC architecture. (Page 38, 6.2.2.)

As far as I can tell Intel does not supply an Eclipse-integrated GDB for 32 or 64 bit architectures, since Eclipse CDT for Linux already has one.  Nor is there any such debugger with Intel extensions.

My next step is to use Eclipse 4.3 with the Intel compiler only, with the GDB debugger, and hopefully find a way to make the debugger display the contents of Vectors and other sequence container class objects, recursively, as I understand happens out of the box with the Intel compiler integration with Microsoft's Visual Studio.  I found this business of pretty printing container class contents difficult to understand in the past and I have not yet achieved it, but that is another discussion.

- Robin

0 Kudos
Reply