The épinards à la crème release, patch level 1.
MPFR 4.1.1 requires GMP 5.0 or higher.
The MPFR 4.1.1 source can be downloaded in the following archive formats:
Each tarball is signed by Vincent Lefèvre. This can be verified using the DSA key ID 5831D11A0D4DB02A; this key can be retrieved with:
gpg --recv-keys 5831D11A0D4DB02A
or by downloading it from http://www.vinc17.net/pgp.html. The key fingerprint is:
A534 BE3F 83E2 41D9 1828 0AEB 5831 D11A 0D4D B02A
The signatures can be verified with:
gpg --verify file.asc
You should check that the key fingerprint matches.
MPFR is also available via third-party packages and ports.
The bugs listed below have been fixed (latest update: 2022-11-23). The patches are distributed under the same license as this version of MPFR, that is, the GNU Lesser General Public License (GNU Lesser GPL), version 3 or later.
The following instructions are for Linux and may be similar for other operating systems. You can apply the patches in several ways:
patch -N -Z -p1 < path_to_patches_filefrom the source directory. The -N option allows the patch command to ignore patches already applied. Because make's rebuild decisions are based on timestamps, the -Z option is highly recommended: it sets the modification time of the patched files from timestamps given in the patch file, thus avoiding unnecessary rebuilds that could need some development utilities (such as autoconf); for the special PATCHES file, this may generate a
Not setting timewarning, which you can safely ignore. If the -Z option is not available, you can also avoid the unnecessary rebuilds by using the --disable-maintainer-mode configure option later. Under Microsoft Windows, in addition to the above options, you may need the --binary option (this depends whether the end-of-lines have been converted when you downloaded the patch file). Also note that the --dry-run option does not work if the cumulative patch has some file listed several times.
With the first two ways, the PATCHES file is modified, so that one can know what patches have been applied, using the mpfr_get_patches
function. Moreover a suffix is added to the version string, but note that for practical reasons, not all the files where the version appears are patched; thus one can also track applied patches with the MPFR_VERSION_STRING
macro (header) and the mpfr_get_version
function (library). However, if some patches are not applied or if patches are applied in a different order, then the patch command will fail to update some chunks, so that the suffix is not always reliable for patches.
Note: These patches are in unified diff format and some vendors' patch commands cannot deal with them; in this case, please use GNU patch (it may already be installed on your system, e.g. as /usr/local/bin/patch or gpatch).
Fixed bugs, with patches:
mpfr_custom_get_kind
macro with a const-qualified argument may warn or fail, depending on the compiler and the compile options. This regression is fixed by the mpfr_custom_get_kind patch (which also updates the testsuite to detect this issue).See also the BUGS file. The Reporting Bugs section of the MPFR manual gives details on how to report new bugs.
MPFR 4.1.1 has been successfully compiled and checked on the following platforms: