Linux ide code blocks

Installing Code::Blocks from source on Linux

These are instructions on how to build Code::Blocks under Linux. These instructions should work for all Linux distros, as we’ll be installing from sources.

Contents

Prerequisites

In order to successfully compile Code::Blocks, the wxWidgets User Interface library must be installed. For most Linux users, this is maybe the only dependency not already installed. wxWidget can be used directly on top of the X server, in this case the variant of the wxWidget library is called wxX11. However this library is sub-par compared to other toolkits and unstable. Hence Code::Blocks uses wxGTK, the version of wxWidget based on GTK+. The exact requirement is libwxGTK-2.8.0 or later (2.8.3 is not recommended because of some troubles). This creates an additional dependency on GTK+, consider the following:

A possible implementation which does not exist:

Code::Blocks -> wxWidgets (libwxX11) -> X

Current Code::Blocks implementation:

Code::Blocks -> wxWidgets (> libwxGTK2.8) -> GTK+ (> libgtk-x11-2.0) -> X

This document helps you to install libwxGTK if necessary but does not cover the installation of GTK+. GTK+ is probably installed on your Linux anyway, so don’t worry 😉

Note: All the instructions below, assume an existing directory named ~/devel. If you ‘ll be using a different one, adjust the path to match. As a first step create this directory:

Checking the presence of GTK+ library

Have a look in /usr/lib ( /usr/lib/x86_64-linux-gnu for 64 bits) for something like «libgtk-x11-2.0.so» (Note the library must be 2.0 minimum). Alternatively, do a search with your package manager or go to your Linux distribution forum for help. If you don’t want to loose time, you can even forget this check since there is a good probability that everything is already installed.

Library wxGTK installation

Checking the presence of libwxGTK library

In your package manager, look for ‘libwxgtk’ keyword and verify that all libwxgtk2.8 stuffs are installed. If you find the libraries uninstalled, just install them and go directly to Code::Blocks installation.

Alternatively you can do the same in the command line (the following is an example, there may be more than two packages):

$ ls /usr/lib/libwx_gtk* //to verify the presence $ sudo apt-get install libwxgtk2.8-dev $ sudo apt-get install libwxgtk2.8-0

If you don’t find any packages you must install the library from source as described below, and you can redo this check afterwards to verify that the installation worked correctly.

Note for Debian and Ubuntu users: You can use

$ update-alternatives --config wx-config

to see which version of libwx is there or not and currently active.

Читайте также:  Ida pro linux debugger

And, Debian and Ubuntu user can use this to add a value to the list of choices

$ update-alternatives --install /usr/bin/wx-config wx-config /opt/wx/2.8/bin/wx-config 50

Getting wxGTK sources

Visit the wxWidgets web site. Click the «Download» button at the top of the page. Under wxWidgets 2.8.7 downloads, select wxGTK. Save the file in ~/devel. After the download finishes, switch to ~/devel:

Now, untar the wxGTK sources:

Switch to the wxGTK directory:

Building wxWidgets

Here we will create a separate build directory instead of building from the src directory, so that we can easily rebuild with different options (unicode / ansi, monolithic / many libs, etc).

The documentation says the default is for gtk2 to use unicode and wx > 2.5 to build as a monolithic library. This doesn’t appear to be the case, so these flags are passed to configure:

mkdir build_gtk2_shared_monolithic_unicode cd build_gtk2_shared_monolithic_unicode ../configure --prefix=/opt/wx/2.8 \ --enable-xrc \ --enable-monolithic \ --enable-unicode make su make install exit

Add /opt/wx/2.8/bin to the PATH (if your shell is bash then edit /etc/profile or ~/.bash_profile) (On Suse 10.1 edit /etc/profile.local, it will only be available after a new login). An example PATH:

export PATH=/usr/bin:/opt/wx/2.8/bin:$PATH

Add /opt/wx/2.8/lib to /etc/ld.so.conf (nano /etc/ld.so.conf), then run:

ldconfig source /etc/profile

That’s it. Now the linker will look in /opt/wx/2.8/lib for wx libraries and you will have a monolithic shared library unicode build.

To check that things are working, type:

which should give you /opt/wx/2.8

which should have at least:

but can contain other flags as well.

should return /opt/wx/2.8/bin/wx-config

Code::Blocks installation

Getting Code::Blocks sources

You can get Code::Blocks source code from the website as a tarball or from the SVN repository (this second method is described below).

From SVN repository

NOTICE: The SourceForge CVS is no longer used although it still exists.

Enter your development directory:

Then checkout the source using one of these methods. This will create the directory trunk. Change to the source code directory, by issuing the following command:

If you are a Gentoo user at this point, please see Compiling_Code::Blocks_in_Gentoo.

Before beginning, it is often a good idea to check you have recent versions of autoconf and automake — repositories versions are not always recent enough. (if you do not have automake, then you will get «cannot find aclocal» error). If you’re compiling the svn trunk versions of CodeBlocks (or future versions) then the unix build has switched to autotools. So first build wxWidgets as described above and then build CodeBlocks. In short, these commands build Code::Blocks from sources and installs it:

./bootstrap ./configure make make install

The long story is as follows: First run:

This sets up the configure script and its dependencies. It only needs to be run once (after downloading the source from svn).

Читайте также:  Линукс сервер windows сети

If you get errors like (. ):

./bootstrap: libtoolize: not found

. then install the «libtool» package using your package manager.

./bootstrap: 64: ./bootstrap: aclocal: not found

. then the «autoconf» and «automake» package using your package manager.

bad interpreter: File not found

. then there exists a problem with DOS line-endings, for example if you cross compile to a Windows partition. Simply check-out a fresh copy of CodeBlocks from SVN.
Or, instead of downloading from SVN, you might consider using the little command line tool dos2unix, which normally comes with most distributions.

(".infig.status: error: cannot find input file: Makefile")

. (configure aborts with some unspecific error messagelike that), then you might consider also running dos2unix bootstrap acinclude.m4 codeblocks.pc.in configure.in Makefile.am before running bootstrap. Once you’ve run the bootstrap script, jump to next step.

aclocal:configure.in:61: warning: macro `AM_OPTIONS_WXCONFIG' not found in library

. then aclocal is having trouble finding the wxWidgets .m4 files. You can do one of two things: To just get bootstrap to find the path this time do:

export ACLOCAL_FLAGS="-I `wx-config --prefix`/share/aclocal"

To change the aclocal search path more permanently do:

echo `wx-config --prefix`/share/aclocal >> /usr/share/aclocal/dirlist

Then aclocal will also search somewhere like /opt/wx/2.8/share/aclocal

Note for Ubuntu users: The above is not the correct way to fix the AM_* errors. Rather, you only need to install the package named «wx-common» (Universe repository).

The usual way to define `LIBTOOL' is to add `AC_PROG_LIBTOOL'

. then this can be solved by something like:

ACLOCAL_FLAGS="-I /usr/share/aclocal" ./bootstrap

(. maybe adopting the path, so use `wx-config —prefix` is necessary.)

Installing Code::Blocks sources

You can read the BUILD file included in the source, but everything is very straightforward. Do:

./configure make make install

You may need to run make install with super user rights, in that case use:

If you have multiple versions of wxWidgets installed or kept them in place, you can use:

./configure --with-wx-config=/path/to/wx-config

Note: The Nassi Shneiderman plugin (part of the contrib plugins) has a dependency on boost which is needed to compile this plugin. Boost does not need to be compiled therefore. It is not checked for the existing of boost at the moment (except for debian build-system, there it is a build-dependency), so if you configure C::B to be build without Nassi Schneiderman, it should not lead to problems in case you don’t have/want boost.

To uninstall you can later run:

If you want to recompile everything, first run:

make clean make distclean make clean-bin make clean-zipfiles

and then follow the above sequence for installing.

By default, CodeBlocks will install to /usr/local. If you want it in its own tree (so you can have multiple versions of CodeBlocks, each in its own subdirectory of /opt) replace the above ./configure command with:

./configure --prefix=/opt/codeblocks-svn

or similar. Then you can later install a different build like:

./configure --prefix=/opt/codeblocks2-svn

followed by ‘make && make install’ as usual.

Читайте также:  Linux build your own

By default, CodeBlocks will not compile the contributed plugins from SVN. If you want to compile / install them too, replace the above ./configure command with:

./configure --with-contrib-plugins=all

followed by ‘make && make install’ as usual.

To see a list of other options available for configuring the build of CodeBlocks do:

To compile under Gentoo, use:

./configure --with-wx-config=wx-config-2.8

Resolving runtime issues

When running Code::Blocks after the installation it might happen, that the system complains:

codeblocks: error while loading shared libraries: libcodeblocks.so.0: cannot open shared object file: No such file or directory

In that case make sure the library path where the Code::Blocks libraries where installed into is «known» to the system. For example: On Ubuntu using a default build process on a clean system will install the Code::Blocks executables to /use/local/bin and the libraries to /usr/local/lib. The latter is usually not known to a «clean» Ubuntu system. To add it to the search path for libraries do the following (as root / using sudo respectively): Add the following line to the file /etc/ld.so.conf:

That’s it — Code::Blocks should now work just fine as all libraries are being found.

Note that for both you may need super user rights again — so use the sudo command as needed.

Источник

Code::Blocks

Support Code::Blocks

Code::Blocks is a free C/C++ and Fortran IDE built to meet the most demanding needs of its users. It is designed to be very extensible and fully configurable.

Built around a plugin framework, Code::Blocks can be extended with plugins. Any kind of functionality can be added by installing/coding a plugin. For instance, event compiling and debugging functionality is provided by plugins!

If you ’re new here, you can read the user manual or visit the Wiki for documentation. And don’t forget to visit and join our forums to find help or general discussion about Code::Blocks.

We hope you enjoy using Code::Blocks!

Latest news

Migration successful

We are very happy to announce that the process of migrating to the new infrastructure has completed successfully!

Forums and Wiki migration

During the next couple of days, the forums and wiki will be migrated over to the new infrastructure.

Infrastructure migration

We will soon migrate the rest of our services to the new infrastructure. This will provide us better performance and uptime.

Build system

Code::Blocks implements a custom build system with very important features: ultra-fast dependencies generation, build queues and parallel builds are the most important ones to mention.

Debugging

The debugging subsystem has been greatly enhanced in the latest version. Automatic/manual watches, code/data breakpoints, call stack, disassembly listing and memory dumps are only few of its features.

Источник

Оцените статью
Adblock
detector