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.
