So you think you have found a bug and would like to report the problem? Before reporting a bug please ensure you have applied all applicable updates to your build environment and also search the MinGW archives and issues ticket system, to ensure the bug has not already been reported, or if a temporary workaround has been suggested.
To ensure that your report will be given the utmost attention, please read and follow the guidelines below. These are provided for your benefit, as non-compliance may result in rejection of your bug report. Although they apply, in this specific context, to MinGW, these recommendations are typical of any bug reporting process.
For general guidance on How to Report Bugs Effectively, you are encouraged to read this treatise by Simon Tatham. Do note, however, that to report MinGW bugs, you should use the reporting facilities documented below; do not report MinGW bugs to Simon -- he is unlikely to be interested.
- Host Operating System Information and Version
Please specify which version of Windows you are using: Windows 95, 98, ME, NT, 2000, XP, Vista or the flavor of your *nix if you are using MinGW in a cross-compiler situation.
- GCC Version
The GCC compiler version can be determined by running the following command:
The output will contain the path of the 'specs' file, the configuration line used to compile GCC, and the version of GCC. Please post the information in full, (i.e. copy-and-paste it), and do not trim or exclude any part of it.
- Binutils Version
The Binutils linker version can be determined by running the following command:
The output will indicate the version, and just like for GCC, please post the information in full, (i.e. copy-and-paste it), and do not trim or exclude any part of it.
- MinGW Version
The MinGW Version is the version of the mingw-runtime or w32api that is installed. You can look at the mingw/include/_mingw.h file for this version number.
- Build Environment
Your environment will probably not be the same as our defaults. Please tell us whether you are using a Microsoft shell, (cmd.exe or command.com), an MSYS shell, a Cygwin shell, or if you are running a cross-compiler environment. If you are using an MSYS shell, please also include the version number, as determined by running the command:
and, if you are using RXVT as the container in which to run the MSYS shell, then please confirm that the bug is also present if you run the shell in a native MS-Windows console, (i.e. by starting MSYS with the -norxvt option, or by moving rxvt.exe out of the way, before starting MSYS).
- Minimal Self-Contained Test Case
A simple test case is the only way to reproduce a bug, if code doesn't behave as expected or won't compile. Trim your source code to the minimal set of statements needed to demonstrate the bug, and eliminate dependencies on headers, other than those provided as components of a standard MinGW installation; (if you cannot eliminate such external header dependencies, then please consider that your bug report should, more than likely, be directed to the project providing those headers).
Unless you are reporting a failure of MinGW to compile code, which you believe to be valid, the test case should be compilable, directly from the command line, using only tools which are provided by the MinGW Project. It should be reduced to a single compilation unit. Do not post code that has to be modified, in order to demonstrate the bug. Do not post project files requiring the use of any IDE, (Integrated Development Environment), even if that IDE relies on MinGW to furnish its compiler suite.
If you are reporting failure to compile code which you believe to be valid, then please double check against the relevant standards, to ensure that your code really is valid; it is, alas, all too common to see such reports, where the test case is definitively invalid.
- Documentation or References
If the bug is related to a missing w32api or mingw-runtime feature, please give us links to references and/or documentation which will facilitate the implementation of the feature. A good source of documentation is MSDN (Microsoft Developer Network). Conversely, information abstracted from any Microsoft SDK, or even from a code base published under the GNU General Public Licences, (GPL or LGPL), is not a good source; the licences governing the redistribution of such information are not compatible with MinGW's public domain paradigm, and such information is, therefore, not accepted as a basis for implementation of MinGW features.
Please also include, in your post, the version of your mingw-runtime, (found in header file _mingw.h), and of w32api, (found in header file w32api.h).
- Any Other Detailed Information
Any other detailed information pertinent to your experience with the bug will always be appreciated and may be helpful.
Generic Package Bugs
Under certain circumstances you may find a bug in a base package, such as gcc, that is platform independent (i.e. it can be reproduced on another platform other than a Windows operating system). In this situation please generate a simple test case that illustrates the bug using only standard headers and libraries and submit the bug report, following the procedure detailed above, prior to submitting it to the primary maintainers.
After receiving verification from a MinGW developer that the bug is indeed platform independent, please use the appropriate bug tracker or mailing list to inform the package maintainers. It is in everyone's best interest that you try to use the package maintainers' standard methods and procedures for bug submission. Avoid submitting bugs specific to a port or application that is not a part of the primary package, to any mailing list other than the MinGW-Users list. If you are uncertain about bug submission to another package maintainer, please seek assistance on the MinGW-Users list.
Posting a Bug Report
Please post bug reports using the MinGW Issues ticket system, (hosted within SourceForge's bug reporting system). You will need a SourceForge login account to post; if you don't have one then click here to register for one.
Please refrain from posting bug reports to the mailing list; we tend to lose track of bug reports posted there! If you have a specific question regarding making the bug report, then please use the MinGW-Users mailing list to ask.
In Case of Difficulty
If you have difficulty in understanding, or cannot furnish information to satisfy the above requirements, please ask for help on the MinGW-Users mailing list.