First, thanks very much for the response Bill. Now I don't think I can take the first option because my C interface code to MPFR is not calling the deprecated code it is the MPFR code that is doing so. In the example I gave I was writing an interface to mpfr_get_z. For the second option do I just need to enter "#define mpz_div2_exp mpz_tdiv_q_2exp" into gmp.h or do I need to try and rebuild the library as well. Sorry I am not accustomed to dealing with this type of problem.

Regards
Chris Saunders

--------------------------------------------------
From: "Bill Hart" <goodwillh...@googlemail.com>
Sent: Wednesday, March 24, 2010 11:59 AM
To: <mpir-devel@googlegroups.com>
Subject: Re: [mpir-devel] Having problem with mpz_div_2exp

The function mpz_div_2exp was removed from MPIR 1.3 because it is a
very old interface which was deprecated in GMP a long time ago when
the new mpz_tdiv_q_2exp function was added, for example.

With MPIR 1.3 you have two options:

1) Replace all references to the deprecated function with the correct
function name throughout your code.

2) Add some #defines to your gmp.h (or elsewhere in your includes),
e.g. #define mpz_div2_exp mpz_tdiv_q_2exp.

In the next version of MPIR we have inserted these #defines in the
gmp.h file whenever MPIR is built with --enable-gmpcompat. Obviously
the idea of deprecating functions is that people do (1) above, but
after many years, this doesn't seem to have happened. People keep
using the old functions.

Bill.

On 24 March 2010 15:25, Chris Saunders <e...@mountaincable.net> wrote:
This question may seem off-topic here but I don't know where else to try
asking.

I'm working on an Eiffel interface to MPIR, MPFR and MPC and the problem I'm
having right now relates to the library built by Brian Gladmans Visual
Studio 2008 MPFR project. I'm using the Eiffel compiler to build my project but the Eiffel compiler compiles to C and then uses the compiler and linker from the Windows 7 SDK to finish up. The error output I'll show is from my Eiffel IDE but it actually comes from the Microsoft tools. OK here is the
error:

2       C Compiler Error: Error LNK2019: unresolved external symbol
mpz_div_2exp referenced in function mpfr_get_z      mpfr.libNow I did a
search for mpz_div_2exp in mpfr.lib and found this
"__gmpz_divexact_uiNULmpz_div_2expNUL__gmpz_mul_ui" (this output is from
Notepad++). Notice that the preceding and following functions are prefixed
by "__".

Now I found this "The functions mpz_div_2exp and mpz_div_ui have been
removed from MPIR. These were deprecated many years ago, but many people
have continued to use them." at
http://osdir.com/ml/sage-support/2010-01/msg00529.html.  I'm not sure if
this is relevant to the problem I am having.

Can anyone make a suggestion?

Regards
Chris Saunders
--
You received this message because you are subscribed to the Google Groups
"mpir-devel" group.
To post to this group, send email to mpir-de...@googlegroups.com.
To unsubscribe from this group, send email to
mpir-devel+unsubscr...@googlegroups.com.
For more options, visit this group at
http://groups.google.com/group/mpir-devel?hl=en.



--
You received this message because you are subscribed to the Google Groups "mpir-devel" group.
To post to this group, send email to mpir-de...@googlegroups.com.
To unsubscribe from this group, send email to mpir-devel+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/mpir-devel?hl=en.


--
You received this message because you are subscribed to the Google Groups 
"mpir-devel" group.
To post to this group, send email to mpir-de...@googlegroups.com.
To unsubscribe from this group, send email to 
mpir-devel+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/mpir-devel?hl=en.

Reply via email to