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 "PTP/photran/faq"

< PTP‎ | photran
(Eclipse doesn't seem to find commands for [compiler, make, ...])
m (How do I turn off the Fortran Indexer?)
 
(4 intermediate revisions by 2 users not shown)
Line 59: Line 59:
 
:The bug has been fixed with April 29 build of Beta 4.0.5, which can be found [[PTP/builds/photran/4.0|here]]. Please note that you need Eclipse 3.4.2 and CDT 5.0 or above to get it working.
 
:The bug has been fixed with April 29 build of Beta 4.0.5, which can be found [[PTP/builds/photran/4.0|here]]. Please note that you need Eclipse 3.4.2 and CDT 5.0 or above to get it working.
  
===After enabling advanced features and selecting a Fortran source file, the Refactor menu shows no refactorings available. Now what?===
+
===After enabling advanced features and selecting a Fortran source file, the Refactor menu shows no refactorings available. Now what?===
  
Waiting on an answer...
+
Refactoring is only enabled for free form (.f90) ''not'' fixed form (F77: .f, .for) style source and cannot be used with mixed (Fortran/C++) projects. Create a new fortran project with a new free form fortran source file to test refactoring features.
 
+
=== Can I make a Remote Fortran Project using the Remote Development Tools? ===
+
See below.
+
  
 
=== Can I make a Remote Fortran Project? ===
 
=== Can I make a Remote Fortran Project? ===
  
The preferred method for developing Fortran applications with PTP is to use synchronized projects.
+
The preferred method for developing Fortran applications remotely with PTP is to use synchronized projects.
See [http://help.eclipse.org/indigo/topic/org.eclipse.ptp.doc.user/html/sync.html]
+
See [http://help.eclipse.org/oxygen/topic/org.eclipse.ptp.doc.user/html/sync.html]
  
If you wish to use Remote Development Tools for developing Fortran applications, then keep reading...  
+
===Eclipse doesn't seem to find commands for [compiler, make, ...]===
  
For background information about remote projects, see [http://help.eclipse.org/helios/topic/org.eclipse.ptp.help/html/localVsRemote.html Local vs. Remote Projects] and [http://help.eclipse.org/helios/index.jsp?topic=/org.eclipse.ptp.rdt.doc.user/html/toc.html Remote Development Tools] which is part of PTP.
+
See [[Parallel_Tools_Platform_FAQ#Q:_Eclipse_doesn.27t_seem_to_find_commands_for_.5Bcompiler.2C_make.2C_....5D | this FAQ]]
RDT allows you to have projects whose source file location, builds, and execution can all be on a remote machine.  Source files are brought to the local machine (where you have Eclipse installed) when needed, e.g. when you edit a file.
+
  
Here is how to make a remote Fortran project:
+
===How do I turn off the Fortran Indexer? ===
  
# Make a C/C++ Remote Project (the kind where you write your own makefile, also known as a "Makefile Project")
+
This can be controlled on a per-project basis as follows:
# Switch to the Fortran perspective
+
# In the Fortran Projects view (you *have* to do it in that view), right-click on the project, and click Convert to Fortran Project
+
# The only things that don't work in remote projects are the indexer and the features that depend on it (open declaration, language-based search, content assist, hover tips, and refactoring).  The indexer is disabled by default on new projects, so you don't have to do anything special.  (Actually, if you turn it on, it will work; it will just be unbearably slow.  For C/C++ projects, all the indexing is performed on the remote machine, but this is not implemented for Fortran.)
+
# The PTP parallel debugger may also work with Photran, depending on your compiler and the debug info it generates (and thus your version of gdb).  When it stops at main, it may be in  C wrapper e.g. fmain.c for which it can't find source.  Switch the editor to your Fortran program, put a breakpoint on a line there, then Resume and it should  land in your Fortran program. 
+
  
Note that a new upcoming type of remote projects should facilitate remote project in Photran: [[PTP/photran/rsync_remote_projects | Rsync Remote Projects]]
+
# Open properties for the project
 +
# Open '''Fortran General'''
 +
# Select '''Analysis/Refactoring'''
 +
# Check/uncheck '''Enable Fortran analysis/refactoring'''
  
Note: for a "Fortran Hello World" remote project, follow the above instructions, and before or after that, create a new (local) Fortran Project and select in the Project type, under Makefile project, one of the Fortran demo projects. That will create a source file and a makefile.  Copy both these files to your remote Fortran project.
+
Indexing can be disabled completely by disabling the Photran Virtual Program Graph Core Plug-in:
  
===Eclipse doesn't seem to find commands for [compiler, make, ...]===
+
# Open preferences
 
+
# Go to '''General > Startup and Shutdown'''
See [[Parallel_Tools_Platform_FAQ#Q:_Eclipse_doesn.27t_seem_to_find_commands_for_.5Bcompiler.2C_make.2C_....5D | this FAQ]]
+
# Uncheck '''Photran Virtual Program Graph Core Plug-in'''
 +
# Restart Eclipse.
  
 
==Installation Questions==
 
==Installation Questions==

Latest revision as of 13:43, 26 February 2018

You are here: PTP > Photran > Technical FAQ

Photran FAQ

Usage Questions

How do I get Photran to work with my favorite compiler?

Photran does not call your compiler directly. It just invokes make and make calls your compiler. So, you need a makefile for your program. Photran has to know which compiler you are using so that it can parse the error messages, since different compilers use different formats for error messages. And we have a not-very-well-working feature (Managed Make) that is supposed to write a makefile for you automatically, which will be great when it works, but should be avoided at the moment. All the rest of Photran is completely independent of your compiler.
If you don't know what a Makefile should look like, there's a tutorial from an introductory CS course at UIUC [1], or another from the University of Hawaii [2]... or you can read the entire manual for GNU make [3].

Photran is running out of memory (I'm getting java.lang.OutOfMemoryError).

Under Linux, add -vmargs -Xmx512M to the end of the command line, i.e., launch Photran with a command like
/usr/local/bin/photran -vmargs -Xmx512M
Under Mac OS X, you can follow the Linux instructions if you are launching Eclipse from the command line. If you are launching from the Dock or Applications folder, change the -Xmx parameter in /Applications/eclipse/Eclipse.app/Contents/MacOS/eclipse.ini (assuming Eclipse is located in /Applications/eclipse)
Under Windows, create a shortcut to Photran's "eclipse" executable. Right-click the shortcut, and choose Properties. In the box containing "eclipse.exe", add -vmargs -Xmx512M, so the entire line will read something like this:
"C:\Program Files\Photran\eclipse.exe" -vmargs -Xmx512M
For what it's worth, all arguments following -vmargs are passed directly to the JVM; -Xmx512M is a request to make 512 MB of heap space available to Photran.

When I create a project, I get the error "Error launching external scanner info generator (gcc -E ..."

Under Windows, you probably have a problem with your PATH; you should also make sure you have GCC, the GNU C compiler, installed (at least the gcc-core package if you are running Cygwin). Make sure you have followed the instructions here to install Cygwin and put it on your Windows PATH. Most Linux distributions include GCC, so if you are getting this error under Linux, you may need to explicitly install GCC.

I can't get Photran to run my program ("Launch failed no binaries" or some such error message).

  1. In the Project menu, select Preferences, and make sure that the correct Binary Parser is selected for your platform: PE for Windows, Elf for Linux, Mach for OS X.
  2. Your workspace path cannot have spaces in it. A workspace in C:\Documents and Settings\whoever\My Documents for example, will give this error.
  3. If you are using g95, it has some of its own eccentricities. Spaces in the g95 path have also caused problems. If your binary "can't find cygwin1.dll", see the next question...

When I run my Fortran program, it complains that it can't find a particular DLL.

When Windows looks for DLLs, it checks the following:
  • The directory from which the application loaded.
  • The current directory.
  • The system directory (e.g., C:\Windows\System32)
  • The 16-bit system directory.
  • The Windows directory (e.g., C:\Windows)
  • The directories that are listed in the PATH environment variable.
So, for example, if cygwin1.dll is not found, it needs to be copied into one of the above directories. (NOTE: Despite Microsoft's documentation, it seems that directories on the PATH are not always searched; put the DLL in your application directory or the System directory to be safe.)
This information was obtained from Microsoft's documentation for the LoadLibrary system call [4].

I get 'Cannot run program "make": Launching failed'

Do you have 'make' installed? Is it in your path?
See the Photran installation instructions especially including how to set the PATH in Windows

When I open or focus an editor window, I get a java.lang.NullPointerException

This is a bug in Photran [5]: it occurs whenever you open or alter a fortran source file using the Project Explorer view instead of the Fortran Projects view, which comes with the Fortran perspective. As a quick workaround, don't use the Project Explorer when Fortran projects are open.
The bug has been fixed with April 29 build of Beta 4.0.5, which can be found here. Please note that you need Eclipse 3.4.2 and CDT 5.0 or above to get it working.

After enabling advanced features and selecting a Fortran source file, the Refactor menu shows no refactorings available. Now what?

Refactoring is only enabled for free form (.f90) not fixed form (F77: .f, .for) style source and cannot be used with mixed (Fortran/C++) projects. Create a new fortran project with a new free form fortran source file to test refactoring features.

Can I make a Remote Fortran Project?

The preferred method for developing Fortran applications remotely with PTP is to use synchronized projects. See [6]

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

See this FAQ

How do I turn off the Fortran Indexer?

This can be controlled on a per-project basis as follows:

  1. Open properties for the project
  2. Open Fortran General
  3. Select Analysis/Refactoring
  4. Check/uncheck Enable Fortran analysis/refactoring

Indexing can be disabled completely by disabling the Photran Virtual Program Graph Core Plug-in:

  1. Open preferences
  2. Go to General > Startup and Shutdown
  3. Uncheck Photran Virtual Program Graph Core Plug-in
  4. Restart Eclipse.

Installation Questions

Where do I find the "Photran End-User Runtime"?

Following the instructions on PTP/photran/documentation/photran6 allows one to install "Fortran Development Tools (Photran)"; there's no mention of a Photran End-User Runtime. If the Fortran Development Tools are installed, the result is a lot of C/C++ development tools but no mention of Photran or Fortran tools anywhere in the Eclipse UI.

How can I install the production release of Photran on a machine without internet access?

Note that the guidance on PTP/photran/documentation/photran6 links to PTP/builds/4.0.0 which only contains release candidates, not production releases. Note also that installing one of the release candidates yields the same problematic results mentioned in the above question (no Fortran tools available in Eclipse.)

Back to the top