How to install Development tools on Linux

To install Development tools on Linux

Development tools are required to install on your system if you have planned to build software. It’ s also useful for building packages on your system. Development tools contain few general useful tools like GCC, g++, make, libc6-dev and dpkg-dev packages. In this tutorial, we will see how to install development tools on RedHat  based and Debian  based Linux  operating systems

Installing on Centos 7 

This procedure is same throughout all the RedHat based distributions  First, update the system repo   by using the following command

[root@linuxhelp ~]# yum update 
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
 * base: mirror.dhakacom.com
 * extras: mirror.dhakacom.com
 * updates: mirror.dhakacom.com
.
.
Updated

And then you can install the development tools by using the following command 

[root@linuxhelp ~]# yum groupinstall " Development Tools" 
Loaded plugins: fastestmirror, langpacks
There is no installed groups file.
Maybe run: yum groups mark convert (see man yum)
Loading mirror speeds from cached hostfile
 * base: mirror.dhakacom.com
 * extras: mirror.dhakacom.com
 * updates: mirror.dhakacom.com
Resolving Dependencies
-->  Running transaction check
--->  Package autoconf.noarch 0:2.69-11.el7 will be installed
-->  Processing Dependency: m4 > = 1.4.14 for package: autoconf-2.69-11.el7.noarch
--->  Package automake.noarch 0:1.13.4-3.el7 will be installed
-->  Processing Dependency: perl(TAP::Parser) for package: automake-1.13.4-3.el7.noarch
--->  Package bison.x86_64 0:3.0.4-1.el7 will be installed
--->  Package byacc.x86_64 0:1.9.20130304-3.el7 will be installed
--->  Package cscope.x86_64 0:15.8-10.el7 will be installed
--->  Package ctags.x86_64 0:5.8-13.el7 will be installed
.
.
.
  perl-Git.noarch 0:1.8.3.1-12.el7_4                                 perl-TermReadKey.x86_64 0:2.30-20.el7                         
  perl-Test-Harness.noarch 0:3.28-3.el7                              perl-XML-Parser.x86_64 0:2.41-10.el7                          
  subversion-libs.x86_64 0:1.7.14-11.el7_4                           systemtap-client.x86_64 0:3.1-5.el7_4                         
  systemtap-devel.x86_64 0:3.1-5.el7_4                              

Complete!

Now you can verify   the information of installed packages by using the following commands

[root@linuxhelp ~]# yum groupinfo " Development Tools" 
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
 * base: mirror.dhakacom.com
 * extras: mirror.dhakacom.com
 * updates: mirror.dhakacom.com

Group: Development Tools
 Group-Id: development
 Description: A basic development environment.
 Mandatory Packages:
   =autoconf
   =automake
    binutils
   =bison
   =flex
   =gcc
   =gcc-c++
    gettext
   =libtool
    make
    patch
    pkgconfig
    redhat-rpm-config
    rpm-build
   =rpm-sign
 Default Packages:
   =byacc
   =cscope
   =ctags
   =diffstat
   =doxygen
    elfutils
   =gcc-gfortran
   =git
   =indent
   =intltool
   =patchutils
   =rcs
   =subversion
   =swig
   =systemtap
 Optional Packages:
   ElectricFence
   ant
   babel
   bzr
   chrpath
   cmake
   compat-gcc-44
   compat-gcc-44-c++
   cvs
   dejagnu
   expect
   gcc-gnat
   gcc-objc
   gcc-objc++
   imake
   javapackages-tools
   ksc
   libstdc++-docs
   mercurial
   mod_dav_svn
   nasm
   perltidy
   python-docs
   rpmdevtools
   rpmlint
   systemtap-sdt-devel
   systemtap-server

Lets check the version of some of the installed packages

[root@linuxhelp ~]# gcc --version
gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-16)
Copyright (C) 2015 Free Software Foundation, Inc.
This is free software  see the source for copying conditions.  There is NO
warranty  not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

[root@linuxhelp ~]# make --version
GNU Make 3.82
Built for x86_64-redhat-linux-gnu
Copyright (C) 2010  Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later < http://gnu.org/licenses/gpl.html> 
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

So this is How you install Development tools on major RedHat  based  Linux distributions

Installing on Linuxmint 18.3 

This installation procedure is same throughout all the major Linux Debian based distros Installation First update the system packages

linuxhelp ~ # apt-get update 
Hit:1 http://archive.ubuntu.com/ubuntu xenial InRelease
Get:2 http://archive.canonical.com/ubuntu xenial InRelease [11.5 kB]                                                
Ign:3 http://packages.linuxmint.com sylvia InRelease                                                                
Get:4 http://security.ubuntu.com/ubuntu xenial-security InRelease [102 kB]                     
Get:5 http://archive.canonical.com/ubuntu xenial/partner amd64 Packages [3,128 B]                    
Get:6 http://packages.linuxmint.com sylvia Release [24.2 kB]                                                         
Get:7 http://archive.ubuntu.com/ubuntu xenial-updates InRelease [102 kB]                             
Get:8 http://archive.canonical.com/ubuntu xenial/partner i386 Packages [3,120 B]                                    
Get:9 http://packages.linuxmint.com sylvia Release.gpg [819 B]                                                      
Get:10 http://archive.ubuntu.com/ubuntu xenial-backports InRelease [102 kB]
.
.
Get:31 http://archive.ubuntu.com/ubuntu xenial-updates/multiverse Translation-en [8,076 B]                                                     
Get:32 http://archive.ubuntu.com/ubuntu xenial-backports/universe amd64 Packages [7,104 B]                                                     
Get:33 http://archive.ubuntu.com/ubuntu xenial-backports/universe i386 Packages [7,080 B]                                                      
Get:34 http://archive.ubuntu.com/ubuntu xenial-backports/universe Translation-en [3,844 B]                                                     
Fetched 5,559 kB in 13s (414 kB/s)                                                                                                             
Reading package lists... Done

After updating run the following command to install the essential development tools

linuxhelp ~ # apt-get install build-essential
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following additional packages will be installed:
  cpp-5 g++ g++-5 gcc-5 gcc-5-base libasan2 libatomic1 libcc1-0 libcilkrts5 libgcc-5-dev libgfortran3 libgomp1 libitm1 liblsan0 libmpx0
  libquadmath0 libstdc++-5-dev libstdc++6 libtsan0 libubsan0
Suggested packages:
  gcc-5-locales g++-multilib g++-5-multilib gcc-5-doc libstdc++6-5-dbg gcc-5-multilib libgcc1-dbg libgomp1-dbg libitm1-dbg libatomic1-dbg
  libasan2-dbg liblsan0-dbg libtsan0-dbg libubsan0-dbg libcilkrts5-dbg libmpx0-dbg libquadmath0-dbg libstdc++-5-doc
The following NEW packages will be installed:
.
.
Setting up libstdc++-5-dev:amd64 (5.4.0-6ubuntu1~16.04.9) ...
Setting up g++-5 (5.4.0-6ubuntu1~16.04.9) ...
Setting up g++ (4:5.3.1-1ubuntu1) ...
update-alternatives: using /usr/bin/g++ to provide /usr/bin/c++ (c++) in auto mode
Setting up build-essential (12.1ubuntu2) ...
Processing triggers for libc-bin (2.23-0ubuntu9) ...

Now the tools have been installed and you can verify that by checking the version of the installed tools

linuxhelp ~ # gcc -v
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/5/lto-wrapper
Target: x86_64-linux-gnu
Configured with: ../src/configure -v --with-pkgversion=' Ubuntu 5.4.0-6ubuntu1~16.04.9'  --with-bugurl=file:///usr/share/doc/gcc-5/README.Bugs --enable-languages=c,ada,c++,java,go,d,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-5 --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-libmpx --enable-plugin --with-system-zlib --disable-browser-plugin --enable-java-awt=gtk --enable-gtk-cairo --with-java-home=/usr/lib/jvm/java-1.5.0-gcj-5-amd64/jre --enable-java-home --with-jvm-root-dir=/usr/lib/jvm/java-1.5.0-gcj-5-amd64 --with-jvm-jar-dir=/usr/lib/jvm-exports/java-1.5.0-gcj-5-amd64 --with-arch-directory=amd64 --with-ecj-jar=/usr/share/java/eclipse-ecj.jar --enable-objc-gc --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu
Thread model: posix
gcc version 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.9)

linuxhelp ~ # make -v
GNU Make 4.1
Built for x86_64-pc-linux-gnu
Copyright (C) 1988-2014 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later < http://gnu.org/licenses/gpl.html> 
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

with this, the method to  install Development tools on Linux comes to an end.

FAQ
Q
how to check the version of some of the installed packages on linux?
A
check the version of some of the installed packages by below command

# gcc --version
Q
what is command to install developement tools in linux?
A
you can install the development tools by using the following command


# yum groupinstall " Development Tools"
Q
Why we need to install Development tool for linux?
A
Development tools are required to install on your system if you have planned to build software. It’s also useful for building packages on your system. Development tools contain few general us
Q
How can i install the development tools packages for OpenSUSE 42.3 Leap?
A
You need to follow the below steps to install Development tools for OpenSUSE



zypper addrepo https://download.opensuse.org/repositories/devel:tools/openSUSE_Leap_42.3/devel:tools.repo

zyppe
Q
How can I get Python 3 on Red Hat Enterprise Linux?
A
You can get the Python 3 form the link for linux

https://developers.redhat.com/products/softwarecollections/hello-world/#fndtn-windows