Next: Reporting Bugs, Previous: Introduction to GNU MPC, Up: Top [Index]
To build GNU MPC, you first have to install GNU MP (version 4.3.2 or higher) and GNU MPFR (version 2.4.2 or higher) on your computer. You need a C compiler; GCC version 4.4 or higher is recommended, since GNU MPC may trigger a bug in previous versions, see the thread at http://lists.gforge.inria.fr/pipermail/mpc-discuss/2011-February/000823.html. And you need a standard Unix ‘make’ program, plus some other standard Unix utility programs.
Here are the steps needed to install the library on Unix systems:
if GMP and GNU MPFR are installed into standard directories, that is, directories that are searched by default by the compiler and the linking tools.
‘./configure --with-gmp=<gmp_install_dir>’
is used to indicate a different location where GMP is installed. Alternatively, you can specify directly GMP include and GMP lib directories with ‘./configure --with-gmp-lib=<gmp_lib_dir> --with-gmp-include=<gmp_include_dir>’.
‘./configure --with-mpfr=<mpfr_install_dir>’
is used to indicate a different location where GNU MPFR is installed. Alternatively, you can specify directly GNU MPFR include and GNU MPFR lib directories with ‘./configure --with-mpf-lib=<mpfr_lib_dir> --with-mpfr-include=<mpfr_include_dir>’.
Another useful parameter is ‘--prefix’, which can be used to specify an alternative installation location instead of /usr/local; see ‘make install’ below.
To enable checking for memory leaks using valgrind
during
make check
, add the parameter --enable-valgrind-tests
.
If for debugging purposes you wish to log calls to GNU MPC functions from
within your code, add the parameter ‘--enable-logging’.
In your code, replace the inclusion of mpc.h by mpc-log.h
and link the executable dynamically.
Then all calls to functions with only complex arguments are printed to
stderr in the following form: First, the function name is given,
followed by its type such as ‘c_cc’, meaning that the function has
one complex result (one ‘c’ in front of the ‘_’), computed from
two complex arguments (two ‘c’ after the ‘_’). Then, the
precisions of the real and the imaginary part of the first result is given,
followed by the second one and so on. Finally, for each argument, the
precisions of its real and imaginary part are specified and the argument
itself is printed in hexadecimal via the function
mpc_out_str
(see String and Stream Input and Output).
The option requires a dynamic library, so it may not be combined with
--disable-shared
.
Use ‘./configure --help’ for an exhaustive list of parameters.
This compiles GNU MPC in the working directory.
This will make sure GNU MPC was built correctly.
If you get error messages, please report them to ‘mpc-discuss@lists.gforge.inria.fr’ (See Reporting Bugs, for information on what to include in useful bug reports).
This will copy the file mpc.h to the directory /usr/local/include, the file libmpc.a to the directory /usr/local/lib, and the file mpc.info to the directory /usr/local/share/info (or if you passed the ‘--prefix’ option to configure, using the prefix directory given as argument to ‘--prefix’ instead of /usr/local). Note: you need write permissions on these directories.
There are some other useful make targets:
Create an info version of the manual, in mpc.info.
Create a PDF version of the manual, in doc/mpc.pdf.
Create a DVI version of the manual, in doc/mpc.dvi.
Create a Postscript version of the manual, in doc/mpc.ps.
Create an HTML version of the manual, in several pages in the directory doc/mpc.html; if you want only one output HTML file, then type ‘makeinfo --html --no-split mpc.texi’ instead.
Delete all object files and archive files, but not the configuration files.
Delete all files not included in the distribution.
Delete all files copied by ‘make install’.
On AIX, if GMP was built with the 64-bit ABI, before building and testing GNU MPC, it might be necessary to set the ‘OBJECT_MODE’ environment variable to 64 by, e.g.,
‘export OBJECT_MODE=64’
This has been tested with the C compiler IBM XL C/C++ Enterprise Edition V8.0 for AIX, version: 08.00.0000.0021, GMP 4.2.4 and GNU MPFR 2.4.1.
Please report any other problems you encounter to ‘mpc-discuss@lists.gforge.inria.fr’. See Reporting Bugs.
Next: Reporting Bugs, Previous: Introduction to GNU MPC, Up: Top [Index]