Package: mpfr
Severity: grave

Howdy Laurent,

My CGAL software no longer runs, since it uses mpfr and libmpfr relies
on an internal symbol __gmp_rand.  In 4.1.4 this was a function and
therefore a symbol in libgmp.  In 4.2, it is a #define and thus no
symbol.

I'm of two minds on this one.  On one hand you might argue that GMP
should change SOVERSION since it has indeed changed interface.  On the
other hand, __gmp_rand was never an advertised API.  I'm guessing that
MPFR cheats by using gmp-impl.h to get at it.  Is there any chance
that MPFR can be adapted to use only the published external API of
GMP?

For the record, here's a test program.  Compile with 4.1.4 installed,
then switch to 4.2 and you'll get a run-time link error.

[EMAIL PROTECTED] try-gmp-rand.c
#include <gmp.h>
#include <gmp-impl.h>


int main( int ac, char* av[] )
{
    mp_ptr rp;
    gmp_randstate_t rstate;
    unsigned long int nbits = 3;

    _gmp_rand (rp, rstate, nbits);

    return 0;
}
[EMAIL PROTECTED]/a.out
./a.out: symbol lookup error: ./a.out: undefined symbol: __gmp_rand


-Steve


-- System Information:
Debian Release: testing/unstable
  APT prefers unstable
  APT policy: (990, 'unstable')
Architecture: i386 (i686)
Shell:  /bin/sh linked to /bin/bash
Kernel: Linux 2.6.15-1-k7
Locale: LANG=C, LC_CTYPE=C (charmap=ANSI_X3.4-1968)


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to