expat - XML parser ChangeLog

HOWTO


# Expat 2.7.1
# ===========
# Slackware 14.0: expat 2.0.1
# Slackware 14.1, 14.2: expat 2.1.0
# Slackware 15.0: expat 2.4.4
#
# Check 'patches' for updates

# http://www.libexpat.org/ (http, not https; redirects to libexpat.github.io)
# Sourceforge project
# GitHub Releases: Expat 2.7.1
# Expat 2.7.1 Changes
# GitHub Issues: Release Expat 2.7.1 (ETA 2025-03-27) #990
# The Expat XML Parser library documentation

# If you want to uninstall Expat, or clean up files from an old version
# before installing a new one, skip down to the bottom for instructions

# Prerequisites:
# pkg-config
# docbook2X

# Get the tarball
cd
test -f installed/expat-2.7.1.tar.xz && mv installed/expat-2.7.1.tar.xz .
test ! -f expat-2.7.1.tar.xz &&
wget https://github.com/libexpat/libexpat/releases/download/R_2_7_1/\
expat-2.7.1.tar.xz

# Verify tarball w/ sha256sum:
# (this came from my gpg-verified tarball)
echo "354552544b8f99012e5062f7d570ec77f14b412a3ff5c7d8d0dae62c0d217c\
30  expat-2.7.1.tar.xz" | sha256sum -c

# Verify tarball w/ gpg:
( gpg --list-keys 96262ACFFBD3AEC6 2>&1 ||
  gpg --recv-keys 96262ACFFBD3AEC6 ) &&
wget -nc https://github.com/libexpat/libexpat/releases/download/R_2_7_1/\
expat-2.7.1.tar.xz.asc &&
  gpg --verify expat-2.7.1.tar.xz.asc && rm expat-2.7.1.tar.xz.asc

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

# Read ./README.md
#
# To convert the markup to HTML, use pandoc:
# pandoc -s -o README.html README.md && lynx ./README.html
#
# ...or just view it online:
# https://github.com/libexpat/libexpat/blob/R_2_7_1/expat/README.md

# You can build Expat with CMake instead of configure as done below

# Configure the build - 64-bit
test $(uname -m) = 'x86_64' &&
./configure --prefix=/usr --docdir=/usr/doc/expat --libdir=/usr/lib64 \
--mandir=/usr/man

# Configure the build - anything else
test $(uname -m) != 'x86_64' &&
./configure --prefix=/usr --docdir=/usr/doc/expat --mandir=/usr/man

# Build it
make

# Become root to install it
su

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

# There is probably an older libexpat.so.* from the
# elflibs|aaa_elflibs|aaa_libraries package.  If you are positive that you
# don't need it, remove that and any others from previous source-installed
# versions of Expat.  Run 'lsof /usr/lib*/libexpat.so*' to see if anything
# running now is linked with the old version(s) before you do any removing.

# Install it
make install
ldconfig

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

# Become yourself again
exit

# Save the source for later
cd
mkdir -p -m 0700 installed
rm -f installed/expat-*.tar.*
mv expat-2.7.1.tar.xz installed/


# If you ever want to uninstall Expat, this should do it:
cd
su
test -d src/expat-* && ( cd src/expat-* ; make uninstall )
test -d /usr/doc/expat && rm -r /usr/doc/expat
( cd /usr/include ; rm -f expat.h expat_config.h expat_external.h )
rm -f /usr/bin/xmlwf /usr/lib*/libexpat.* /usr/lib64/pkgconfig/expat.pc \
/usr/man/man1/xmlwf.1
ldconfig
exit
find ~/src -maxdepth 1 -type d -name "expat-*" -exec rm -r {} \;
rm -f ~/installed/expat-*.tar.*

List of HOWTOs

Web page itself last updated: 2025-07-04 6:23pm (EDT -0400)
HOWTO last updated: 2025-07-11 5:27pm
Copyright © 2001-2025 Jason Englander. All Rights reserved.
[HTML5]