
Greets,
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.
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
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.
TIA,
Mark

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

Roberto Bagnara wrote:
while you have a version of GMP installed on your system, this version has been built with the C++ interface enabled.
Of course I meant _disabled_. Sorry about that. Cheers
Roberto
participants (2)
-
Mark Poolman
-
Roberto Bagnara