libsndfile - C library for reading and writing sound files ChangeLog

HOWTO


# libsndfile
# ==========
# The latest release is 1.0.17, but that may not work with recent versions
# of other libraries (like flac 1.1.4), so 1.0.18pre20 is below too.


# libsndfile 1.0.17
# =================
# pkg-config
# SQLite3 >= 3.2 (optional; add --disable-sqlite to skip)
# ALSA (optional; add --disable-alsa to skip)
# FLAC (optional; add --disable-flac to skip)

cd
test -f installed/libsndfile-1.0.17.tar.gz &&
mv installed/libsndfile-1.0.17.tar.gz .
test ! -f libsndfile-1.0.17.tar.gz &&
wget http://www.mega-nerd.com/libsndfile/libsndfile-1.0.17.tar.gz

# Verify tarball w/ md5sum:
echo "2d126c35448503f6dbe33934d9581f6b  libsndfile-1.0.17.tar.gz" | \
md5sum -c

# Verify tarball w/ sha1sum:
echo "2f66798d596a15491fbd1191ded8125ed71ef411  libsndfile-1.0.17.tar.gz" | \
sha1sum -c

# Verify tarball w/ gpg:
( gpg --list-keys 43B8D6C8 > /dev/null 2>&1 || gpg --recv-keys 43B8D6C8 ) &&
wget -nc http://www.mega-nerd.com/libsndfile/\
libsndfile-1.0.17.tar.gz.asc &&
  gpg --verify libsndfile-1.0.17.tar.gz.asc &&
   rm libsndfile-1.0.17.tar.gz.asc

mkdir -p -m 0700 src
cd src
find -maxdepth 1 -type d -name "libsndfile-*" -exec rm -r {} \;
tar xzvf ~/libsndfile-1.0.17.tar.gz
cd libsndfile-1.0.17
test $UID = 0 && chown -R root:root .
chmod -R u+w .
./configure
make

# Become root to install it
su

# Slackware puts it's docs in /usr/doc.  /usr/share/doc is a symlink to
# /usr/doc.  If you used --prefix=/usr above, the docs will be installed
# into /usr/share/doc, which ls actually /usr/doc.
#
# I don't use --prefix=/usr (the default is /usr/local), so by default the
# docs will end up in /usr/local/share/doc.  You might normally try
# --docdir=/usr/doc or --docdir=/usr/local/doc, but libsndfile's configure
# doesn't seem to actually use it though it is listed.
#
# To catch this, with libsndfile and lots of others that put docs in
# /usr/local/share/doc, I create a symlink from /usr/local/share/doc to the
# real /usr/local/doc directory.  If you want all of your docs, 'local' or
# otherwise, to go into /usr/doc, then point the symlink to /usr/doc
# instead.
mkdir -p /usr/local/doc /usr/local/share
test -d /usr/local/share/doc && test ! -L /usr/local/share/doc &&
mv -f /usr/local/share/doc/* /usr/local/doc/
test ! -L /usr/local/share/doc &&
ln -sf /usr/local/doc /usr/local/share/doc

# Remove old shared libraries and install it
rm -f /usr/local/lib/libsndfile.*
make install
ldconfig
chown -R $USER .

# Become yourself again
exit

cd
mkdir -p -m 0700 installed
rm -f installed/libsndfile-*.tar.*
mv libsndfile-1.0.17.tar.gz installed/


# libsndfile 1.0.18pre20
# ======================
# pkg-config
# SQLite3 >= 3.2 (optional; add --disable-sqlite to skip)
# JACK >= 0.100 (optional; add --disable-jack to skip)
# ALSA (optional; add --disable-alsa to skip)
# FLAC (optional; add --disable-flac to skip)

cd
test -f installed/libsndfile-1.0.18pre20.tar.gz &&
mv installed/libsndfile-1.0.18pre20.tar.gz .
test ! -f libsndfile-1.0.18pre20.tar.gz &&
wget http://www.mega-nerd.com/tmp/libsndfile-1.0.18pre20.tar.gz
mkdir -p -m 0700 src
cd src
find -maxdepth 1 -type d -name "libsndfile-*" -exec rm -r {} \;
tar xzvf ~/libsndfile-1.0.18pre20.tar.gz
cd libsndfile-1.0.18pre20
test $UID = 0 && chown -R root:root .
./configure
make

# Become root to install it
su

# Slackware puts it's docs in /usr/doc.  /usr/share/doc is a symlink to
# /usr/doc.  If you used --prefix=/usr above, the docs will be installed
# into /usr/share/doc, which ls actually /usr/doc.
#
# I don't use --prefix=/usr (the default is /usr/local), so by default the
# docs will end up in /usr/local/share/doc.  You might normally try
# --docdir=/usr/doc or --docdir=/usr/local/doc, but libsndfile's configure
# doesn't seem to actually use it though it is listed.
# (this may be fixed in the preXX versions, I haven't checked)
#
# To catch this, with libsndfile and lots of others that put docs in
# /usr/local/share/doc, I create a symlink from /usr/local/share/doc to the
# real /usr/local/doc directory.  If you want all of your docs, 'local' or
# otherwise, to go into /usr/doc, then point the symlink to /usr/doc
# instead.
mkdir -p /usr/local/doc /usr/local/share
test -d /usr/local/share/doc && test ! -L /usr/local/share/doc &&
mv -f /usr/local/share/doc/* /usr/local/doc/
test ! -L /usr/local/share/doc &&
ln -sf /usr/local/doc /usr/local/share/doc

# Remove old shared libraries and install it
rm -f /usr/local/lib/libsndfile.*
make install
ldconfig

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

# Become yourself again
exit

cd
mkdir -p -m 0700 installed
rm -f installed/libsndfile-*.tar.*
mv libsndfile-1.0.18pre20.tar.gz installed/


# If you ever want to uninstall libsndfile, this should do it:
cd
su
test -d src/libsndfile-* && ( cd src/libsndfile-* ; make uninstall )
rm -f /usr/local/lib/libsndfile.* /usr/local/lib/pkgconfig/sndfile.pc
( cd /usr/local/bin ; rm -f sndfile-info sndfile-play sndfile-convert \
sndfile-regtest )
( cd /usr/local/include ; rm -f sndfile.h sndfile.hh )
( cd /usr/local/man/man1 ; rm -f sndfile-info.1 sndfile-play.1 \
sndfile-convert.1 )
test -d /usr/local/doc/libsndfile1-dev &&
/usr/local/doc/libsndfile1-dev
test -d /usr/local/share/doc/libsndfile1-dev &&
/usr/local/share/doc/libsndfile1-dev
test -d /usr/local/share/octave &&
/usr/local/share/octave
ldconfig
exit
find ~/src -maxdepth 1 -type d -name "libsndfile-*" -exec rm -r {} \;
rm -f ~/installed/libsndfile-*.tar.*

List of HOWTOs

Web page itself last updated: 2023-12-20 8:06pm (EDT -0400)
HOWTO last updated: 2008-04-09 3:28pm
Copyright © 2001-2024 Jason Englander. All Rights reserved.
[HTML5]