OOMMF Home next up previous contents index
Next: Bibliography Up: OOMMF Documentation Previous: Vector field format (OVF)


Troubleshooting

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:

  1. When compiling, there is an error something like:
    <30654> pimake 1.1.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 Windows installation on Unix. In order to compile OOMMF, you need to have the development versions of Tcl, Tk, and (if needed) X Windows installed. The way to achieve that is platform-dependent. On Windows you do not need an X Windows installation, and 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, RPMs) as well as user packages. Other platforms are unlikely to have this problem.

  2. When compiling the file ext/oc/oc.cc, there is an error indicating that exceptions are not supported.

    Parts of OOMMF are written in C++, and exceptions have been part of the C++ langauge for many years. If your compiler does not support them, it is time to upgrade to one that does. OOMMF 1.2 will require a compiler capable of compiling source code which uses C++ exceptions.

    OOMMF 1.1 provides a workaround to support those old compilers incapable of compiling exceptions. Edit the configuration file for your platform, config/cache/platform.tcl. Add the following line somewhere in the ADVANCED CONFIGURATION section of that file:

    $config SetValue program_compiler_c++_property_no_exceptions 1
    

    After making this change you will need to re-build OOMMFfrom the very beginning. To reset for a completely fresh re-build of OOMMF, be sure to build the target distclean first.

    tclsh oommf.tcl pimake distclean
    

  3. On Solaris, gcc reports many errors like
    ANSI C++ forbids declaration `XSetTransientForHint' with no type

    On many Solaris systems, the header files for the X Windows system are not ANSI compliant, and gcc complains about that. To work around this problem, edit the file config/cache/solaris.tcl to add the option -fpermissive to the gcc command line.

  4. On Windows, when first starting oommf.tcl, there is an error:
    Error launching mmLaunch version 1.1.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 which match the release of Tcl/Tk you have installed.

  5. When first starting oommf.tcl, there is an error:
    Error in startup script: Neither Omf_export nor Omf_export_list set in

    The file ext/net/omfExport.tcl may be missing from your OOMMF installation. If necessary, download and install OOMMF again.

  6. I ran out of memory!

    Are you using mmGraph to monitor a long-running simulation? All data sent to mmGraph is kept in memory by default. See the documentation for mmGraph about how to manage this problem.


OOMMF Home next up previous Contents index

OOMMF Documentation Team
January 15, 2004