Nokia Networks Home

Nokia nmake Product Builder

Quick Links

Related Products

Release lu3.5 Patch 1

Release Date: Dec 2002

Before installing this patch you must already have nmake release lu3.5 installed. If you already have a valid license for lu3.5 you do not need a new license to use this patch. For any license requests please contact the Bell Labs Licensing Team.

Download Software

lu3.5 Patch 1 Notes

Table of Contents


This patch is to be applied to an existing nmake lu3.5 installation. All current lu3.5 nmake users are entitled to download and install this patch -- a new license is not needed to use the patch. If you do not have version lu3.5 installed then you should not install this patch.

This patch will replace several files in your lu3.5 node (details are below). Any file to be replaced will first be backed up so it may be recovered if necessary. The install script also provides a rollback feature to uninstall the patch and return the lu3.5 node to its previous state.

All actions performed by the install script are logged into a file called install.log. If the install script is executed more than once each instance will be saved in the log file.


This patch contains the following components (found under the update/ subdirectory):

Plus the following patch support files:

Note: The Java compilation rules have been modified. The first time this patch is used for an incremental build on a base build from a previous nmake release, all the Java code will be recompiled to be up to date with the new rules.

The nmake -A (accept) flag may be used for this build to avoid the global recompilation of the Java code. To be safest, make sure your builds are up to date before installing this patch. After installation, build with nmake -A to update the state files. Subsequent builds may be run as usual.


The following fixes are provided in this patch:

020019 - prerequisite .jar file in vpath causes rebuild
  • Fixed unnecessary rebuilds caused by prerequisite .jar files in the VPATH. When building in a new, empty node, the dependent class files would be rebuilt although they were already up to date. This happened when using the official :JAVA: assertion. (nmake,

    The problem was caused by the expansion of the .SOURCE.class atom which contained the prerequisite .jar files. A new special atom has been introduced, .NOCROSSPRODUCT.%.pattern, which suppresses the cross product expansion of %.pattern files in the specified .SOURCE.pat2 special atom while still giving us the first occurrence of %.pattern in the viewpath.

    The following is predefined in the base rules:
    .SOURCE.class : .NOCROSSPRODUCT.%.jar
020042 - coshell server has no advantage for java package build
  • Job concurrency is now supported by Java builds using either coshell or the jobs option. Note that in this release, job concurrency cannot be used together with compiler batching (e.g. if job concurrency is in effect, maxjavac cannot be greater than 1). (
  • nmake will clean up and exit on an interrupt signal during a Java build. (
020045 - nmake clobbers makefiles
  • Fixed a problem where running clobber would delete a makefile. This would occur when a parent makefile uses :MAKE: to recurse to children makefiles. If one of the children makefiles had an error, running clobber on the parent would remove the children makefiles. (
020046 - :JAVA: eats error codes
  • There were a few cases where nmake did not recognize errors codes from javac and exit the build. This has been corrected. (
020068 - nmake creates 0 size class file when a older java file found
  • A zero sized class file is no longer created when the date stamp of a .java source file is older than the previous build. (
020070 - needs to see jdeps exit code
  • nmake now recognizes an error code from javadeps and exit when an error occurs. (

Changes in JavaDeps lu2.0.3

Note: The following changes are in the separate JavaDeps lu2.0.3 package. JavaDeps must be downloaded and installed independent of the core nmake package. The changes are listed here for convenience. For more details and to download JavaDeps see the JavaDeps page.

jdeps020001 - javadeps exception error
  • Fixed a ClassCastException in javadeps. The following type of error should no longer be encountered:
    Exception in thread "main" java.lang.ClassCastException:
        at smr.JavaDeps.DepTable.collapseVisit(
        at smr.JavaDeps.DepTable.collapseVisit(
        at smr.JavaDeps.DepTable.collapseCycles(
        at smr.JavaDeps.DepTable.dump(
        at smr.JavaDeps.JavaDeps.main(
jdeps020003 - javadeps does not exit with error code
  • Javadeps now exits with an error code if it encounters a parsing error.

Installation Instructions

We recommend installing this patch while no nmake processes are running. Use the following steps to install the patch.

  1. Change directory to the lu3.5 root directory. You should see directories bin, fun, lib, man, and share here.
    $ cd <nmake_root>
  2. Unbundle the patch package. Existing lu3.5 files will NOT be over written. A new directory named "patch01" will be created which contains the patch files.
    $ zcat <downloaded_file> | tar xvf -
  3. Change directory to the new "patch01" directory.
    $ cd patch01
  4. Execute the script. If the script finds any problems, such as you are trying to patch a non-lu3.5 release, it will exit with an error message. Otherwise you will be given a summary of what the script will do and will be asked if you would like to proceed with the installation or not.
    $ ./
    If you are happy with the summary then press 'y' and 'enter' (or 'return') to start the update. Any other key will abort the update before any changes are made.
    * Do you want to start the install? (y/n) y
    As the install script executes it will show you what files are being backed up and installed. A file named install.log will be created or appended to containing the actions taken by the installation script.

Rollback Instructions

To back-out the patch and restore the original files run the script again. If the patch has already been installed the script will ask if you would like to restore the original files or reinstall the patch. The restore option is only available after the patch has been successfully installed.

  1. Change directory to the patch root directory. You should see files and README and the directory update.
    $ cd <nmake_lu3.5_root>/patch01
  2. Execute the script. If that patch has already been installed you will be asked if you want to restore or reinstall the software. To back-out the patch chose the restore option, number 1.
    $ ./
    * You have the following options:
       1) Restore - backout the patch and restore original files.
       2) Install - attempt to install the patch again.
    Select 1 or 2 --> 1
    You will then be given a summary of the files to be restored. If you are happy with the summary then press 'y' and 'enter' (or 'return') to start the restore. Any other key will abort the restore before any changes are made.
    * Do you want to start the restore? (y/n) y
    As the script executes you will be shown what files are being restored. The install.log file will be appended with the actions taken by the restore.
Last Update: Friday,12-Aug-2016 12:11:37 EDT