[PPL-devel] install bug
Roberto Bagnara
bagnara at cs.unipr.it
Mon Jun 30 15:42:29 CEST 2003
Mark Poolman wrote:
> I'm having problems installing ppl 0.5 on a redhat 9 system. The
> configure script fails to detect the gmp library:
>
> ./configure
> .
> .
> .
>
> checking for the GMP library... no
> configure: error: Cannot find GMP version 4.1.2 or higher.
> GMP is the GNU Multi-Precision library:
> see http://www.swox.com/gmp/ for more information.
> Do not forget to enable the C++ interface: add --enable-cxx
> to the configuration options.
Dear Mark,
while you have a version of GMP installed on your system, this version
has been built with the C++ interface enabled. Unfortunately,
distributors still tend to ship RPM packages for GMP with this problem,
regularly dismaying C++ programmers. You will thus have to build GMP
by yourself, using a configure command like
/wherever/gmp-4.1.2/configure --prefix=/usr/local --enable-cxx
(notice the `--enable-cxx', as recommended, in the error message above).
> However, gmp definitely is installed, and rebuilding a fresh version
> doesn't help:
> $rpm -qil gmp
> Name : gmp Relocations: (not
> relocateable)
> Version : 4.1.2 Vendor: (none)
> Release : 6.1 Build Date: Mon 30 Jun 2003
> 14:04:48 BST
> Install Date: Mon 30 Jun 2003 14:05:22 BST Build Host: nanook
> Group : System Environment/Libraries Source RPM:
> gmp-4.1.2-6.1.src.rpm
> Size : 289551 License: LGPL
> Signature : (none)
> URL : http://www.swox.com/gmp/
> Summary : A GNU arbitrary precision library.
> Description :
> The gmp package contains GNU MP, a library for arbitrary precision
> arithmetic which operates on signed integers, rational numbers and
> floating point numbers. GNU MP is designed for speed, for both small
> and very large operands. GNU MP is fast because it uses fullwords as
> the basic arithmetic type, it uses fast algorithms, it carefully
> optimizes assembly code for many CPUs' most common inner loops, and
> generally emphasizes speed over simplicity/elegance in its
> operations.
> /usr/lib/libgmp.so.3
> /usr/lib/libgmp.so.3.3.2
> /usr/lib/libmp.so.3
> /usr/lib/libmp.so.3.1.6
> /usr/share/doc/gmp-4.1.2
> /usr/share/doc/gmp-4.1.2/COPYING
> /usr/share/doc/gmp-4.1.2/NEWS
> /usr/share/doc/gmp-4.1.2/README
Exactly: the C++ interface is not there. You are missing the libgmpxx.* files.
For instance, in my system I have
/usr/local/lib/libgmp.a
/usr/local/lib/libgmp.la
/usr/local/lib/libgmp.so
/usr/local/lib/libgmp.so.3
/usr/local/lib/libgmp.so.3.3.2
/usr/local/lib/libgmpxx.a
/usr/local/lib/libgmpxx.la
/usr/local/lib/libgmpxx.so
/usr/local/lib/libgmpxx.so.3
/usr/local/lib/libgmpxx.so.3.0.4
(do not worry about the *.la files).
> The bizarre thing about this is that the .so vewrsion numbers do not
> correspond to the rpm version numbers, and I guess that this may be the
> cause of the problem and is more to do with gmp rather than ppl, but
> any advice offered will be gratefully recieved.
The .so version numbers have little to do with the RPM version numbers
(which coincide with GMP's version numbers). gmp-4.1.2 means that
you have version 4.1.2 of GMP. libgmp.so.3.3.2 means that _that_ shared
object has code 3:3:2 in the libtool versioning system (see
http://www.gnu.org/manual/libtool-1.4.2/html_chapter/libtool_6.html
if you are interested).
All the best
Roberto
--
Prof. Roberto Bagnara
Computer Science Group
Department of Mathematics, University of Parma, Italy
http://www.cs.unipr.it/~bagnara/
mailto:bagnara at cs.unipr.it
More information about the PPL-devel
mailing list