Bug Report

From Crypto++ Wiki
Jump to: navigation, search

Crypto++ uses the issue tracker at Wei Dai's GitHub to track bugs and feature requests. It is located at Crypto++ Issues.

If you have a feature request, then please check the Category:Patch page. There may be a patch available for the functionality. For example, the patch page already includes patches for cross-compiling on mobile platforms, reading and writing PEM encoded keys, Base64URLEncoder and Base64URLDecoder and Gzip and filetimes, filenames and comments.

Where to File

If you are experiencing trouble or a bug, then you should discuss them on the Crypto++ User Group and then file a bug report. Discussing them on the User Group helps ensure the issue comes to the attention of the right people. Otherwise, the issue may not make someone's radar.

In the distant past, the web site stated to send bug reports directly to Wei Dai. You should avoid emailing Wei directly because he is busy with his other duties and does not have unlimited cycles to provide to Crypto++.

What to file

When filing a bug report, please provide the following information.

  • a minimal program with a main() function, that reproduces the problem
  • the compiler and linker invocation
  • the exact error message
  • a stack trace with symbols
  • version of Crypto++, operating system, and compiler

Exact error message

The exact error message is important. Please don't say ...it fails to compile or ...there a compile error without telling us what the message is.

Stack Trace

Please copy from the call stack window of your debugger, or use the bt full command in gdb.

If the crash is reproducible and you have the sources, consider adding -ggdb to CXXFLAGS before submitting a report.

Operating System

Please provide the output of uname -a command if using Unix or Linux.

If you are using MinGW or CygWin (or some other tools-on-platform combination), be sure to provide the details.


Please provide the compiler maker and version.

For example, Visual C++ 6.0, 7.0, 7.1, or 8.0:

  • 7.0: Visual Studio .NET
  • 7.1: Visual Studio 2003
  • 8.0: Visual Studio 2005
  • 9.0: Visual Studio 2008

If using GCC, Clang or ICC, then the output of gcc -v. Sometimes the output of g++ -dummachine and g++ --version is needed.


If there is a platform or feature detection issue and you are using a GCC compatible compiler, then please include:

g++ -x c++ -dM -march=native -E - < /dev/null | sort | uniq