OOMMF Known Problems, OOMMF 1.1b2


  1. Problem: The command line utility avf2ppm reports
    Missing required argument: file
    and refuses to operate when using the -ipat option unless a non "-ipat" file is also given.
    Solution: This is actually the documented behavior, making this a misfeature rather than a bug. One workaround is pass an empty string as a dummy non "-ipat" filename. Alternatively, you can replace oommf/app/mmdisp/scripts/avf2ppm.tcl with this file, or else apply this patch. (2004-Mar-17)

  2. Problem: The command line utility any2ppm, when reading from stdin or (equivalently) when used as a filter, fails with the message
    Processing input from stdin
    ERROR: couldn't recognize image data
    even though the image is of a type (e.g., BMP) that any2ppm can otherwise interpret.
    Solution: The most comprehensive solution is to install the tkimg Tcl/Tk extension. The tkimg extension is built into the ActiveTcl binary distributions of Tcl/Tk. In addition to fixing this problem, the tkimg extension provides support for many additional image formats. However, if you don't need additional image format support, you can replace oommf/app/mmsolve/any2ppm.tcl with this file, or else apply this patch. (2004-Mar-20)

  3. Problem: The command line utility any2ppm doesn't read PPM P3 (text) format image files, and also fails to read some files in the BMP format. In the latter case, the error message reads
    ERROR: Input error during read of Microsoft .bmp file sample.bmp bitmap: Illegal palette index
    Solution: As with item 2, the most comprehensive solution is to install the tkimg Tcl/Tk extension. Alternatively, you can replace oommf/ext/if/if.cc with this file, or else apply this patch. This bug affects the C++ code, so rebuilding OOMMF is required. (2004-Mar-20)

  4. Problem: When oommf/config/options is modified to launch Internet Explorer instead of mmHelp from OOMMF application Help menus, a "Cannot find file" error occurs.
    Solution: Some versions of Internet Explorer do not parse escaped colons in URL's. To fix, either replace oommf/ext/oc/url.tcl with this file, or else apply this patch. (2004-Apr-05)

  5. Problem: Memory usage by mmDisp grows slowly over time, as a function of the number of frames displayed.
    Solution: This is due to a bug in Tk's place geometry manager. As a workaround, either replace oommf/ext/ow/entryscale.tcl with this
    replacement file, or else apply this patch. (2004-Sep-15)

  6. Problem: On some Linux systems, memory usage by X grows dramatically as mmDisp displays more and more frames. (Thanks to M. Al-Saqer for spotting and helping to resolve this problem.)
    Solution: This appears to be a memory leak in X involving cursor handling. As a workaround, replace oommf/pkg/ow/procs.tcl with this
    replacement file, or else apply this patch. If you are replacing the file, please note that there are files named "procs.tcl" in several directories. These are completely distinct files; replace procs.tcl in directory oommf/pkg/ow/ only and exactly. (2004-Sep-27)

Notes on patch files:
A number of patch files are provided above for fixing problems. After downloading a patch, exit all OOMMF applications and cd to the top-level OOMMF directory (i.e., the directory named "oommf"). Then run the command

patch  -p1  < patchfile
where patchfile is the name of patch file. If there are any patch "rejects", then some hand-editing may be necessary, but this shouldn't happen if you are patching against an unmodified OOMMF distribution.

The command `patch' is a Unix text processing utility. A version for Windows can be downloaded from the GnuWin32 project.

If the patch only affects Tcl code (files ending in the .tcl extension), then after applying the patch you can restart OOMMF and be good to go. If the patch affects the C++ source (.cc or .h files), then follow the rebuilding instructions in the next section.

Rebuilding OOMMF:
Any file replacement or patch involving OOMMF C++ source (files with the .cc or .h extension) will necessitate a recompile and relink of OOMMF. Of course, this requires a suitable compiler. To rebuild, cd to the top-level OOMMF directory (i.e., the directory named "oommf"), and issue the commands:

tclsh  oommf.tcl  pimake  distclean
tclsh  oommf.tcl  pimake
The first command ("distclean") deletes all binary object files and executables, so the second command can rebuild from scratch. This is necessary if you were using an OOMMF binary release, because it is unlikely that the release binaries are compatible with your compiler/linker. If you built from source, then you should be able to bypass the "distclean" step. Additional instructions can be found in the installation section of the OOMMF User's Guide.


DISCLAIMER: This software was developed at the National Institute of Standards and Technology by employees of the Federal Government in the course of their official duties. Pursuant to Title 17 Section 105 of the United States Code this software is not subject to copyright protection and is in the public domain.

OOMMF is an experimental system. NIST assumes no responsibility whatsoever for its use by other parties, and makes no guarantees, expressed or implied, about its quality, reliability, or any other characteristic.

We would appreciate acknowledgment if the software is used.

Commercial equipment and software referred to on these pages are identified for informational purposes only, and does not imply recommendation of or endorsement by the National Institute of Standards and Technology, nor does it imply that the products so identified are necessarily the best available for the purpose.


Back to the OOMMF 1.1 software page, or OOMMF project at NIST

michael.donahue@nist.gov
27-Sep-2004