Installing Code::Blocks from source on RPM based distributions
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
If you have CentOS 3 or RHEL 3, you will need to rebuild "automake17" to use instead of automake-1.6:
rpmbuild --rebuild automake17-1.7.9-5.src.rpm
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 ACLOCAL_FLAGS="-I /usr/share/aclocal" ./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
The top work directory for RPM varies between distributions and setups, but you can find your top dir by setting a variable like:
RPM_TOPDIR=`rpm --eval %{_topdir}`
Non-root rpmbuild environment
It is recommended that you don't use the root account to build packages, here is how you set up a minimal user build environment:
cd echo "%_topdir $HOME/rpm" >> .rpmmacros echo "%_tmppath /tmp/$USER/rpm" >> .rpmmacros mkdir rpm cd rpm mkdir SPECS SOURCES BUILD RPMS SRPMS
You can now build packages without being root (assuming that the spec files are correct). You still need root access to install.
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:
- wxGTK >= 2.6.0 and its devel package (see wxwidgets.org)
- 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
- wxGTK.spec
- http://prdownloads.sourceforge.net/wxwindows/wxGTK-2.6.3.tar.gz
- ftp://biolpc22.york.ac.uk/pub/2.6.3/wxWidgets-2.6.3-Patch-2.tar.gz
Install Subversion client
This has to be installed before starting:
- subversion >= 1.4.0, (see subversion.tigris.org)
Build Subversion RPM from source (if needed)
TODO
- subversion.spec
- http://subversion.tigris.org/downloads/subversion-1.4.0.tar.gz
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!