Linux HOWTOs

About | Home | Search


HOWTO: fftw
Description: Fastest Fourier Transform in the West
Click here for ChangeLog
NOTE: I use GNU tar >= 1.13.25 so it's -j for .tar.bz2 files,
it's safe to assume that make, gcc, binutils, fileutils/coreutils, gawk, sed, and grep are prerequisites for almost everything


# FFTW
# ====
# Below I include the latest 2.x and 3.x versions.  Stick with 3.x unless
# you have an application that neeeds 2.x (like MythTV, for example).

# Because binaries, includes, and libraries are all named differently, you
# can install a 2.x and 3.x version at the same time.

# Uninstall instructions for both are at the bottom.  If you're going from
# one source-installed version to another, you may want to uninstall the
# old one first to make sure there aren't old files lying around.


# fftw 2.1.5
# ==========
cd
test -f installed/fftw-2.1.5.tar.gz &&
 mv installed/fftw-2.1.5.tar.gz .
test ! -f fftw-2.1.5.tar.gz &&
 wget http://www.fftw.org/fftw-2.1.5.tar.gz
mkdir -p -m 0700 src
cd src
find -maxdepth 1 -type d -name "fftw-2.*" -exec rm -r {} \;
tar xzvf ~/fftw-2.1.5.tar.gz
cd fftw-2.1.5
test $UID = 0 && chown -R root:root .
chmod -R u+w .
./configure
make

# Become root to install it
su

make install
ldconfig
chown -R $USER .

# Become yourself again
exit

cd
mkdir -p -m 0700 installed
rm -f installed/fftw-2.*.tar.*
mv fftw-2.1.5.tar.gz installed/


# fftw 3.1.2
# ==========
cd
test -f installed/fftw-3.1.2.tar.gz &&
 mv installed/fftw-3.1.2.tar.gz .
test ! -f fftw-3.1.2.tar.gz &&
 wget http://www.fftw.org/fftw-3.1.2.tar.gz

# Verify tarball w/ md5sum:
echo "08f2e21c9fd02f4be2bd53a62592afa4  fftw-3.1.2.tar.gz" | md5sum -c

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

# Become root to install it
su

make install
ldconfig
chown -R $USER .

# Become yourself again
exit

cd
mkdir -p -m 0700 installed
rm -f installed/fftw-3.*.tar.*
mv fftw-3.1.2.tar.gz installed/


# If you ever want to uninstall fftw 2.x, this should do it:
cd
su
test -d src/fftw-2.* && ( cd src/fftw-2.* ; make uninstall )
( cd /usr/local/include ; rm -f fftw.h rfftw.h )
rm -f /usr/local/info/fftw.info
( cd /usr/local/lib ; rm -f libfftw.* librfftw.* )
ldconfig
exit
find ~/src -maxdepth 1 -type d -name "fftw-2.*" -exec rm -r {} \;
rm -f ~/installed/fftw-2.*.tar.*


# If you ever want to uninstall fftw 3.x, this should do it:
cd
su
test -d src/fftw-3.* && ( cd src/fftw-3.* ; make uninstall )
( cd /usr/local/bin ; rm -f fftw-wisdom fftw-wisdom-to-conf )
( cd /usr/local/include ; rm -f fftw3.h fftw3.f )
rm -f /usr/local/info/fftw3.info \
 /usr/local/lib/libfftw3.* \
 /usr/local/lib/pkgconfig/fftw3.pc
( cd /usr/local/man/man1 ; rm -f fftw-wisdom.1 fftw-wisdom-to-conf.1 )
ldconfig
exit
find ~/src -maxdepth 1 -type d -name "fftw-3.*" -exec rm -r {} \;
rm -f ~/installed/fftw-3.*.tar.*

Back to the list


Last updated: Tue, 07 Aug 2018 12:06:17 -0400
Jason Englander <jason at englanders dot us>