Linux HOWTOs

About | Home | Search


HOWTO: lzo
Description: A portable lossless data compression C library
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


# lzo
# ===
# I include the latest 1.x and 2.x versions below.  Stick with 2.x unless
# you specifically need 1.x for something else that uses it (like
# lzop <= 1.01).
#
# You can safely install both versions at the same time.  The 1.x includes
# go into /usr/local/include and the library is named liblzo.*, the 2.x
# includes go into /usr/local/include/lzo and the library is named
# liblzo2.*

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

# Prerequisites (for both versions):
# gawk
# sed
# nasm
# zlib


# lzo 1.08
# ========
cd
test -f installed/lzo-1.08.tar.gz && mv installed/lzo-1.08.tar.gz .
test ! -f lzo-1.08.tar.gz &&
 wget http://www.oberhumer.com/opensource/lzo/download/LZO-v1/lzo-1.08.tar.gz
mkdir -p -m 0700 src
cd src
find -maxdepth 1 -type f -name "lzo-1.*" -exec rm -r {} \;
tar xzvf ~/lzo-1.08.tar.gz
cd lzo-1.08
test $UID = 0 && chown -R root:root .
./configure --enable-shared
make
make check
make test

# Become root to install it
su

rm -f /usr/local/lib/liblzo.*
make install
ldconfig

# Become yourself again
exit

cd
mkdir -p -m 0700 installed
rm -f installed/lzo-1.*.tar.*
mv lzo-1.08.tar.gz installed/


# lzo 2.02
# ========
cd
test -f installed/lzo-2.02.tar.gz && mv installed/lzo-2.02.tar.gz .
test ! -f lzo-2.02.tar.gz &&
 wget http://www.oberhumer.com/opensource/lzo/download/lzo-2.02.tar.gz
mkdir -p -m 0700 src
cd src
find -maxdepth 1 -type f -name "lzo-2.*" -exec rm -r {} \;
tar xzvf ~/lzo-2.02.tar.gz
cd lzo-2.02
test $UID = 0 && chown -R root:root .
./configure --enable-shared
make
make check
make test

# Become root to install it
su

rm -f /usr/local/lib/liblzo2.*
make install
ldconfig

# Become yourself again
exit

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


# If you ever want to uninstall lzo 1.x, this should do it:
cd
su
test -d src/lzo-1.* && ( cd src/lzo-1.* ; make uninstall )
( cd /usr/local/include ; rm -f lzoconf.h lzoutil.h lzo16bit.h lzo1.h \
 lzo1a.h lzo1b.h lzo1c.h lzo1f.h lzo1x.h lzo1y.h lzo1z.h lzo2a.h )
rm -f /usr/local/lib/liblzo.*
ldconfig
exit
find ~/src -maxdepth 1 -type d -name "lzo-1.*" -exec rm -r {} \;
rm -f ~/installed/lzo-1.*.tar.*


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

Back to the list


Last updated: Wed, 29 Apr 2020 22:04:50 -0400
Jason Englander <jason at englanders dot us>