Code Sourcery ARM toolchain 2009q1-203

From RidgeRun Developer Connection

(Difference between revisions)
Jump to:navigation, search
(Configuring SDK to use toolchain)
(/lib/libc.so.6: No such file)
Line 112: Line 112:
Launching installer...
Launching installer...
 +
</pre>
 +
 +
You can use the ''locate'' command to find the library:
 +
 +
<pre>
 +
locate libc.so.6
 +
 +
/lib/i386-linux-gnu/libc.so.6
 +
</pre>
 +
 +
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:
 +
 +
<pre>
 +
strings arm-2009q1-203-arm-none-linux-gnueabi.bin | fgrep libc.so.6
 +
 +
nptl="`strings /lib/libc.so.6 | grep -i nptl`"
</pre>
</pre>

Revision as of 23:53, 27 January 2012

Contents

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.

From mentor.com: Mentor acquired from Code Sourcery in November 2010.

Downloading toolchain

The following binary installer is recommended for adding the toolchain to your host computer.

http://www.codesourcery.com/sgpp/lite/arm/portal/package4573/public/arm-none-linux-gnueabi/arm-2009q1-203-arm-none-linux-gnueabi.bin

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

chmod ugo+x arm-2009q1-203-arm-none-linux-gnueabi.bin
./arm-2009q1-203-arm-none-linux-gnueabi.bin

You will see a welcome screen:

Cs-toolchain-arm-2009q1-203-welcome.jpg

Press Next.

Cs-toolchain-arm-2009q1-203-license.jpg

Accept the license, and press Next.

Cs-toolchain-arm-2009q1-203-important-information.jpg

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

Cs-toolchain-arm-2009q1-203-install-set.jpg

Select Typical install and press Next.

Cs-toolchain-arm-2009q1-203-install-folder.jpg

Change the install location to

/opt/codesourcery/arm-2009q1

and press Next.


Cs-toolchain-arm-2009q1-203-set-PATH.jpg

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

Cs-toolchain-arm-2009q1-203-choose-link-folder.jpg

Select Don't create links and press Next.

Cs-toolchain-arm-2009q1-203-pre-installation-summary.jpg

Review summary information and press Install.

Cs-toolchain-arm-2009q1-203-installation-complete.jpg

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.

The menu tree is

RidgeRun SDK Configuration ->
   Toolchain configurations ->
      Toolchain binaries 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:

strings arm-2009q1-203-arm-none-linux-gnueabi.bin | fgrep libc.so.6

nptl="`strings /lib/libc.so.6 | grep -i nptl`"
Navigation
Toolbox