[m-rev.] for review: document workaround for bug #303

Julien Fischer jfischer at opturion.com
Fri Nov 22 17:25:17 AEDT 2013


For review by anyone.

For the 13.05 release I intend to simply document this issue.  In the 
longer term we should:

(1) not generate such enourmous Java class names
(2) use extended length paths on Windows where possible

Branches: 13.05, master

--------------------

Document workaround for bug #303.

README.Java:
     Document the workaround for bug #303.

README.MinGW:
     Wrap a couple of overlong lines.

Julien.

diff --git a/README.Java b/README.Java
index ac1ec51..72d68ec 100644
--- a/README.Java
+++ b/README.Java
@@ -95,6 +95,23 @@ Java compiler, but we haven't tried that yet.

  -----------------------------------------------------------------------------

+BUILDING THE JAVA GRADE ON WINDOWS
+
+When building the Java grade on Windows it sometimes possible for the fully
+qualified names of some generated files to exceed the maximum path length.
+If this occurs the Mercury compiler will abort with a message like:
+
+   Uncaught Mercury exception:
+   Software Error: parse_tree.module_cmds: predicate \
+   `parse_tree.module_cmds.list_class_files_for_jar'/6: \
+   Unexpected: io.file_type failed: No such file or directory
+
+In this case all that can (currently) be done is to reduce the length of the
+build path, for example by shifting the build directory closer to the root of
+the file system.
+
+-----------------------------------------------------------------------------
+
  BUILDING THE MERCURY COMPILER IN THE JAVA GRADE

  Building the Mercury compiler and other related tools in the Java grade
diff --git a/README.MinGW b/README.MinGW
index 6ae0beb..6c4e39d 100644
--- a/README.MinGW
+++ b/README.MinGW
@@ -10,13 +10,13 @@ Using the MinGW port of GCC you can build a Mercury compiler that can generate
  executables that will run natively on Windows without the need for a support
  environment like Cygwin.  Using the standard MinGW version of GCC will result
  in a Mercury compiler that generates 32-bit executables.  To build a Mercury
-compiler that generates 64-bit executables for Windows you will need to
-use the MinGW64 port of GCC.
+compiler that generates 64-bit executables for Windows you will need to use the
+MinGW64 port of GCC.

  NOTE: a Unix like environment is required to build and install the Mercury
-compiler.  MSYS or Cygwin can be used for this purpose.  A Unix like environment
-is only required for installing Mercury, you do *not* require one to use
-Mercury once it is installed.
+compiler.  MSYS or Cygwin can be used for this purpose.  A Unix like
+environment is only required for installing Mercury, you do *not* require one
+to use Mercury once it is installed.

  -----------------------------------------------------------------------------




More information about the reviews mailing list