gmp - _G_NU _M_ultiple _P_recision Arithmetic Library ChangeLog

HOWTO


# GMP 6.3.0 (2023-07-30)
# =========
# As I write this, version 6.3.0 is considered the current stable release

# Slackware 14.0: gmp 5.0.5
# Slackware 14.1: gmp 5.1.3
# Slackware 14.2: gmp 6.1.1
# Slackware 15.0: gmp 6.2.1

# Prerequisites:
# m4
# readline
# bison
# flex

# If you have trouble downloading it from the URL below, here are
# options:
# https://gmplib.org/download/gmp/
# https://ftp.gnu.org/gnu/gmp/
# http://ftpmirror.gnu.org/gmp/ (automatic redirect)
# https://www.gnu.org/prep/ftp.html (GNU mirrors)

# GMP 6.3.0 released
# GMP 6.3 release notes
# GNU MP manual
# GMP mailing lists

# Get the tarball
cd
test -f installed/gmp-6.3.0.tar.lz && mv installed/gmp-6.3.0.tar.lz .
test ! -f gmp-6.3.0.tar.lz &&
wget https://gmplib.org/download/gmp/gmp-6.3.0.tar.lz

# Verify tarball w/ sha256sum:
# (this came from my gpg-verified tarball)
echo "be5c908a7a836c3a9bd9d62aa58563c5e9e7fef94c43a7f42dbc35bb6d0273\
3c  gmp-6.3.0.tar.lz" | sha256sum -c

# Verify tarball w/ gpg:
( gpg --list-keys 343C2FF0FBEE5EC2EDBEF399F3599FF828C67298 > /dev/null 2>&1 ||
  gpg --recv-keys 343C2FF0FBEE5EC2EDBEF399F3599FF828C67298 ) &&
wget -nc http://gmplib.org/download/gmp/gmp-6.3.0.tar.lz.sig &&
  gpg --verify gmp-6.3.0.tar.lz.sig && rm gmp-6.3.0.tar.lz.sig

# Extract the source
mkdir -p -m 0700 ~/src
cd ~/src
find -maxdepth 1 -type d -name "gmp-*" -exec rm -r {} \;
tar xv --lzip -f ~/gmp-6.3.0.tar.lz
cd gmp-6.3.0
test $UID = 0 && chown -R root:root .

# Configure the build
test $(uname -m) = 'x86_64' &&
./configure --prefix=/usr --infodir=/usr/info --libdir=/usr/lib64 \
--with-gnu-ld --enable-cxx

# Configure the build for anything else
test $(uname -m) != 'x86_64' &&
./configure --prefix=/usr --infodir=/usr/info --with-gnu-ld --enable-cxx

# Build it
make

# Check the build, takes a while
make check

# Become root to install it
su

# Remove old files, install the new version
# This will leave behind libgmp, libgmpxx because they are also in the
# 'aaa_elflibs' package
test -x /sbin/removepkg && /sbin/removepkg gmp

# Remove this if you have an older version installed that included it
# (if you used --enable-mpbsd) prior to 5.1.1
rm -f /usr/include/mp.h /usr/lib*/libmp.*

# Remove old version library files if nothing else is using them
# Or, the safe option, don't
( cd /usr/lib ; rm -f libgmp.* libgmpxx.* )
test -d /usr/lib64 &&
( cd /usr/lib64 ; rm -f libgmp.* libgmpxx.* )

# Install it
make install
ldconfig

# Make sure your non-root user can remove the source later
chown -R $(logname) .
chmod -R u+w .

# Become your non-root user again
exit

# Save the source for later
cd
mkdir -p -m 0700 installed
rm -f installed/gmp-*.tar.*
mv gmp-6.3.0.tar.lz installed/


# If you ever want to uninstall GMP, this should do it:
cd
su
test -d src/gmp-* && ( cd src/gmp-* ; make uninstall )
( cd /usr/include ; rm -f gmp.h mp.h gmpxx.h )
for libdir in /usr/lib /usr/lib64;
do
  test -d $libdir &&
   ( cd /usr/lib ; rm -f libgmp.* libgmpxx.* libmp.* )
done
rm -f /usr/info/gmp.info
ldconfig
exit
find ~/src -maxdepth 1 -type d -name "gmp-*" -exec rm -r {} \;
rm -f ~/installed/gmp-*.tar.*

List of HOWTOs

Web page itself last updated: 2023-12-20 8:06pm (EST -0500)
HOWTO last updated: 2024-02-29 11:53pm
Copyright © 2001-2024 Jason Englander. All Rights reserved.
[HTML5]