Compiling Open Source Software Manually
What is compiling?
• 2-phrase process
◇ Take all resource codes and convert to executables
◇ Takes all the executables and store into the proper location in your computer
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Why would I need to compile?
◇ Software doesn't have packages
◇ Software doesn't distribute binaries
◇ Software has packages but they are old
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
What do you need to compile?
# Debian/ Ubuntu
# checkinstall: installation tracker; able to use package manager to uninstall compiled program
# cvs: concurrent version system
# subversion: advanced version control system
# mercurial: easy-to-use, scalable distributed version control system
apt install build-essential automake checkinstall cvs subversion \
git-core mercurial
# RHEL
yum groupinstall 'development tools'
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Compile Steps
• Compiling is not a straight forward process
• Most of the software installs will have missing dependencies / libraries that you need to find
# Download the (tarballed) software and unzip into a directory
cd ~/Download
wget uri # download
tar -xvf filename # extract
# Read install document (if any)
less install
# Run configure script
ls -l configure # ensure it's executable
./configure
# or
./configure --disable-unicode
# Make file
make
# or
make configure
configure --prefix=/usr
make all # create object files (.o)
# or
sudo make -j 32 all # compile faster
# Install
sudo make install # tradition command
# or
sudo checkinstall # use installation tracker
# If checkinstall is used
dpkg -l | grep package_name
Index