About Mentor Embedded / Code Sourcery

From codesourcery.com: CodeSourcery builds software tools that enable its customers to get the most out of hardware platforms ranging from embedded devices to supercomputers. CodeSourcery's products and services deliver on the promise of open-source software and open standards. Founded in 1997.

Creating directory to hold toolchain

Run the following commands to create the directory to hold the toolchain and allow anyone to write to that directory.

sudo mkdir -p /opt/codesourcery
sudo chmod ugo+wrx /opt/codesourcery

After you install the toolchain, you can make the directory non-writable if you so desire.

Using bash instead of dash

By default on Ubuntu systems, /bin/sh is linked to /bin/dash and that causes problems with certain versions of the toolchain and some SDK build scripts. Run the following commands to switch to using bash:

sudo rm /bin/sh
sudo ln -s /bin/bash /bin/sh

Installing toolchain

After downloading the toolchain, set the execution permission and run the installer

Review the components that are included with the toolchain and press Next.

Select Typical install and press Next.

Change the install location to

/opt/codesourcery/arm-2009q1

and press Next.

Change option to Do not modify PATH. and press Next.

Select Don't create links and press Next.

Review summary information and press Install.

Press Done when the installation is complete.

Configuring SDK to use toolchain

The RidgeRun SDK configuration tool allows you to set the toolchain directory path. The default location is /opt/codesourcery/arm-2009q1, so if the recommended location was used above, you do not need to configure your SDK. If you used a different location, then you will need to run the SDK configuration tool once you have the SDK installed in order to change the toolchain directory path.

Errors and how to fix them

/lib/libc.so.6: No such file

On Ubuntui 11.10, you might see this error when installing the toolchain:

Preparing to install...
Extracting the JRE from the installer archive...
Unpacking the JRE...
Extracting the installation resources from the installer archive...
Configuring the installer for this system's environment...
strings: '/lib/libc.so.6': No such file
Launching installer...

You can use the locate command to find the library:

locate libc.so.6
/lib/i386-linux-gnu/libc.so.6

so the library is on the system, just not at the hard coded path the toolchain installer was expecting.

You can see that the installer has the path hard coded using the strings command: