≡ Menu

Linux: How to compile program

Many newbies find it difficult to compiling programs under Linux (command mentioned below should also work with FreeBSD or any other UNIX like system). The fact that Linux is open source OS, so most of the programs are also open sources. Improvements and security, bug patches needs to us compile not just Kernel but softwares/programs. Please note that you can download program with wget and extract the file with tar command.

If file extensions is .gz then use tar command as follows to extract tar ball:
$ tar -zxvf file.tar.gz

If file extensions is .bz2 then use tar command as follows to extract tar ball:
$ tar -jxvf file.tar.bz2

Three common steps to compiling program under Linux:

Step # 1: Configure (read as prepare) the program for compile on your system/architecture.

Generally configure command is used:
$ ./configure

Step # 2: Compiling the program
Use make command to compiling program:
$ make

Step # 3: Install the program
First become a root user:
$ su -


Next install the software with following command:
# make install

Share this on:

Your support makes a big difference:
I have a small favor to ask. More people are reading the nixCraft. Many of you block advertising which is your right, and advertising revenues are not sufficient to cover my operating costs. So you can see why I need to ask for your help. The nixCraft, takes a lot of my time and hard work to produce. If you use nixCraft, who likes it, helps me with donations:
Become a Supporter →    Make a contribution via Paypal/Bitcoin →   

Don't Miss Any Linux and Unix Tips

Get nixCraft in your inbox. It's free:

{ 6 comments… add one }
  • Daiphyer December 11, 2007, 10:45 am

    If file extensions is .bz2 then use tar command as follows to extract tar ball:
    $ tar -jxvf file.tar.gz

    I am guessing it should be .bz2 insteat of .tar.gz

  • nixCraft December 11, 2007, 11:32 am

    thanks for the heads up!

  • frog December 9, 2008, 4:48 pm

    ok so im a newb and i get all these in every thing i d l but no one tells you where to open file to is it xmacs emacks tmacks rpm ark yast come on don’t be so veg i need some real help all i have is a tar. file i open it yes i see a read me file and a config make and source files but what do i open them in to my guess is emacs but no explanation to what ive playd w/ it for hours i tryd to open w/ icecream rpm yast emacs ark tem shell tried bash ash o god some one put it in lamen terms wright a book and u will make millions to much i find on the net linux/unix/os users try ro make it sound to hard for an average user to do

  • mallikarjun December 15, 2008, 5:48 am


    i geting permission deny error while compiling module programme, and also enter through super user sometime it will disply module librery undefined pls help me

  • guru February 3, 2009, 1:34 am

    How to add a user written device driver to the kernel

  • raj February 22, 2010, 4:37 am

    nIs it possible to compile a program in one version of linux and use it in any other version?

Leave a Comment

   Tagged with: , , , , ,