GMP failure

Vincent Lefevre vincent at vinc17.net
Mon Sep 30 02:08:53 CEST 2013


On 2013-09-29 20:51:06 +0200, Torbjorn Granlund wrote:
> Yuri Matiyasevich <yumat at pdmi.ras.ru> writes:
> 
>   During installation of  mpfr I got:
>   
>   checking if gmp.h version and libgmp version are the same... (5.1.2/5.0.2)
> 
> I am sure the MPFR people can help you with this.  Why don't you ask
> them?
> 
> The GMP people cannot provide support for packages that use GMP.

Note that if the user used something like "./configure" for MPFR,
a problem like above is in general not related to MPFR at all: the
MPFR configure script just tries to compile and run a small program
using GMP and check the version. If there's an error, then building
and running any program using GMP will likely fail in the same way.
This means that GMP hasn't been installed correctly or there's
something broken in the linker configuration.

The user could check directly with:

#include <stdio.h>
#include <string.h>
#include <gmp.h>

int main (void)
{
  char buffer[100];
  sprintf (buffer, "%d.%d.%d", __GNU_MP_VERSION, __GNU_MP_VERSION_MINOR,
           __GNU_MP_VERSION_PATCHLEVEL);
  printf ("(%s/%s) ", buffer, gmp_version);
  fflush (stdout);
  /* Also put information in config.log (stderr) */
  fprintf (stderr, "gmp.h: %s / libgmp: %s\n", buffer, gmp_version);
  if (strcmp (buffer, gmp_version) == 0)
    return 0;
  if (__GNU_MP_VERSION_PATCHLEVEL != 0)
    return 1;
  sprintf (buffer, "%d.%d", __GNU_MP_VERSION, __GNU_MP_VERSION_MINOR);
  return (strcmp (buffer, gmp_version) != 0) ? 1 : 0;
}

Running the executable with "strace" can give a hint on the problem.

-- 
Vincent Lefèvre <vincent at vinc17.net> - Web: <http://www.vinc17.net/>
100% accessible validated (X)HTML - Blog: <http://www.vinc17.net/blog/>
Work: CR INRIA - computer arithmetic / AriC project (LIP, ENS-Lyon)


More information about the gmp-bugs mailing list