Information on applying patches is provided below. You can apply the patches individually, or apply this composite patch which contains all the patches up through and including item 32 (3-June-2011). The composite patch should apply cleanly against the OOMMF 1.2a3 "source-only" distribution; it may also be applied against the "source + Windows executables" distributions, but will yield one irrelevant failed patch hunk. (If you get a message saying "Reversed (or previously applied) patch detected! Assume -R?", reply "no" and do not apply the hunk.) After applying the composite patch, you should rebuild OOMMF. Note that there are no patches for resolving items 1, 4, 14, 15, 22, 23 and 27.
NOTE: Building OOMMF 1.2a3 sources against Tcl/Tk 8.5.x or higher requires that patch 31 be applied. Building against Tcl/Tk 8.5.10 or higher requires additionally patch 32.
See also the troubleshooting page in the OOMMF User's Guide for additional, mostly system related, issues.
Boxsi 1.2.0.3 error : can't read "nice" : no such variableSolution: This is a bug in Boxsi. To correct, replace the file oommf/app/oxs/boxsi.tcl with this replacement file, or else apply this patch. (07-Nov-2002)
oommf/pkg/nb/evoc.cc: In function `void Oc_Times(Oc_TimeVal&, Oc_TimeVal&)': oommf/pkg/nb/evoc.cc:529: `CLK_TCK' undeclared (first use this function)Solution: This results from a combination of a bug in OOMMF and a backwards incompatibility in gcc. To fix, replace oommf/pkg/nb/evoc.cc with this replacement file, or else apply this patch. (19-Nov-2002)
$config SetValue program_compiler_c++_option_opt {format "-O3 -ffast-math -fomit-frame-pointer"}change this to
$config SetValue program_compiler_c++_option_opt {format "-O3 -ffast-math"}Then back in the base oommf directory run
./oommf.tcl pimake distcleanto rebuild OOMMF from scratch. (19-Nov-2002)
./oommf.tcl pimake
Solution: This is caused by a naming conflict between Oxs and system header files. To fix, apply this patch. (09-Dec-2002)cxx: Warning: oommf/app/oxs/ext/atlasscalarfield.h, line 26: too few arguments in macro invocation OxsASFSpecifiedValue() : isset(0), value(0.) {} ----------------------------------^ cxx: Error: oommf/app/oxs/ext/atlasscalarfield.h, line 26: name of member or base class is missing OxsASFSpecifiedValue() : isset(0), value(0.) {} ---------------------------^
tclsh oommf.tcl pimakefrom the top-level OOMMF root directory to recompile and link Oxs. This bug affects the C++ code, so rebuilding is required. (15-Mar-2003)
proc MyField {x y z} { return [list $x $y $z] }with
proc MyField {x y z} { return [list [expr {1*$x}] [expr {1*$y}] [expr {1*$z}]] }The alternative is to replace oommf/app/oxs/base/util.cc with this replacement file, or else apply this patch. Since this affects the C++ code, rebuilding OOMMF is required. (22-Mar-2003)
couldn't open "C:/oxs-tdm227-1320-0.omf": permission deniedThe actual name of the file will vary.
# $config SetValue path_directory_temporary {C:\temp}The leading '#' makes this line an unprocessed comment. Remove the '#', and change the directory from C:\temp to a directory where you have write access. (04-Jun-2003)
Schedule "Oxs_EulerEvolve::Total field" archive Stage 1(Thanks to Ming Yan for uncovering this bug.)
Unknown feature 'TCL_PREFIX' in configuration ...or a similar message involving 'TK_PREFIX'.
mmLaunch 1.2.0.3 Oc_Main error:(Thanks to Feodor Ogrin for reporting this bug.)
can't read "argv0": no such variable
invalid command name "Vf_SvfIsType"(Reported by K. Huska.)
couldn't execute "lib": no such file or directorySolution: Your compiler installation is missing the "lib" librarian program. However, lib is just a wrapper around link /lib, so this problem is easily fixed by appropriate adjustments to the cache file. Either replace oommf/config/cache/wintel.tcl with this replacement file, or else apply this patch. See also item 25 and item 26. (22-Oct-2004)
can't read "DBGX": no such variableIn particular, this happens on AIX systems. (Reported by C. Bayer.)
error while loading shared libraries: libtk8.4.so: cannot open shared object file: No such file or directorySolution: This typically happens because the libtk8.x.so (and libtcl8.x.so) files are installed in a directory not included in the ld.so runtime linker/loader search path. One way to fix this is to add that directory (say /usr/local/lib) to the LD_LIBRARY_PATH environment variable. For example, add
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/libto your ~/.bashrc file (bash shell users) or
setenv LD_LIBRARY_PATH ${LD_LIBRARY_PATH}:/usr/local/libto your ~/.cshrc file (csh or tcsh shell users). Another option is to modify the ld.so cache; see the ld.so and ldconfig man pages for details. (6-Jun-2005)
http://sourceforge.net/support/tracker.php?aid=1071807To fix, upgrade Tcl/Tk to version 8.4.9 or later. (9-Mar-2006)
http://sourceforge.net/support/tracker.php?aid=1602208for details.
omfsh.exe has encountered a problem and needs to close. We are sorry for the inconvenience.and no "localhost" button appears in mmLaunch.
Tk version mismatch: /usr/lib/tkConfig.sh from 8.5 Running Tk 8.5.5Solution: Apply this patch. (11-May-2011)
wrong # args: should be "puts ?-nonewline? ?channelId? string"Thanks to R.A. van Mourik for reporting this problem.
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 < patchfilewhere 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 of patch for Windows is available as part of the GnuWin32 project. (Unfortunately, there are some issues on Windows 7.) The GnuWin32 patch utility does not install by default into a directory in the executable path, and unless told otherwise expects patch files to use Windows/DOS-style line endings. So, with GnuWin32, the patch command should look like
"C:\Program Files\GnuWin32\bin\patch.exe" --binary -p1 <patchfile
(On 64-bit versions of Windows, GnuWin32 installs by default under "C:\Program Files (x86)".) 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, first edit the
oommf/config/cache/platform.tcl file, where platform is
the name of your platform (e.g., wintel), to select the compiler you
want to use. For example, in the Windows binary releases of OOMMF
1.2a3, the oommf/config/cache/wintel.tcl file is configured to use the
Intel C++ compiler, icl. To use the Microsoft C++ compiler instead,
change
# Microsoft Visual C++to
#
#$config SetValue program_compiler_c++ {cl /nologo /c /GX /GR}
#
# Intel C++
$config SetValue program_compiler_c++ {icl /nologo /c /GX /GR}
# Microsoft Visual C++(With regards to this particular example, see Item 20 above.)
#
$config SetValue program_compiler_c++ {cl /nologo /c /GX /GR}
#
# Intel C++
#$config SetValue program_compiler_c++ {icl /nologo /c /GX /GR}
Once the appropriate compiler is specified, cd to the top-level OOMMF directory (i.e., the directory named "oommf"), and issue the commands:
tclsh oommf.tcl pimake distcleanThe 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.
tclsh oommf.tcl pimake
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.
Back to the OOMMF 1.2 software page, or
The National Institute of Standards and Technology (NIST) is an agency of the U.S. Commerce Department.
Privacy policy / security notice / accessibility statement /
Disclaimer /
Freedom of Information Act (FOIA) /
No Fear Act Policy /
ExpectMore.gov (performance of federal programs) /
NIST Information Quality Standards /
Environmental Policy Statement
Date created: November 7, 2002 | Last updated: June 3, 2011 Contact: Webmaster