1

I install gmpy2 like this:

yum install gmp-devel
yum install mpfr-devel
yum install libmpc-devel

but show these errors:

src/gmpy_mpc.c:1294: error: ‘gmpy_context’ has no member named ‘real_round’

src/gmpy_mpc.c:1294: error: ‘gmpy_context’ has no member named ‘real_round’

src/gmpy_mpc.c:1294: error: ‘gmpy_context’ has no member named ‘imag_round’

src/gmpy_mpc.c:1294: error: ‘gmpy_context’ has no member named ‘underflow’

src/gmpy_mpc.c:1294: error: ‘gmpy_context’ has no member named ‘trap_underflow’

src/gmpy_mpc.c:1294: error: ‘gmpy_context’ has no member named ‘overflow’

src/gmpy_mpc.c:1294: error: ‘gmpy_context’ has no member named ‘trap_overflow’

src/gmpy_mpc.c:1294: error: ‘gmpy_context’ has no member named ‘inexact’

 src/gmpy_mpc.c:1294: error: ‘gmpy_context’ has no member named ‘trap_inexact’

..........


src/gmpy2.c:969: error: ‘MPFR_RNDU’ undeclared (first use in this function)

src/gmpy2.c:970: error: ‘MPFR_RNDD’ undeclared (first use in this function)

src/gmpy2.c:971: error: ‘MPFR_RNDA’ undeclared (first use in this function)

error: command 'gcc' failed with exit status 1

what wrong? I have install gmp,mpfr,mpc,and their devel ,,, but still so many errors. why?

gerrit
  • 24,025
  • 17
  • 97
  • 170
Young Pan
  • 11
  • 1
  • 2

1 Answers1

2

I'm the maintainer of gmpy2.

gmpy2 requires relatively recent versions of MPFR and MPC. If setup.py can't find the proper versions, it will display the following warning message:

----------------------------------------------------------------
setup.py was not able to detect the required versions of MPFR
and/or MPC. gmpy2 requires MPFR version 3.1.0 or greater and
MPC version 1.0.0 or greater. To specify a directory prefix that
contains the proper versions, use the --prefix=<dir> option.

In some circumstances, the correct versions may be present and
this warning can be ignored. If you have difficulties compiling
or running gmpy2, please try compiling with the --prefix option.

It is possible to compile gmpy2 without support for MPFR and MPC
but that is not a supported configuration. Beginning with v2.1.0,
MPFR and MPC will be required.

setup.py will continue and attempt to compile gmpy2.
-----------------------------------------------------------------

If you can't install the most recent versions of GMP, MPFR, and MPC, then you will need to compile your own versions of GMP, MPFR, and MPC and then instruct setup.py to use your versions. I normally install my copies into /opt/local. The following instructions assume the source is in /opt/local/src and you are using an administrator account with sudo access.

$ cd /opt/local/src/gmp-6.0.0
$ ./configure --prefix=/opt/local
$ make
$ make check
$ make install
$ cd /opt/local/src/mfr-3.1.2
$ ./configure --prefix=/opt/local --with-gmp=/opt/local
$ make
$ make check
$ make install
$ cd /opt/local/src/mpc-1.0.2
$ ./configure --prefix=/opt/local --with-gmp=/opt/local --with-mpfr=/opt/local
$ make
$ make check
$ make install
$ cd /opt/local/src/gmpy2-2.0.3
$ python setup.py build_ext --prefix=/opt/local
$ sudo python setup.py install

If you need to distribute the gmpy2 library across a variety of systems (for a lab or computer cluster), it is possible to compile a statically linked version. If you need those instructions, just let me know.

casevh
  • 11,093
  • 1
  • 24
  • 35