Readme File for Perfect Developer 4.10 for Linux
================================================

CONTENTS

1. General
2. Prerequisites
3. Installation
4. Known limitations
5. Files installed


1. GENERAL
----------
This file  addresses issues with the installation of Perfect Developer under
Linux. After installing Perfect Developer under Linux, you should also read the
file 'opt/escher/doc/readme.rtf' for information about Perfect Developer 4.10
that is common to all platforms.


2. PREREQUISITES
----------------
This release of Perfect Developer was compiled using gcc 4.3.3 under Ubuntu
Linux 9.04. To run Perfect Developer 4.10, you must have the following or
suitable substitutes installed:

  wxGTK library version 2.8.10 unicode build (libwxbase2.8.0 and libwxgtk2.8-0)
  GTK 2.16
  libc6 version 2.8
  libstdc++6-4.3

To download wxGTX, see http://wxwidgets.org/download (pre-built packages are
available for Debian and Ubuntu).

If you wish to compile and run C++ code generated by Perfect Developer then we
recommend using a version of gcc that is recent (e.g. 4.3) and certainly no
older than 3.3.1. Some earlier versions are known to compile Perfect Developer
generated code incorrectly.

If you wish to compile and run Java code generated by Perfect Developer, you
will need to download and install the Java Development Kit version 1.5 or
later (including any version 1.6.x) from http://java.sun.com.

If you wish to compile and run C# code generated by Perfect Developer, you
will need an implementation of the Common Language Runtime, C# compiler, and
.NET Framework version 2.0 or later, such as Mono. We have not tested Perfect
Developer with Mono, however the demands made by Perfect Deveoper are modest
so we do not forsee any particular problems. If you do try out Perfect
Developer with Mono, please report your experiences to us.


3. REMOVAL OF OLD VERSIONS
--------------------------
We recommend you remove all previous versions of Perfect Developer prior to
installing a new version. Remember to save any of your own files that are in
the relevant directories first!

To remove Perfect Developer 3.x, 4.x or 2.10.02 and later, remove subtree
/opt/escher, and remove files /etc/opt/escher/perfectdeveloper.conf and
~/escher/perfectdeveloper.conf.

To remove an installation of Perfect Developer version 2.10 alpha that was
installed from a .tar.gz file, delete the following files and directories:

 /usr/bin/PDTool
 /usr/bin/PerfectDeveloper
 /usr/share/PerfectDeveloper/
 /usr/share/PerfectDeveloper/
 /usr/doc/PerfectDeveloper/
 /etc/PerfectDeveloper.conf
 ~/.PerfectDeveloper

To remove an installation of Perfect Developer 2.0 that was installed from the
.rpm file, use rpm to uninstall it and then delete the file
'~/.PerfectDeveloper'.


4. INSTALLATION
---------------
To install Perfect Developer 4.10, run the command:

 tar -z -P -xf /media/cdrom/linux/perfectdeveloper-4.10.tgz

The above command assumes you are installing from a CDROM that is accessed
as /media/cdrom. If you are installing from a download, substitute the
appropriate path. The filename may differ slightly depending on the edition
and version of Perfect Developer.


5. KNOWN LIMITATIONS
--------------------

(a) Clicking on error messages

The User Guide states that when there are error or warning messages in the
results window of the Project Manager, you can double-click on a message to
open the corresponding source file at the error location, or right-click on a
message to display a menu of actions relating to the message. Under Linux,
double-clicking on a message does nothing. To pop up the menu of actions, you
need to highlight some text within the message first, then right-click on the
highlighted text.

(b) Opening User Guide and Language Reference from the Project Manager

In order to open the User Guide and Language Reference Manual directly from
the Project Manager 'Help' menu or toolbar buttons, the correct entries must
be set up in the mime-types and mailcap files. If you find that clicking on
the documentation icons in the Project Manager does not result in the
documentation being displayed in a browser window, check the following:

- File /etc/mime.types contains the line:

  text/html html htm

- File /etc/mailcap contains a suitable line for opening text/html files, such
as:

  text/html; firefox %s; test=test -n "$DISPLAY"

- If there is more than one line in /etc/mailcap relating to text/html files,
either the line you wish Perfect Developer to use is the last such line, or
the other lines are disabled in graphics mode with a test clause such as:

  test=test -z "$DISPLAY"

For example, the /etc/mailcap file for SuSE Linux 8.2 contains the following
line for text/html files:

  text/html; lynx -dump %s; copiousoutput; nametemplate=%s.html

This line should be replaced by the following 2 lines:

  text/html; lynx -dump %s; copiousoutput; nametemplate=%s.html; test=test -z "$DISPLAY"
  text/html; firefox "%s"; test=test -n "$DISPLAY"

You can replace 'firefox' by your preferred browser command. Changes made to
mailcap will not take effect until you restart the Project Manager.


6. FILES INSTALLED
------------------
'/opt/escher/perfectdeveloper/bin/perfectdeveloper' - executable Project
Manager.

'/opt/escher/perfectdeveloper/bin/pdtool' - executable compiler/verifier.
Normally invoked via the Project Manager, but you can invoke it directly from
a terminal or editor if you wish (see the User Guide for command line parameters).

'/opt/escher/perfectdeveloper/builtin/* - files needed by pdtool.

'/opt/escher/perfectdeveloper/doc/*' - documentation (htm, gif, jpg and rtf
files in several subdirectories).

'/opt/escher/perfectdeveloper/editorcustomization/*' - editor customization
files for Kate, Vim and XEmacs. See the Readme files in the corresponding
subdirectories for more information.

'/opt/escher/perfectdeveloper/java/PerfectRuntime.jar' - run-time library class
archive for Java code generated by Perfect Developer.

'/opt/escher/perfectdeveloper/java/PerfectRuntimeD.jar' - debug version of the
Java runtime library.

'/opt/escher/perfectdeveloper/csharp/PerfectRuntime.dll' - C# runtime library.

'/opt/escher/perfectdeveloper/include/*' - include files for C++ code generated
by Perfect Developer.

'/opt/escher/perfectdeveloper/lib/libperfectruntime.a' - runtime library for
C++ code generated by Perfect Developer.

'/opt/escher/perfectdeveloper/lib/libperfectruntime-debug.a' - runtime library
for C++ code generated by Perfect Developer (debug version).

'/opt/escher/perfectdeveloper/libsrc/*' - source files for the C++ runtime
library.

'/opt/escher/perfectdeveloper/examples/*' - examples (in several
subdirectories).

'/etc/opt/escher/perfectdeveloper.conf' - global configuration file. Perfect
Developer never writes to this file, so if you edit it your changes will be
retained unless you re-install the product. It includes the paths to various
files needed by Perfect Developer. If the Project Manager reports that it is
unable to find a file, check that the setting in
'/etc/opt/escher/perfectdeveloper.conf' is correct.

'~/.escher/perfectdeveloper.conf' - local configuration file, created and
updated by the Project Manager. Settings in this file override those in
'/etc/opt/escher/perfectdeveloper.conf'.


Escher Technologies Ltd, 09 March 2010.
