The OOMMF developers rely on reports from OOMMF users to alert them to problems with the software and its documentation, and to guide the selection and implementation of new features. See the Credits for instructions on how to contact the OOMMF developers.
The more complete your report, the fewer followup messages will be required to determine the cause of your problem. Usually when a problem arises there is an error message produced by the OOMMF software. A stack trace may be offered that reveals more detail about the error. When reporting an error, it will help the developers diagnose the problem if users cut and paste into their problem report the error message and stack trace exactly as reported by OOMMF software. In addition, please include a copy of the output generated by tclsh oommf.tcl +platform so that the OOMMF developers will know the details of your platform configuration.
Before making a report to the OOMMF developers, please check the following list of fixes for known problems:
<30654> pimake 1.x.x.x MakeRule panic: Don't know how to make '/usr/include/tcl.h'
This means the header file tcl.h is missing from your Tcl installation. Other missing header files might be tk.h from the Tk installation, or Xlib.h from an X Window System installation on Unix. In order to compile OOMMF, you need to have the development versions of Tcl, Tk, and (if needed) X installed. The way to achieve that is platform-dependent. On Windows you do not need an X installation, but when you install Tcl/Tk be sure to request a ``full'' installation, or one with ``header and library files''. On Linux, be sure to install developer packages (for example, the XFree86-devel RPM) as well as user packages. Other platforms are unlikely to have this problem. In the case of Xlib.h, it is also possible that the tkConfig.sh file has an incorrect entry for TK_XINCLUDES. A workaround for this is to add the following line to your oommf/config/cache/platform file:
Adjust the include directory as appropriate for your system.$config SetValue TK_XINCLUDES "-I/usr/X11R6/include"
Parts of OOMMF are written in C++, and exceptions have been part of the C++ language for many years. If your compiler does not support them, it is time to upgrade to one that does. OOMMF 1.2 requires a compiler capable of compiling source code which uses C++ exceptions.
This is known to occur on RedHat 5.2 systems. The auto_ptr definition in the system STL header file memory (located on RedHat 5.2 systems in the directory /usr/include/g++) is disabled by two #if statements. One solution is to edit this file to turn off the #if checks. If you do this, you will also have to fix two small typos in the definition of the release() member function.
$config SetValue program_compiler_c++_system_include_path \ [list /usr/include /usr/local/include]
ANSI C++ forbids declaration `XSetTransientForHint' with no type
On many Solaris systems, the header files for the X Window System are not ANSI compliant, and gcc complains about that. To work around this problem, edit the file oommf/config/cache/solaris.tcl to add the option -fpermissive to the gcc command line.
Error launching mmLaunch version 1.x.x.x: couldn't execute "...\omfsh.exe": invalid argument
This cryptic message most likely means that the pre-compiled OOMMF binaries which were downloaded are for a different version of Tcl/Tk than is installed on your system. Download OOMMF again, taking care this time to retrieve the binaries that match the release of Tcl/Tk you have installed.
Error in startup script: Neither Omf_export nor Omf_export_list set in
The file oommf/ext/net/omfExport.tcl may be missing from your OOMMF installation. If necessary, download and install OOMMF again.
couldn't open socket: no buffer space availableOOMMF uses network sockets for communications between its various components. On Windows 9X, the socket resources are limited, and most OOMMF applications use several sockets. The only workaround is to close unneeded OOMMF applications, and any other applications that may be using network resources. The system command line utility netstat can be used to monitor network communications. This problem does not arise on Windows NT or Unix systems.
This is caused by broken tclConfig.sh and tkConfig.sh files in the Cygwin distribution. You may ignore the warning, or edit the tclConfig.sh and tkConfig.sh files to change the TCL_PATCH_LEVEL and TK_PATCH_LEVEL values from ``p2'' to ``.4''. However, the best option is to upgrade Tcl/Tk. The stock Tcl/Tk 8.4.1 (and presumably later) release works in Cygwin.Tcl version mismatch: C:/Cygwin/lib/tclConfig.sh from 8.0p2 Running Tcl 8.0.4
Are you using mmGraph to monitor a long-running simulation? All data sent to mmGraph is kept in memory by default. See the mmGraph documentation for information on how to manage this problem.