libffi - "A portable foreign function interface library" ChangeLog

HOWTO


# libffi 3.2.1
# ============
# Slackware 14.0: libffi 3.0.11
# Slackware 14.1: libffi 3.0.13
# Slackware 14.2: libffi 3.2.1

# If you want to remove libffi, or clean up files from an old version before
# installing this one, skip down to the bottom for instructions.

# Get it
cd
test -f installed/libffi-3.2.1.tar.gz &&
mv installed/libffi-3.2.1.tar.gz .
test ! -f libffi-3.2.1.tar.gz &&
wget ftp://sourceware.org/pub/libffi/libffi-3.2.1.tar.gz

# Verify tarball w/ sha512sum:
echo "980ca30a8d76f963fca722432b1fe5af77d7a4e4d2eac5144fbc5374d4c596609a293440573f4294207e1bdd9fda80ad1e1cafb2ffb543df5a275bc3bd546483  libffi-3.2.1.tar.gz" | sha512sum -c

# Extract the source
mkdir -p -m 0700 src
cd src
find -maxdepth 1 -name "libffi-*" -exec rm -r {} \;
tar xzvf ~/libffi-3.2.1.tar.gz
cd libffi-3.2.1
test $UID = 0 && chown -R root:root .

# Configure the build for 64-bit
test $(uname -m) = 'x86_64' &&
./configure --prefix=/usr --docdir=/usr/doc/libffi-3.2.1 --infodir=/usr/info --libdir=/usr/lib64 --localstatedir=/var --mandir=/usr/man --sysconfdir=/etc

# Configure the build for anything else
test $(uname -m) = 'x86_64' &&
./configure --prefix=/usr --docdir=/usr/doc/libffi-3.2.1 --infodir=/usr/info --localstatedir=/var --mandir=/usr/man --sysconfdir=/etc

# Build it
make

# Become root to install it
su

# Remove the Slackware package, if there is one
test -x /sbin/removepkg && /sbin/removepkg libffi

# Clean up files from old versions that would not be replaced
# You may want to skip or at least be cautious about removing the old
# library files, in case they are in use by something running right now
# (check with lsof)
find /usr/doc -maxdepth 1 -type d -name "libffi-*" -exec rm -r {} \;
find /usr/lib -maxdepth 1 -type d -name "libffi-*" -exec rm -r {} \;
test -d /usr/lib64 &&
( find /usr/lib64 -maxdepth 1 -type d -name "libffi-*" -exec rm -r {} \;
   rm -f /usr/lib64/libffi.* )

# Install it
make install
ldconfig

# Become your non-root user again
exit

# Keep the source for later
cd
mkdir -p -m 0700 installed
rm -f installed/libffi-*.tar.*
mv libffi-3.2.1.tar.gz installed/


# If you ever want to uninstall libffi, this should do it:
cd
su
test -d src/libffi-* && ( cd src/libffi-* ; make uninstall )
find /usr/doc -maxdepth 1 -type d -name "libffi-*" -exec rm -r {} \;
find /usr/lib -maxdepth 1 -type d -name "libffi-*" -exec rm -r {} \;
test -d /usr/lib64 &&
find /usr/lib64 -maxdepth 1 -type d -name "libffi-*" -exec rm -r {} \;
rm -f /usr/info/libffi.info /usr/lib*/libffi.* /usr/lib*/pkgconfig/libffi.pc
( cd /usr/man/man3 ; rm -f ffi.3 ffi_*.3 )
ldconfig
exit
find ~/src -maxdepth 1 -type d -name "libffi-*" -exec rm -r {} \;
rm -f ~/installed/libffi-*.tar.*

List of HOWTOs

Last updated: 2022-06-09 1:35pm EDT(-0400)
Copyright © 2001-2023 Jason Englander. All Rights reserved.
[HTML5]