Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 30 Oct 2018 05:50:50 +0000
From:      bugzilla-noreply@freebsd.org
To:        ports-bugs@FreeBSD.org
Subject:   [Bug 232802] libmpfr 4.0.1 missing required patches
Message-ID:  <bug-232802-7788@https.bugs.freebsd.org/bugzilla/>

next in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D232802

            Bug ID: 232802
           Summary: libmpfr 4.0.1 missing required patches
           Product: Ports & Packages
           Version: Latest
          Hardware: Any
                OS: Any
            Status: New
          Severity: Affects Only Me
          Priority: ---
         Component: Individual Port(s)
          Assignee: ports-bugs@FreeBSD.org
          Reporter: dclarke@blastwave.org

The mpfr project releases patches on a regular schedule and these are=20
quite important to normal function.=20

Following test code will confirm :=20

#define _XOPEN_SOURCE 600

#include <stdio.h>
#include <stdlib.h>
#include <stdint.h>
#include <gmp.h>
#include <mpfr.h>

int main (int argc, char *argv[])
{

    printf("GMP library version : %d.%d.%d\n",
            __GNU_MP_VERSION,
            __GNU_MP_VERSION_MINOR,
            __GNU_MP_VERSION_PATCHLEVEL );

    printf("MPFR library: %-12s\n", mpfr_get_version ());
    printf("MPFR header: %s (based on %d.%d.%d)\n",
            MPFR_VERSION_STRING,
            MPFR_VERSION_MAJOR,
            MPFR_VERSION_MINOR,
            MPFR_VERSION_PATCHLEVEL);

    if (mpfr_buildopt_tls_p()!=3D0)
        printf("          : compiled as thread safe using TLS\n");

    if (mpfr_buildopt_float128_p()!=3D0)=20
        printf("          : __float128 support enabled\n");

    if (mpfr_buildopt_decimal_p()!=3D0)
        printf("          : decimal float support enabled\n");

    if (mpfr_buildopt_gmpinternals_p()!=3D0)
        printf("          : compiled with GMP internals\n");

    if (mpfr_buildopt_sharedcache_p()!=3D0)
        printf("          : threads share cache per MPFR const\n");

    printf("MPFR thresholds file used at compile time : %s\n",
                                      mpfr_buildopt_tune_case ());

    return EXIT_SUCCESS;
}

Output on a system with up to date libmpfr should say :=20
c$ ./ver
GMP library version : 6.1.2
MPFR library: 4.0.1-p13=20=20=20
MPFR header: 4.0.1-p13 (based on 4.0.1)
          : compiled as thread safe using TLS
          : __float128 support enabled
MPFR thresholds file used at compile time : default
c$=20

Or perhaps :=20
n0x$ ./ver
GMP library version : 6.1.2
MPFR library: 4.0.1-p13=20=20=20
MPFR header: 4.0.1-p13 (based on 4.0.1)
MPFR thresholds file used at compile time : src/sparc64/mparam.h
n0x$=20

However FreeBSD 12.0 beta 2 reports :=20

hydra $ uname -a=20
FreeBSD hydra 12.0-BETA2 FreeBSD 12.0-BETA2 r339753 GENERIC  amd64
hydra $ ldd ver
ver:
        libgmp.so.10 =3D> /usr/local/lib/libgmp.so.10 (0x800646000)
        libmpfr.so.6 =3D> /usr/local/lib/libmpfr.so.6 (0x8006c9000)
        libc.so.7 =3D> /lib/libc.so.7 (0x800742000)
hydra $ ./ver
GMP library version : 6.1.2
MPFR library: 4.0.1=20=20=20=20=20=20=20
MPFR header: 4.0.1 (based on 4.0.1)
          : compiled as thread safe using TLS
MPFR thresholds file used at compile time : src/amd/k8/mparam.h
hydra $

Patches are trivial to apply and are available at the project site

    https://www.mpfr.org/mpfr-current/#download

See section "Bugs" there.=20

Be advised that while both gmp and mpfr are compiler and system agnostic the
gcc compiler normally needs them during bootstrap phase and thus the gcc8=20
package may also be updated but this is not strictly necessary.

--=20
You are receiving this mail because:
You are the assignee for the bug.=



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-232802-7788>