I think it is only a matter of entering the given define into gmp.h. I
don't think you'll need to rebuild the library.

I understood that MPFR had changed their code to not use the
deprecated functions. But perhaps this is in a version which has not
yet been released.

Bill.

On 24 March 2010 19:07, Chris Saunders <[email protected]> wrote:
> 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" <[email protected]>
> Sent: Wednesday, March 24, 2010 11:59 AM
> To: <[email protected]>
> 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 <[email protected]> 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 [email protected].
>>> To unsubscribe from this group, send email to
>>> [email protected].
>>> 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 [email protected].
>> To unsubscribe from this group, send email to
>> [email protected].
>> 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 [email protected].
> To unsubscribe from this group, send email to
> [email protected].
> 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 [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/mpir-devel?hl=en.

Reply via email to