Installing Code::Blocks from source on RPM based distributions

From Code::Blocks


Install Requirements

Install Developer Tools

This has to be installed before starting:

  • zip
  • update-desktop-files (only on SUSE)
  • make
  • gettext
  • autoconf >= 2.5
  • automake >= 1.7
  • libtool >= 1.4
  • m4
  • intltool
  • gcc-c++
  • libstdc++-devel

In Fedora/CentOS, this can be done with:

su -c 'yum groupinstall "Developer Tools"'

Install newer autotools versions

TODO

If you have CentOS 3 or RHEL 3, you will need to rebuild "automake17" to use instead of automake-1.6:

You will also need to patch the "bootstrap" script from Code::Blocks, in order to use aclocal-1.7:

Then you need to invoke bootstrap like this, both on the commandline and in codeblocks.spec:

AUTOMAKE=automake-1.7 ACLOCAL=aclocal-1.7 ./bootstrap

And edit the BuildRequires in codeblocks.spec, from "automake >= 1.7" to "automake17" package.

Setup RPM environment

This has to be installed before starting:

  • rpm-build

Non-root rpmbuild environment

cd
echo "%_topdir $HOME/rpm" >> .rpmmacros
mkdir rpm
cd rpm
mkdir SPECS SOURCES BUILD RPMS SRPMS
RPM_TOPDIR=`rpm --eval %{_topdir}`

Install wxWidgets 2.6.x

The build requirements in the source RPM are set to a minimum. So it isn't checked whether wxGTK is installed or not. So you have to take a look at it yourself.

This has to be installed:

  1. wxGTK >= 2.6.0 and its devel package (see wxwidgets.org)
  2. wxGTK-xrc and its devel package (in some distributions included in the packages of point 1)

Build the wxGTK RPM from source (if needed)

TODO

Install Subversion client

This has to be installed before starting:

Build Subversion RPM from source (if needed)

TODO

Install Code::Blocks

Download the Source RPM

1. Download the Source RPM from www.codeblocks.org/downloads.shtml

Prepare SRPM package from SVN (if needed)

1. You need to get the latest sources from SVN www.codeblocks.org/source_code.shtml

2. go into trunk, if you haven't already done it.

3. run these three commands in this order

./bootstrap
./configure --enable-contrib
make dist

the last one will create a .tar.gz archive that contains the sources.

4. copy the archive to the directory $RPM_TOPDIR/SOURCES

sudo mv codeblocks-trunk-r$REVISION.tar.gz $RPM_TOPDIR/SOURCES

5. build the source RPM

rpmbuild -bs codeblocks.spec

This will create a source package in the directory $RPM_TOPDIR/SRPMS/.

Build the RPM package

1. Build the binary package

rpmbuild --rebuild codeblocks-1.0*.src.rpm

This will create several packages in one of the architecture specific subdirectories (i386, x86_64, ppc, ...) of $RPM_TOPDIR/RPMS/.

These are:

  • codeblocks: main package
  • codeblocks-contrib: contrib plugins
  • codeblocks-devel: SDK headers
  • codeblocks-debuginfo: stripped debug information

Install the RPM package

Install as root the packages you want (usually codeblocks and codeblocks-contrib) and enjoy Code::Blocks!