Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

Difference between revisions of "Parallel Tools Platform FAQ"

(Q: Where does the PTP Parallel Debugger work?)
(91 intermediate revisions by 9 users not shown)
Line 1: Line 1:
 
== Q: How do I download PTP? ==
 
== Q: How do I download PTP? ==
  
PTP can now (as of 5.0, June 2011) be installed in two ways:
+
PTP can now (as of 7.0, June 2013) be installed in two ways:
* from the all-in-one package "Eclipse IDE for Parallel Application Developers" on the [http://eclipse.org/downloads Eclipse downloads page]
+
* from the all-in-one package "Eclipse for Parallel Application Developers" on the [http://eclipse.org/downloads Eclipse downloads page]
 
* or installed into an existing eclipse via the Eclipse Installation Manager (Help > Install new software...).
 
* or installed into an existing eclipse via the Eclipse Installation Manager (Help > Install new software...).
 
See  the [http://eclipse.org/ptp/downloads.php PTP download page]; check regularly there for new releases, too.
 
See  the [http://eclipse.org/ptp/downloads.php PTP download page]; check regularly there for new releases, too.
The current released version of PTP is 5.0.x.
 
  
See the [[PTP/release_notes/5.0|PTP 5.0 release notes]] for detailed instructions on how to install PTP.
+
The current released version of PTP is shown on the Eclipse PTP web page at http://eclipse.org/ptp
 +
 
 +
See the [[PTP/release_notes/7.0|PTP 7.0 release notes]] for detailed instructions on how to install PTP.
 +
 
 +
==Q: How do  find out more about Synchronized Projects and System Monitoring? ==
 +
 
 +
There are other FAQ pages with Frequently asked questions about 
 +
* [[PTP/sync-projects#FAQ| PTP Synchronized Projects]] and 
 +
* [[PTP/System_Monitoring_FAQ|PTP System Monitoring]]
  
 
== Q: What version of Eclipse and CDT do I need? ==
 
== Q: What version of Eclipse and CDT do I need? ==
 +
 +
PTP 6.0 is designed to work with Eclipse 4.2 (Juno) and CDT 8.1.x. (The all-in-package referenced above now takes care of this for you.)
 +
 
PTP 5.0 is designed to work with Eclipse 3.7.x (Indigo) and CDT 8.0.x. (The all-in-package referenced above now takes care of this for you.)
 
PTP 5.0 is designed to work with Eclipse 3.7.x (Indigo) and CDT 8.0.x. (The all-in-package referenced above now takes care of this for you.)
  
Line 20: Line 30:
 
PTP supports the following MPI runtimes:
 
PTP supports the following MPI runtimes:
  
* Open MPI 1.2.x, 1.3.x, or 1.4.x
+
* Open MPI 1.2.x, 1.3.x, or 1.4.x ... and higher.
 
* MPICH2 1.0.6p1
 
* MPICH2 1.0.6p1
 
* IBM's Parallel Environment (PE)
 
* IBM's Parallel Environment (PE)
  
The most recent OpenMPI (1.4.x) is recommended for PTP 4.0.x and 5.0.x, although it may work with older releases.
+
The most recent OpenMPI (generally) is recommended for the most recent release of PTP, although it may work with older releases.
  
For the Parallel Language Development Tools only, there should be no difference between the different versions of MPI, such as OpenMPI and LamMPI. You just need to configure your project to be built using mpicc rather than gcc (for MPI releases that require that; most do), and to specify the include path to the MPI header files. This should be described in the [http://help.eclipse.org/indigo/index.jsp?topic=%2Forg.eclipse.ptp.pldt.doc.user%2Fhtml%2Ftoc.html PLDT help].
+
For the Parallel Language Development Tools only, there should be no difference between the different versions of MPI, such as OpenMPI and LamMPI. You just need to configure your project to be built using mpicc rather than gcc (for MPI releases that require that; most do), and to (optionally) specify the include path to the MPI header files. This should be described in the [http://help.eclipse.org/juno/index.jsp?topic=%2Forg.eclipse.ptp.pldt.doc.user%2Fhtml%2Ftoc.html PLDT help].
  
 
== Q: What platforms and runtimes are supported by PTP now? ==
 
== Q: What platforms and runtimes are supported by PTP now? ==
Line 52: Line 62:
 
At this point it's a good idea to run a small mpi program to test you have installed Open MPI correctly.
 
At this point it's a good idea to run a small mpi program to test you have installed Open MPI correctly.
  
mpicc -o testMPI testMPI.c  
+
mpicc -o testMPI testMPI.c  
mpirun -np 2 testMPI
+
mpirun -np 2 testMPI
  
 
== Q: How do I build PTP myself? ==
 
== Q: How do I build PTP myself? ==
Line 75: Line 85:
 
== Q: What's the most recent version of PTP?  ==
 
== Q: What's the most recent version of PTP?  ==
  
The current released version is 5.0.x.  
+
The current released version is 6.0.x. (Fall 2012 )
  
See the announcements on http://eclipse.org/ptp which should indicate the latest release number.  As of October 18, 2011 this is 5.0.3.
+
See the announcements on http://eclipse.org/ptp which should indicate the latest release number.  As of December 2012 this is 6.0.4.
  
The most accurate latest release number is whatever is found on the update site at http://download.eclipse.org/tools/ptp/updates/indigo.
+
The most accurate latest release number is whatever is found on the update site at http://download.eclipse.org/tools/ptp/updates/juno
  
 
<span id="update_ptp_specific"></span>
 
<span id="update_ptp_specific"></span>
Line 87: Line 97:
  
 
The all-in-one installation is the easiest way to install PTP and it can be installed
 
The all-in-one installation is the easiest way to install PTP and it can be installed
* from the all-in-one package "Eclipse IDE for Parallel Application Developers" on the [http://eclipse.org/downloads Eclipse downloads page]
+
* from the all-in-one package "Eclipse for Parallel Application Developers" on the [http://eclipse.org/downloads Eclipse downloads page]
  
 
There are two update sites:  
 
There are two update sites:  
*The Indigo update site http://download.eclipse.org/releases/indigo contains all the Eclipse projects (as of Sept 23, 2011 it contains PTP 5.0.2)
+
*The Eclipse Juno update site http://download.eclipse.org/releases/juno contains all the Eclipse projects (as of March 1, 2013 it contains PTP 6.0.4)
*The PTP-specific update site http://download.eclipse.org/tools/ptp/updates/indigo may have a more recent release (As of October 18, 2011 it contains PTP 5.0.3)
+
*The PTP-specific update site http://download.eclipse.org/tools/ptp/updates/juno may have a more recent release (As of March 15, 2013 it contains PTP 6.0.5)
  
 
: <b>Update Sites</b>
 
: <b>Update Sites</b>
  
#The Indigo update site (http://download.eclipse.org/releases/indigo) contains the last release of PTP that was built into the Eclipse general update site. Eclipse Indigo updates are released only in September and February. This update site (a.k.a. software repository) is enabled by default when you install Eclipse Indigo (a.k.a. 3.7).   
+
#The Juno update site (http://download.eclipse.org/releases/juno) contains the last release of PTP that was built into the Eclipse general update site. Eclipse Juno updates are released only in September and February. This update site (a.k.a. software repository) is enabled by default when you install Eclipse Juno (a.k.a. 4.2).   
 
#*Help &gt; Install New Software.... and install PTP from there  
 
#*Help &gt; Install New Software.... and install PTP from there  
 
#*Help &gt; Check for Updates will find the updates for all your installed features that are found there.  
 
#*Help &gt; Check for Updates will find the updates for all your installed features that are found there.  
Line 103: Line 113:
 
##*Click '''Available Software Sites''' link  
 
##*Click '''Available Software Sites''' link  
 
##*Enable/check the PTP site:  
 
##*Enable/check the PTP site:  
##**http://download.eclipse.org/tools/ptp/updates/indigo
+
##**http://download.eclipse.org/tools/ptp/updates/juno
 
##**If you had this checked before, and a release happened recently, hit the 'Reload' button while this site is selected.  Or if things just don't seem to be refreshing correctly: It can't hurt!
 
##**If you had this checked before, and a release happened recently, hit the 'Reload' button while this site is selected.  Or if things just don't seem to be refreshing correctly: It can't hurt!
 
##*Choose '''OK''' and then '''Cancel''' to return to the Eclipse workbench, and ...  
 
##*Choose '''OK''' and then '''Cancel''' to return to the Eclipse workbench, and ...  
Line 112: Line 122:
 
== Q: How do I update my PTP within the package "Eclipse IDE for Parallel Application Developers" ?  ==
 
== Q: How do I update my PTP within the package "Eclipse IDE for Parallel Application Developers" ?  ==
  
See [[PTP/release_notes/5.0#Updating_from_5.0_to_5.0.1 | Updating from PTP 5.0 to 5.0.1]]
+
See [[PTP/release_notes/6.0#Updating_from_the_Parallel_Package_to_a_more_recent_release]]
  
 
== Q: I want to live a bit on the bleeding edge. How do I install a more recent PTP build, e.g. to get a bug fix ?  ==
 
== Q: I want to live a bit on the bleeding edge. How do I install a more recent PTP build, e.g. to get a bug fix ?  ==
  
Go to the  [[PTP/builds|PTP builds page]] and find the page for your release (e.g. if you have 4.0.x, find the page with the largest value of x) and download the archive
+
Go to the  [[PTP/builds|PTP builds page]] and find the page for your release (e.g. if you have 6.0.x, find the page with the largest value of x) and download the archive
 
file (ptp-master-xxx) then use that in the Help > Install New Software... dialog.
 
file (ptp-master-xxx) then use that in the Help > Install New Software... dialog.
  
Line 122: Line 132:
  
 
Open Preferences (Window > Preferences or on a Mac, Eclipse > Preferences), Open Run/Debug / Launching  
 
Open Preferences (Window > Preferences or on a Mac, Eclipse > Preferences), Open Run/Debug / Launching  
Under "General Options" on that page, Uncheck "Build (if required) before launching"
 
  
== Q: How do I customize the new (JAXB) Configurable Resource Manager? ==
+
Under "Run/Debug", select "Launching" and  Uncheck "Build (if required) before launching"
  
A detailed guide to the XML Schema for the new Configurable Resource Manager, along with an introductory tutorial slide-set demonstrating some simple modifications to an existing XML definition, are now available at [[PTP/resource-managers]].
+
== Q: How do I create my own Target System Configuration for the scheduler on my remote system ?  ==
  
To take an existing JAXB-based resource manager and be able to tweak it, you can import it and change the xml data yourself. To do this:
+
See the next question.
* Go to Import..., then open Resource Managers>Resource Manager Definition From Plug-in.  
+
 
* Choose the Resource Manager you want to clone (e.g. PBS-Generic-Batch) RM from the combo.  
+
== Q: How do I customize an existing Target System Configuration? ==
* This should create a new project in your workspace called resourceManagers.  
+
 
* Expand the resourceManagers folder created. The ''name of the file'' is what the 'name' of the Resource manager is derived from.  Rename it if you like. Spaces in the name are OK, e.g "My RM.xml"
+
A detailed guide to the XML Schema for the new Configurable Resource Manager, along with an introductory tutorial slide-set demonstrating some simple modifications to an existing XML definition, are now available at [http://help.eclipse.org/kepler/nav/43_1 Target System Configuration].
 +
 
 +
* Go to File>Import..., then open Target System Configurations>Target Configuration From Plug-in.  
 +
* Choose the configuration you want to clone (e.g. PBS-Generic-Batch) from the combo.  
 +
 
 +
Alternatively, if you already have an XML Definition file.
 +
 
 +
* Create a General project named "targetConfigurations" by doing: New > Project… > General > Project > Project Name: "targetConfigurations" > Finish
 +
* Import the XML definition file by Selecting the "targetConfigurations" project > Import… > General > File System > Next > Browse… > Select Directory containing XML file > Check XML file > Finish
 +
 
 +
In either case this creates a new project in your workspace called "targetConfigurations" containing the XML definition.
 +
 
 +
* Open the targetConfigurations folder.  
 
* Double click on the xml file to open it in an editor.
 
* Double click on the xml file to open it in an editor.
* Example of a PBS change: Go to the end of the file, and change line 828 from '<monitor-data schedulerType="TORQUE">' to '<monitor-data schedulerType="PBS">'.
+
* Change the "name=" attribute in the <resource-manager-builder> element to be something unique.
 +
* Make whatever other changes you require.
 
* Save the file.
 
* Save the file.
  
Now, to use the new Resource Manager
+
To always use the latest configuration after you might have edited it:
* Go to the System Monitoring perspective and add a new RM.
+
* Use the definition you just edited (should have "(1)" after the name, unless you renamed the file).
+
  
If you're planning to change the XML after you have used it to create a RM,
+
* Go to Preferences then select Parallel Tools>Target Configurations
* Go to Preferences then select Parallel Tools>Resource Managers> Configurable Resource Manager
+
 
* Check the "Always load XML from URL" option.  
 
* Check the "Always load XML from URL" option.  
* Stopping and restarting the RM will then reload the new definition.
+
* Open the run configuration dialog
 +
* You should see the name you entered above in the list of configurations. If not, check that you picked a unique name.
 +
 
 +
More information:
 +
* http://wiki.eclipse.org/PTP/workshops/September_2012 includes several presentations on related topics
 +
* [http://wiki.eclipse.org/images/f/fc/PTPUserDev2012_JAXB.pdf Adding Support for a new Resource Manager]
 +
* [http://wiki.eclipse.org/images/d/d0/PTPUserDev2012_Monitoring_Karbach_Frings.pdf Monitoring system basics, and adding support for a new batch system ]
 +
* [[PTP/PTP_User_Meetings#January_29.2C_2014 | PTP User Meeting of January 2014]] covered creating a TSC and debugging
  
 
== Q: How do I enable the Eclipse menu icons to show in Linux with GTK? ==
 
== Q: How do I enable the Eclipse menu icons to show in Linux with GTK? ==
Line 152: Line 178:
 
== Q: How do I use PTP to connect to a remote system via an intermediate host (multi hop) ==
 
== Q: How do I use PTP to connect to a remote system via an intermediate host (multi hop) ==
  
You would first create the tunnel using a command such as:
+
You would first create the ssh tunnel using a command such as:
  
 
  ssh -L 22222:<target-host>:22 <intermediate-userid>@<intermediate-host>
 
  ssh -L 22222:<target-host>:22 <intermediate-userid>@<intermediate-host>
  
where <intermediate-host> is the host name of the intermediate system and <target-host> is the host name of the target system. The first port number (22222) can be any port number greater than 1024 that is not already being used. Use <intermediate-userid>@  if the userid is different from your local system. The second port number must be 22. Once a connection is established to <intermediate-host>, you will need to leave this session connected while you're using PTP.  In the resulting session, if you issue the command 'hostname' you should see the value for the intermediate-host system.  
+
where <intermediate-host> is the host name of the intermediate system and <target-host> is the host name of the target system. The first port number (22222) can be any port number greater than 1024 that is not already being used on your local system. Use <intermediate-userid>@  if the userid is different from your local system. The second port number must be 22. Once a connection is established to <intermediate-host>, you will need to leave this session connected while you're using PTP.  In the resulting session, if you issue the command 'hostname' you should see the value for the intermediate-host system.  
  
Next, when you configure a new resource manager, create a new connection (using Remote Tools) and specify the host name as 'localhost'. Click on the 'Advanced' button, and change the port number from 22 to the number you specified in the command above.
+
Next, when you create a new connection specify the host name as 'localhost'. Click on the 'Advanced' button, and change the port number from 22 to the number you specified in the command above.
  
 
Use this same connection when configuring a remote or synchronized project.
 
Use this same connection when configuring a remote or synchronized project.
Line 170: Line 196:
 
And in the resulting session, the command 'hostname' should match the target-host system.
 
And in the resulting session, the command 'hostname' should match the target-host system.
  
== Q: Eclipse doesn't seem to find my environment variables for the [compiler, OpenMPI...] ==
+
Other interesting things to type
 +
  ssh -p 22222 userid@localhost hostname    ==> prints the hostname of the target destination host
 +
  ssh -p 22222 userid@localhost which git          ==> confirms that git is in your path
 +
 
 +
 
 +
== Q: Why does the Project Explorer flag all directories to contain (git) changed or untracked files ? ==
 +
 
 +
The situation occurs if both, synchronization (via PTP) and revision control (via git) are used concurrently. Eventually, this is not an error, the Project Explorer is quite correct - there '''are''' untracked files. To make this effect disappear, open an editor for the file <project_root>/.gitignore and add the following lines.
 +
 
 +
  /.project
 +
  /.cproject
 +
  /.settings/
 +
  .gitignore
 +
  .ptp-sync-folder
 +
 
 +
Actually the last two lines change with the Eclipse version. '.gitignore' is needed for Eclipse Kepler. Instead of this filename, Eclipse Luna uses '.ptp-sync-folder'. Of course it doesn't hurt to add both. Then you are safe with either Eclipse version.
 +
 
 +
== Q: Why should a general project be first converted to a C/C++ project and then to a synchronized project ? ==
 +
 
 +
The situation might occur if a git repository has been imported into Eclipse as a general project, but should now be converted to a synchronized C/C++ or Fortran project. There are two wizards available, one for conversion to a C/C++ project and one for conversion to a synchronized project. So these have to be called one after another, but the order matters.
 +
 
 +
The wizard for converting to a synchronized project shows an extra page for linking sync configurations to build configurations, if applied to a C/C++ or Fortran Project. If not dealt with on this wizard page, the linking of sync to build configurations would need to be added manually to the project settings. Thus the following recipe provides the smoothes path to a synchronized C/C++ or Fortran project.
 +
* Convert to a C/C++ project.
 +
* Convert to a Fortran project, if applicable
 +
* Add an additional build configuration, if there will be different build configuratuions locally and remotely.
 +
* Convert to a synchronized project, linking the sync configurations to the given build configurations.
 +
 
 +
== Q: Eclipse complains "No such file or directory" when attempting a remote build for a managed project ==
 +
 
 +
Managed projects create their build directories. By default they are called "Debug" or "Release". These are created locally and then replicated to the remote host. Please check your replication filter settings and make sure that at least the makefile and make include files in these directories are being transferred to the remote side.
 +
 
 +
== Q: Eclipse doesn't seem to find commands for [compiler, make, ...] ==
  
 
If you get an error, e.g. in the console, saying something cannot be found, such as:
 
If you get an error, e.g. in the console, saying something cannot be found, such as:
Line 179: Line 236:
 
</pre>
 
</pre>
  
Then it likely means that the required file cannot be found, e.g. ifort in this case.
+
Then it likely means that the required command cannot be found in your PATH environment variable, e.g. ifort in this case. '''Note that the PATH environment variable the Eclipse uses can be different to the PATH set in your .profile or .cshrc.'''
  
If you are starting Eclipse from a shell add the path you need to the PATH environment variable in your login script.
+
If you are starting Eclipse from a shell make sure the path to the command is specified for the PATH environment variable in your login script.
(Note: reference interactive shell vs. non-interactive shell below in next FAQ item)
+
(Note: reference interactive shell vs. non-interactive shell FAQ item)
  
 
If you are starting Eclipse from a Linux window manager (Gnome, KDE, etc.) then consult your window manager documentation for information on how to set environment variables.
 
If you are starting Eclipse from a Linux window manager (Gnome, KDE, etc.) then consult your window manager documentation for information on how to set environment variables.
  
If you are starting Eclipse from the MacOS X window manager (Aqua), the PATH must be set by creating a file called environment.plist in a directory called .MacOSX in your home directory.
+
If you are starting Eclipse from the OS X window manager, the solution depends on the version of OS X.
The file should look like this, with [path_to_something] replaced with the correct path:
+
 
 +
<b>For OS X 10.7 (Lion) and earlier: </b>
 +
 
 +
PATH must be set by creating a file called <code>environment.plist</code> in a directory called <code>.MacOSX</code> in your home directory.
 +
The file should look like this, with [path_from_shell] replaced with the correct path, such as that obtained by the command "echo $PATH" in your shell.
 
<pre>
 
<pre>
 
<?xml version="1.0" encoding="UTF-8"?>
 
<?xml version="1.0" encoding="UTF-8"?>
Line 195: Line 256:
 
<dict>
 
<dict>
 
   <key>PATH</key>
 
   <key>PATH</key>
   <string>[path_to_something]</string>
+
   <string>[path_from_shell]</string>
 
   </dict>
 
   </dict>
 
</plist>
 
</plist>
 
 
</pre>
 
</pre>
  
== Q. When dealing with my remote system I see an error "Invalid java version or java not installed on "<connection name>"" ==
+
<b> For OS X 10.8 (Mountain Lion):</b>
 +
 
 +
The <code>environment.plist</code> method no longer works. Instead you have two choices:
 +
# Modify the environment for all applications globally. This is done by using the command 'launchctl setenv key value'. You will need to restart the application for the new environment to be picked up. Note that this only lasts until the next reboot. For a permanent fix, edit <code>/etc/launchd.conf</code> and add a 'setenv' line.
 +
# Modify the environment for the specific application. This involves editing the application <code>Info.plist</code> and adding an 'LSEnvironment' key. See [http://developer.apple.com/library/ios/#documentation/general/Reference/InfoPlistKeyReference/Articles/LaunchServicesKeys.html LaunchServicesKeys] for more information.
 +
 
 +
There are also tools such as [http://diaryproducts.net/EnvPane EnvPane] which may be helpful, and a good discussion [http://stackoverflow.com/questions/135688/setting-environment-variables-in-os-x here].
 +
 
 +
== Q: I get the error "Failed to execute command: ompi_info -a --parseable" when I use the Open MPI target configuration on my Mac ==
 +
 
 +
This is because the "ompi_info" command is not in your PATH. See the previous FAQ item.
 +
 
 +
== Q: When dealing with my remote system I see an error "Invalid java version or java not installed on "<connection name>"" ==
  
 
See the other FAQ items about environment variables.  Your userid isn't finding Java in your path.
 
See the other FAQ items about environment variables.  Your userid isn't finding Java in your path.
  
Remote projects (not synchronized projects) need java on the remote system in order to start the indexing service.  So make sure java is in your PATH, and it is accessible from a non-interactive shell (see next FAQ item).
+
Remote projects (not synchronized projects) need java on the remote system in order to start the indexing service.  So make sure java is in your PATH, and it is accessible from a non-interactive shell (see FAQ item on this).
 +
 
 +
== Q: Why is the Eclipse Editor is flagging bogus errors in my code ? ==
 +
 
 +
Flagging of code errors in the editor view is done by Codan
 +
(see http://help.eclipse.org/kepler/index.jsp?topic=%2Forg.eclipse.ptp.pldt.doc.user%2Fhtml%2Fcodan.html). In most cases,
 +
Codan is unable to work out the correct include paths or CPP macro settings. The general recipe to deal with the latter would be the following.
 +
* If the MPI constants such as MPI_COMM_WORLD are erroneously flagged as error, use the next item in this list and add the directory of mpi.h (or mpif.h). This directory depends on the MPI you are using and the installation location of the MPI. The standard path for OpenMPI is /usr/include/openmpi.
 +
* Check whether adding an include path to "project manager menu => Properties => C/C++ General => Paths and Symbols => Includes" solves your problem. You might want to grep for the flagged symbol in all files <*.h> in /usr/include or any sub directory and check whether the include path is already in the list. If you added a new include path, follow the instructions to re-index the project.
 +
* Check whether defining a CPP variable in "project manager menu => Properties => C/C++ General => Paths and Symbols => Symbols" solves your problem. It might be that the include file is found but Codan gets entagled in some cascade of #ifdef-s. If you added a new symbol, follow the instructions to re-index the project.
 +
* Disable Codan error flagging alltogether by eliminating the bug symbol in top row menu => Window => Preferrences => General => Editors => Text Editors => Annotations.
 +
* Post a question in the CDT forum.
 +
 
 +
== Q: How do I set remote include paths in a synchronized project? ==
 +
 
 +
For information on setting remote include paths explicitly to use those on the remote system using a UNC-style path (for eclipse indexer, e.g. using editor features), see Eclipse PTP Kepler tutorial, page "Editor-5" (PDF page 88 ) in [[PTP/tutorials/SEA2014 | PTP Kepler tutorial from SEA 2014]]
 +
* Summary: set C/C++ General > Preprocessor Include Paths to "//<connection-name>/path/to/includes" (and set "File System Path" and check "Contains system headers" (Note: there is still a bug with this working correctly on Windows.  See [https://bugs.eclipse.org/bugs/show_bug.cgi?id=416658 Bug 416658])
 +
 
 +
== Q: How can I get the C/C++ indexer to use my remote include paths in a synchronized project? ==
 +
 
 +
Even if you have your project set to use a remote build configuration that contains the paths to the remote include files, the C/C++ indexer may find include files on the local (client) machine instead of the remote machine.
 +
 
 +
The problem here is the settings for the indexer itself.  To fix this, you must set the indexer to use the active build configuration, instead of the default, which is usually the local build config.  A further complication is that because of a bug in the indexer project settings, any change you make to it will not be preserved when you restart Eclipse (see [https://bugs.eclipse.org/bugs/show_bug.cgi?id=205299 Bug 205299]).  Fortunately, there is a simple work around: use the global settings for the C/C++ indexer instead of the project-specific settings; the global setting ''is'' preserved across restarts of Eclipse.  To change this setting, use Window->Preferences->C/C++->Indexer then check "Use active build configuration".
  
 
== Q: My remote or synchronized project doesn't find the remote environment variables correctly (Interactive vs. non-interactive shell)==
 
== Q: My remote or synchronized project doesn't find the remote environment variables correctly (Interactive vs. non-interactive shell)==
  
 
Note that communication with your remote host is done via ssh.
 
Note that communication with your remote host is done via ssh.
 +
Even if you are connecting back to your local machine to run/debug locally, make sure you do this.
  
 
Remote Tools needs the proper environment variables in order to find java, compiler, make, etc.
 
Remote Tools needs the proper environment variables in order to find java, compiler, make, etc.
Line 245: Line 340:
 
* http://www.understudy.net/custom.html - several different shells described, including interactive vs. login shells
 
* http://www.understudy.net/custom.html - several different shells described, including interactive vs. login shells
  
== Q: I get an 'Internal Error' when the debugger starts on Mac OS X Lion ==
+
== Q: I get an 'Internal Error' when debugging an application running on Mac OS X ==
  
 
On Mac OS X Lion (and later) you may see an error similar to the following when you try to start the debugger locally:
 
On Mac OS X Lion (and later) you may see an error similar to the following when you try to start the debugger locally:
Line 252: Line 347:
 
  Reason: Debugger error: Unable to find Mach task port for process-id 51470: (os/kern) failure (0x5).
 
  Reason: Debugger error: Unable to find Mach task port for process-id 51470: (os/kern) failure (0x5).
  
This is because Lion has introduced new security requirements for gdb to work. [http://sourceware.org/gdb/wiki/BuildingOnDarwin This article] describes the problem in more detail. Note that gdb is installed by default as /usr/libexec/gdb/gdb-i386-apple-darwin. The /usr/bin/gdb command is just a script that invokes this executable.
+
This is because Lion has introduced new security requirements for gdb to work. Note that gdb is installed by default as /usr/libexec/gdb/gdb-i386-apple-darwin. The /usr/bin/gdb command is just a script that invokes this executable.
 +
 
 +
=== Lion ===
 +
 
 +
Execute the following commands (this assumes that your user is in the procmod group, check using the 'id' command):
 +
 
 +
chgrp procmod /usr/libexec/gdb/gdb-i386-apple-darwin
 +
chmod g+s /usr/libexec/gdb/gdb-i386-apple-darwin
 +
 
 +
=== Mountain Lion ===
 +
 
 +
Running the following command appears to work:
 +
 
 +
sudo DevToolsSecurity -enable
 +
 
 +
== Q: I get the message 'Unable to determine gdb version' when trying to debug a program ==
 +
 
 +
Mac OS X Mavericks uses lldb instead of gdb. In order to debug an application running on Mavericks, you first need to install gdb following [http://ntraft.com/installing-gdb-on-os-x-mavericks these instructions]. Only follow the '''Getting it to Work with Eclipse''' section if you wish to use the CDT debugger.
 +
 
 +
If you are not using Mavericks, make sure you have the "Path to backend debugger" preference set to the path to the gdb program, not the sdm. See [https://bugs.eclipse.org/bugs/show_bug.cgi?id=368312 this bug] for more details.
 +
 
 +
== Q: How do I debug the server part of PTP's system monitoring capability? ==
 +
If the Active Jobs view is empty when you know jobs are running on the system, perhaps the commands queried from the monitoring system are not successful.
 +
 
 +
# On the remote machine, go to the ".eclipsesettings" directory, located in your home directory
 +
# Create a file called ".LML_da_options" containing a single line "keeptmp=1" (no quotes).
 +
# Restart the monitor.
 +
# You should now find a directory called "tmp_<hostname>_<pid>" in the ".eclipsesettings" directory. It should contain an error log file, plus a bunch of other files. Check these files to see if you can see the cause of the error.
 +
# Remember to remove the ".LML_da_options" file once you have finished.
 +
 
 +
See also [[PTP/System_Monitoring_FAQ | PTP System Monitoring FAQ]]
 +
 
 +
== Q: What do I do when i get "Failed to Create the Java Virtual Machine" launching on win32? ==
 +
 
 +
The JVM cannot allocate enough memory with current eclipse settings.
 +
FInd your eclipse.ini file (in the same directory as the eclipse executable), and in the line e.g.
 +
-Xmx2048m  ==>  change it to a smaller number e.g. to -Xmx512m or -Xmx768m or -Xmx1024m
 +
 
 +
It could be that your eclipse will run out of memory on a machine with a relatively small amount of RAM.
 +
(Need to publish suggested memory minimums.)
 +
 
 +
Note that a 32bit windows app only can have 2GB memory total. Changing the -Xms and -Xmx values to:
 +
-Xms512m
 +
-Xmx1536m
 +
may fix it (assuming your machine tolerates *that* much). Older machines, or with less memory, may need to go down to
 +
-Xms40m
 +
-Xmx512m
 +
But you risk OutOfMemoryException  later
 +
 
 +
== Q: Where does the PTP Parallel Debugger work? ==
 +
 
 +
For the parallel debugger to work, PTP must support the remote system for debug in the Target System Configuration / TSC.
 +
See the [[PTP/release_notes | Release Notes]]  for each release of PTP; this is noted starting in PTP 8.0.
 +
 
 +
For PTP 8.0 (Luna release, June 20140), the PTP parallel debugger is implemented for:
 +
*Generic TSCs:
 +
**Generic OpenMPI Interactive
 +
**Generic MPICH2 Interactive
 +
**Generic Remote Interactive
 +
**IBM Parallel Environment
 +
**IBM Platform LSF Interactive
 +
**IBM Platform MPI
 +
*Specific system TSCs:
 +
**Trestles Torque OpenMPI Interactive
  
...
+
How to tell?  In the Target System Configuration xml file, "submit-interactive-debug" will be found if the PTP parallel debugger is supported.
 +
(in one of the org.eclipse.ptp.rm.* plugins)
  
 
[[Category:FAQ]]
 
[[Category:FAQ]]

Revision as of 16:34, 13 August 2014

Contents

Q: How do I download PTP?

PTP can now (as of 7.0, June 2013) be installed in two ways:

  • from the all-in-one package "Eclipse for Parallel Application Developers" on the Eclipse downloads page
  • or installed into an existing eclipse via the Eclipse Installation Manager (Help > Install new software...).

See the PTP download page; check regularly there for new releases, too.

The current released version of PTP is shown on the Eclipse PTP web page at http://eclipse.org/ptp

See the PTP 7.0 release notes for detailed instructions on how to install PTP.

Q: How do find out more about Synchronized Projects and System Monitoring?

There are other FAQ pages with Frequently asked questions about

Q: What version of Eclipse and CDT do I need?

PTP 6.0 is designed to work with Eclipse 4.2 (Juno) and CDT 8.1.x. (The all-in-package referenced above now takes care of this for you.)

PTP 5.0 is designed to work with Eclipse 3.7.x (Indigo) and CDT 8.0.x. (The all-in-package referenced above now takes care of this for you.)

PTP 4.0 is designed to work with Eclipse 3.6.x (Helios) and CDT 7.0.x.

PTP 3.0 is designed to work with Eclipse 3.5.x (Galileo) and CDT 6.0.2.

Q: What version of MPI do I need to run PTP?

PTP supports the following MPI runtimes:

  • Open MPI 1.2.x, 1.3.x, or 1.4.x ... and higher.
  • MPICH2 1.0.6p1
  • IBM's Parallel Environment (PE)

The most recent OpenMPI (generally) is recommended for the most recent release of PTP, although it may work with older releases.

For the Parallel Language Development Tools only, there should be no difference between the different versions of MPI, such as OpenMPI and LamMPI. You just need to configure your project to be built using mpicc rather than gcc (for MPI releases that require that; most do), and to (optionally) specify the include path to the MPI header files. This should be described in the PLDT help.

Q: What platforms and runtimes are supported by PTP now?

The current release of PTP runs on Linux, MacOS X, and Windows. PTP only supports target systems running Linux, MacOS X, and some kinds of Unix (e.g. AIX).

The Parallel Language Development Tools will run anywhere Eclipse and CDT will run. It may require a version of MPI (specifically, its header files) to aid in the search for MPI artifacts. And an OpenMP header file, if OpenMP analysis is needed. This means you can develop and analyze source files but you can't launch them.

The Remote Development Tools can be used on Linux, MacOS X, and Windows.

Q: How do I install Open MPI?

You may already have it installed. Try running the following command and check the output:

   ompi_info

If this doesn't work, download the latest version from the Open MPI site.

Unpack the distribution and run the commands (note that you may have to add extra options to configure to suit your local site - see the Open MPI help documentation for more information):

   ./configure --prefix=/path/to/your/ompi/install
   make
   make install

At this point it's a good idea to run a small mpi program to test you have installed Open MPI correctly.

mpicc -o testMPI testMPI.c 
mpirun -np 2 testMPI

Q: How do I build PTP myself?

See the PTP Environment Setup instructions

Q: How do I ask questions about PTP?

Subscribe to the PTP Mailing lists, especially ptp-user, and ask questions there. This is an excellent place to ask new-user questions. The ptp-user list is watched by most of our PTP developers as well as many users, and you can share in their experience. See http://www.eclipse.org/ptp/mailing_lists.php

Q: How do find out more about PTP?


Q: What's the most recent version of PTP?

The current released version is 6.0.x. (Fall 2012 )

See the announcements on http://eclipse.org/ptp which should indicate the latest release number. As of December 2012 this is 6.0.4.

The most accurate latest release number is whatever is found on the update site at http://download.eclipse.org/tools/ptp/updates/juno

Q: How do I install the most recent released version of PTP?

There is an all-in-one installation package, and update sites for you to install PTP into your own installation of Eclipse.

The all-in-one installation is the easiest way to install PTP and it can be installed

There are two update sites:

Update Sites
  1. The Juno update site (http://download.eclipse.org/releases/juno) contains the last release of PTP that was built into the Eclipse general update site. Eclipse Juno updates are released only in September and February. This update site (a.k.a. software repository) is enabled by default when you install Eclipse Juno (a.k.a. 4.2).
    • Help > Install New Software.... and install PTP from there
    • Help > Check for Updates will find the updates for all your installed features that are found there.
  2. PTP maintains its own PTP-specific update site with the most recent release of PTP. Bug fix releases can be more frequent than the main Eclipse.
    You must enable the PTP-specific update site before the updates will be found.
    1. Enable the PTP-specific update site
      • Help > Install new software...
      • Click Available Software Sites link
      • Enable/check the PTP site:
      • Choose OK and then Cancel to return to the Eclipse workbench, and ...
    2. Now do the update
      • Select Help > Check for updates
        • Follow prompts like a normal installation

Q: How do I update my PTP within the package "Eclipse IDE for Parallel Application Developers" ?

See PTP/release_notes/6.0#Updating_from_the_Parallel_Package_to_a_more_recent_release

Q: I want to live a bit on the bleeding edge. How do I install a more recent PTP build, e.g. to get a bug fix ?

Go to the PTP builds page and find the page for your release (e.g. if you have 6.0.x, find the page with the largest value of x) and download the archive file (ptp-master-xxx) then use that in the Help > Install New Software... dialog.

Q: When I launch a parallel job how do I stop it from building everything in my workspace ?

Open Preferences (Window > Preferences or on a Mac, Eclipse > Preferences), Open Run/Debug / Launching

Under "Run/Debug", select "Launching" and Uncheck "Build (if required) before launching"

Q: How do I create my own Target System Configuration for the scheduler on my remote system ?

See the next question.

Q: How do I customize an existing Target System Configuration?

A detailed guide to the XML Schema for the new Configurable Resource Manager, along with an introductory tutorial slide-set demonstrating some simple modifications to an existing XML definition, are now available at Target System Configuration.

  • Go to File>Import..., then open Target System Configurations>Target Configuration From Plug-in.
  • Choose the configuration you want to clone (e.g. PBS-Generic-Batch) from the combo.

Alternatively, if you already have an XML Definition file.

  • Create a General project named "targetConfigurations" by doing: New > Project… > General > Project > Project Name: "targetConfigurations" > Finish
  • Import the XML definition file by Selecting the "targetConfigurations" project > Import… > General > File System > Next > Browse… > Select Directory containing XML file > Check XML file > Finish

In either case this creates a new project in your workspace called "targetConfigurations" containing the XML definition.

  • Open the targetConfigurations folder.
  • Double click on the xml file to open it in an editor.
  • Change the "name=" attribute in the <resource-manager-builder> element to be something unique.
  • Make whatever other changes you require.
  • Save the file.

To always use the latest configuration after you might have edited it:

  • Go to Preferences then select Parallel Tools>Target Configurations
  • Check the "Always load XML from URL" option.
  • Open the run configuration dialog
  • You should see the name you entered above in the list of configurations. If not, check that you picked a unique name.

More information:

Q: How do I enable the Eclipse menu icons to show in Linux with GTK?

See this bug: https://bugs.eclipse.org/bugs/show_bug.cgi?id=293720

Q: How do I use PTP to connect to a remote system via an intermediate host (multi hop)

You would first create the ssh tunnel using a command such as:

ssh -L 22222:<target-host>:22 <intermediate-userid>@<intermediate-host>

where <intermediate-host> is the host name of the intermediate system and <target-host> is the host name of the target system. The first port number (22222) can be any port number greater than 1024 that is not already being used on your local system. Use <intermediate-userid>@ if the userid is different from your local system. The second port number must be 22. Once a connection is established to <intermediate-host>, you will need to leave this session connected while you're using PTP. In the resulting session, if you issue the command 'hostname' you should see the value for the intermediate-host system.

Next, when you create a new connection - specify the host name as 'localhost'. Click on the 'Advanced' button, and change the port number from 22 to the number you specified in the command above.

Use this same connection when configuring a remote or synchronized project.

Sample Confirmation

As a confirmation of the tunneling being set up correctly, you can do the following in another terminal window:

 ssh -p 22222 <target-userid>@localhost

And in the resulting session, the command 'hostname' should match the target-host system.

Other interesting things to type

 ssh -p 22222 userid@localhost hostname    ==> prints the hostname of the target destination host
 ssh -p 22222 userid@localhost which git          ==> confirms that git is in your path


Q: Why does the Project Explorer flag all directories to contain (git) changed or untracked files ?

The situation occurs if both, synchronization (via PTP) and revision control (via git) are used concurrently. Eventually, this is not an error, the Project Explorer is quite correct - there are untracked files. To make this effect disappear, open an editor for the file <project_root>/.gitignore and add the following lines.

 /.project
 /.cproject
 /.settings/
 .gitignore
 .ptp-sync-folder

Actually the last two lines change with the Eclipse version. '.gitignore' is needed for Eclipse Kepler. Instead of this filename, Eclipse Luna uses '.ptp-sync-folder'. Of course it doesn't hurt to add both. Then you are safe with either Eclipse version.

Q: Why should a general project be first converted to a C/C++ project and then to a synchronized project ?

The situation might occur if a git repository has been imported into Eclipse as a general project, but should now be converted to a synchronized C/C++ or Fortran project. There are two wizards available, one for conversion to a C/C++ project and one for conversion to a synchronized project. So these have to be called one after another, but the order matters.

The wizard for converting to a synchronized project shows an extra page for linking sync configurations to build configurations, if applied to a C/C++ or Fortran Project. If not dealt with on this wizard page, the linking of sync to build configurations would need to be added manually to the project settings. Thus the following recipe provides the smoothes path to a synchronized C/C++ or Fortran project.

  • Convert to a C/C++ project.
  • Convert to a Fortran project, if applicable
  • Add an additional build configuration, if there will be different build configuratuions locally and remotely.
  • Convert to a synchronized project, linking the sync configurations to the given build configurations.

Q: Eclipse complains "No such file or directory" when attempting a remote build for a managed project

Managed projects create their build directories. By default they are called "Debug" or "Release". These are created locally and then replicated to the remote host. Please check your replication filter settings and make sure that at least the makefile and make include files in these directories are being transferred to the remote side.

Q: Eclipse doesn't seem to find commands for [compiler, make, ...]

If you get an error, e.g. in the console, saying something cannot be found, such as:

 error
 /bin/sh: ifort: not found
 make: *** [test.o] Error 127

Then it likely means that the required command cannot be found in your PATH environment variable, e.g. ifort in this case. Note that the PATH environment variable the Eclipse uses can be different to the PATH set in your .profile or .cshrc.

If you are starting Eclipse from a shell make sure the path to the command is specified for the PATH environment variable in your login script. (Note: reference interactive shell vs. non-interactive shell FAQ item)

If you are starting Eclipse from a Linux window manager (Gnome, KDE, etc.) then consult your window manager documentation for information on how to set environment variables.

If you are starting Eclipse from the OS X window manager, the solution depends on the version of OS X.

For OS X 10.7 (Lion) and earlier:

PATH must be set by creating a file called environment.plist in a directory called .MacOSX in your home directory. The file should look like this, with [path_from_shell] replaced with the correct path, such as that obtained by the command "echo $PATH" in your shell.

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN"
"http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
  <key>PATH</key>
  <string>[path_from_shell]</string>
  </dict>
</plist>

For OS X 10.8 (Mountain Lion):

The environment.plist method no longer works. Instead you have two choices:

  1. Modify the environment for all applications globally. This is done by using the command 'launchctl setenv key value'. You will need to restart the application for the new environment to be picked up. Note that this only lasts until the next reboot. For a permanent fix, edit /etc/launchd.conf and add a 'setenv' line.
  2. Modify the environment for the specific application. This involves editing the application Info.plist and adding an 'LSEnvironment' key. See LaunchServicesKeys for more information.

There are also tools such as EnvPane which may be helpful, and a good discussion here.

Q: I get the error "Failed to execute command: ompi_info -a --parseable" when I use the Open MPI target configuration on my Mac

This is because the "ompi_info" command is not in your PATH. See the previous FAQ item.

Q: When dealing with my remote system I see an error "Invalid java version or java not installed on "<connection name>""

See the other FAQ items about environment variables. Your userid isn't finding Java in your path.

Remote projects (not synchronized projects) need java on the remote system in order to start the indexing service. So make sure java is in your PATH, and it is accessible from a non-interactive shell (see FAQ item on this).

Q: Why is the Eclipse Editor is flagging bogus errors in my code ?

Flagging of code errors in the editor view is done by Codan (see http://help.eclipse.org/kepler/index.jsp?topic=%2Forg.eclipse.ptp.pldt.doc.user%2Fhtml%2Fcodan.html). In most cases, Codan is unable to work out the correct include paths or CPP macro settings. The general recipe to deal with the latter would be the following.

  • If the MPI constants such as MPI_COMM_WORLD are erroneously flagged as error, use the next item in this list and add the directory of mpi.h (or mpif.h). This directory depends on the MPI you are using and the installation location of the MPI. The standard path for OpenMPI is /usr/include/openmpi.
  • Check whether adding an include path to "project manager menu => Properties => C/C++ General => Paths and Symbols => Includes" solves your problem. You might want to grep for the flagged symbol in all files <*.h> in /usr/include or any sub directory and check whether the include path is already in the list. If you added a new include path, follow the instructions to re-index the project.
  • Check whether defining a CPP variable in "project manager menu => Properties => C/C++ General => Paths and Symbols => Symbols" solves your problem. It might be that the include file is found but Codan gets entagled in some cascade of #ifdef-s. If you added a new symbol, follow the instructions to re-index the project.
  • Disable Codan error flagging alltogether by eliminating the bug symbol in top row menu => Window => Preferrences => General => Editors => Text Editors => Annotations.
  • Post a question in the CDT forum.

Q: How do I set remote include paths in a synchronized project?

For information on setting remote include paths explicitly to use those on the remote system using a UNC-style path (for eclipse indexer, e.g. using editor features), see Eclipse PTP Kepler tutorial, page "Editor-5" (PDF page 88 ) in PTP Kepler tutorial from SEA 2014

  • Summary: set C/C++ General > Preprocessor Include Paths to "//<connection-name>/path/to/includes" (and set "File System Path" and check "Contains system headers" (Note: there is still a bug with this working correctly on Windows. See Bug 416658)

Q: How can I get the C/C++ indexer to use my remote include paths in a synchronized project?

Even if you have your project set to use a remote build configuration that contains the paths to the remote include files, the C/C++ indexer may find include files on the local (client) machine instead of the remote machine.

The problem here is the settings for the indexer itself. To fix this, you must set the indexer to use the active build configuration, instead of the default, which is usually the local build config. A further complication is that because of a bug in the indexer project settings, any change you make to it will not be preserved when you restart Eclipse (see Bug 205299). Fortunately, there is a simple work around: use the global settings for the C/C++ indexer instead of the project-specific settings; the global setting is preserved across restarts of Eclipse. To change this setting, use Window->Preferences->C/C++->Indexer then check "Use active build configuration".

Q: My remote or synchronized project doesn't find the remote environment variables correctly (Interactive vs. non-interactive shell)

Note that communication with your remote host is done via ssh. Even if you are connecting back to your local machine to run/debug locally, make sure you do this.

Remote Tools needs the proper environment variables in order to find java, compiler, make, etc.

Your environment may be set up correctly for an interactive shell but not for a non-interactive shell. You probably want to set up the same environment for an interactive and non-interactive shell. For example, for bash, there are at least two files ~/.profile and ~/.bashrc. Make sure you know which ones your system uses. Naturally this depends upon what shell you are running.

  • ~/.profile or .bash_profile– read by ssh in interactive shell on login
  • ~/.bashrc – read by ssh in non-interactive shell on login

Make sure the non-interactive shell is set up properly. Perhaps helpful reference(s):

  • Setting SSH Remote Host Environment variables
  • Try this from the command line of the machine eclipse is on:
    • ssh userid@remotehost command (e.g. ssh beth@myRemoteSystem.com ls)
    • try the command you are trying to do that is giving you problems, instead of 'ls'

An alternative (works for ksh for at least some of us) is to do the following:

  • Modify sshd_config to have "PermitUserEnvironment yes" and reload sshd to use it. You'll need root access to do this.
  • Added ~/.ssh/environment to your userid to contain the java path, for example, PATH=/usr/local/bin:/bin:/usr/bin:/opt/java/jre/bin

More notes from ptp-dev discussions

  • It depends on which shell you use on the remote machine. Usually the default for Linux is set to bash, but some people like ksh, tcsh, etc. and have their default shell set to that.
    • tcsh uses ~/.tcshrc, and if that doesn't exist, it tries ~/.cshrc
    • ksh ... appears to use the same file as bash (and sh) - .profile
    • bash is recommended!
  • Most of the above depends on system configuration for non-interactive shells. Most have it configured to read ~/.bashrc, but not all, and without this setup you may not be able to set the environment.
  • Pure Remote Projects (not synchronized projects) need java on the remote server. Here's how to test:
    • from your workstation, tunnel via ssh to the remote machine:
ssh userid@myRemoteSystem.com which java 
ssh userid@myRemoteSystem.com java -version

Useful references

Q: I get an 'Internal Error' when debugging an application running on Mac OS X

On Mac OS X Lion (and later) you may see an error similar to the following when you try to start the debugger locally:

Error on tasks: 0 - Internal Error
Reason: Debugger error: Unable to find Mach task port for process-id 51470: (os/kern) failure (0x5).

This is because Lion has introduced new security requirements for gdb to work. Note that gdb is installed by default as /usr/libexec/gdb/gdb-i386-apple-darwin. The /usr/bin/gdb command is just a script that invokes this executable.

Lion

Execute the following commands (this assumes that your user is in the procmod group, check using the 'id' command):

chgrp procmod /usr/libexec/gdb/gdb-i386-apple-darwin
chmod g+s /usr/libexec/gdb/gdb-i386-apple-darwin

Mountain Lion

Running the following command appears to work:

sudo DevToolsSecurity -enable

Q: I get the message 'Unable to determine gdb version' when trying to debug a program

Mac OS X Mavericks uses lldb instead of gdb. In order to debug an application running on Mavericks, you first need to install gdb following these instructions. Only follow the Getting it to Work with Eclipse section if you wish to use the CDT debugger.

If you are not using Mavericks, make sure you have the "Path to backend debugger" preference set to the path to the gdb program, not the sdm. See this bug for more details.

Q: How do I debug the server part of PTP's system monitoring capability?

If the Active Jobs view is empty when you know jobs are running on the system, perhaps the commands queried from the monitoring system are not successful.

  1. On the remote machine, go to the ".eclipsesettings" directory, located in your home directory
  2. Create a file called ".LML_da_options" containing a single line "keeptmp=1" (no quotes).
  3. Restart the monitor.
  4. You should now find a directory called "tmp_<hostname>_<pid>" in the ".eclipsesettings" directory. It should contain an error log file, plus a bunch of other files. Check these files to see if you can see the cause of the error.
  5. Remember to remove the ".LML_da_options" file once you have finished.

See also PTP System Monitoring FAQ

Q: What do I do when i get "Failed to Create the Java Virtual Machine" launching on win32?

The JVM cannot allocate enough memory with current eclipse settings. FInd your eclipse.ini file (in the same directory as the eclipse executable), and in the line e.g. -Xmx2048m ==> change it to a smaller number e.g. to -Xmx512m or -Xmx768m or -Xmx1024m

It could be that your eclipse will run out of memory on a machine with a relatively small amount of RAM. (Need to publish suggested memory minimums.)

Note that a 32bit windows app only can have 2GB memory total. Changing the -Xms and -Xmx values to:

-Xms512m
-Xmx1536m

may fix it (assuming your machine tolerates *that* much). Older machines, or with less memory, may need to go down to

-Xms40m
-Xmx512m

But you risk OutOfMemoryException later

Q: Where does the PTP Parallel Debugger work?

For the parallel debugger to work, PTP must support the remote system for debug in the Target System Configuration / TSC. See the Release Notes for each release of PTP; this is noted starting in PTP 8.0.

For PTP 8.0 (Luna release, June 20140), the PTP parallel debugger is implemented for:

  • Generic TSCs:
    • Generic OpenMPI Interactive
    • Generic MPICH2 Interactive
    • Generic Remote Interactive
    • IBM Parallel Environment
    • IBM Platform LSF Interactive
    • IBM Platform MPI
  • Specific system TSCs:
    • Trestles Torque OpenMPI Interactive

How to tell? In the Target System Configuration xml file, "submit-interactive-debug" will be found if the PTP parallel debugger is supported. (in one of the org.eclipse.ptp.rm.* plugins)

Back to the top