Installing Crossworks for ARM on 64 Bit Debian 7 "Wheezy" Linux Systems
Please note: this article applies to Debian 7 "Wheezy" only, the steps described are not required for Debian 8 "Jessie" and above. For instructions on running CrossWorks on a 64-bit versions of Linux, see Installing CrossWorks on 64-bit Linux.
CROSSWORKS PREPARATION
Instructions for installing Crossworks for Arm on AMD64 Debian Linux systems.
Do this as super user in order to point at glibc version 2.15 before
installing or running Crossworks. Note that this technique is general enough to
work with a variety of software.
A) Library Installation
A0) Obtain the 2.15 version of glibc plus the requisite infrastructure
from Ubuntu. It can be downloaded into a "safe" directory with
with the following commands.
cd safe
wget http://security.ubuntu.com/ubuntu/pool/main/e/eglibc/libc6_2.15-0ubuntu20_i386.deb
A1) Create a directory into which the glibc 2.15 infrastructure will be installed.
For example:
cd /usr/local
mkdir glibc_2.15
A2) Unpack the Ubuntu package in the directory you just created.
For example:
dpkg -x safe/libc6_2.15-0ubuntu20_i386.deb /usr/local/glibc_2.15
B) Crossworks Installation
B1) Now set the LD_LIBRARY_PATH environment variable to reference
the directory containing glibc version 2.15. (i.e. At this point the
glibc_2.15 directory contains the complete glibc 2.15 infrastructure.)
Execute the following commands to set LD_LIBRARY_PATH. (i.e. Assume the
directory names used in the previous examples.)
GLIBC_DIR=/usr/local/glibc_2.15/lib/i386-linux-gnu
export LD_LIBRARY_PATH="${GLIBC_DIR}:${LD_LIBRARY_PATH}"
B2) Install Crossworks according to the instructions.
./install_crossworks
C) Crossworks Execution Environment Preparation
The location of the library needs to be conveyed Crossworks each time it runs.
To achieve this with minimal difficulty, Crossworks is run by a script rather
than directly. This must be done as super user.
C1) Rename the Crossworks executable as follows.
cd /usr/share/crossworks_for_arm_3.1/bin/
mv crossssudio crossstudio.exe
C2) Create a script named crossstudio with the following contents and
the same permissions as the executable (i.e. Assume the directory
names in the previous examples.)
#
# Make glibc version 2.15 accessible to Crossworks.
#
GLIBC_DIR=/usr/local/glibc_2.15/lib/i386-linux-gnu
export LD_LIBRARY_PATH="${GLIBC_DIR}:${LD_LIBRARY_PATH}"
/usr/share/crossworks_for_arm_3.1/bin/crossstudio.exe
Now you should be able to run Crossworks in the normal way as a normal user.
-
As far as current Linux distributions are concerned, I believe this only really effects the current Debian release (V7 Wheezy, both 32-bit and 64-bit versions). The latest Debian derived distributions such as Ubuntu and Mint are fine, as are other non-Debian distributions. The problem is down to the fact that for some reason Debian 7 is using a very old version of glibc (2.13). Any distributions that use glibc version 2.15 or above do not require these steps to be carried out, this should be most distributions in the last two years.
A separate issue is that of installing CrossWorks on a 64-bit version of Linux which has been addressed here.
For completeness, here are the steps I took on a clean 64-bit Debian 7.6.0 installation in order to get CrossWorks up and running:
* As root, install the 32-bit libraries (this is only necessary if using the 64-bit version of Debian):
dpkg --add-architecture i386 apt-get update apt-get install lib32asound2 lib32gcc1 lib32ncurses5 lib32stdc++6 lib32z1 libc6-i386 ia32-libs
* Download the Ubuntu 12.04 LTS version of libc from http://packages.ubuntu.com/precise/i386/libc6-udeb/download* As root, extract package to a directory using the following command line:
dpkg-deb -x libc6-udeb_2.15-0ubuntu10_i386.udeb /ubuntu-packages
* Setup LD_LIBRARY_PATH to point to this directory using the following command line:export LD_LIBRARY_PATH="/ubuntu-packages/lib:$LD_LIBRARY_PATH"
With LD_LIBRARY_PATH set you can run the installer and run crossstudio - you'll need to do both of these from the command line (crosstudio can be found at /usr/share/crossworks_for_arm_3.2/bin/crossstudio). -
I've already installed CrossWorks for MSP430 on Kubuntu 14.04. Does this still work after installation?
[CODE]
wget http://security.ubuntu.com/ubuntu/pool/main/e/eglibc/libc6_2.15-0ub...
[\CODE]
also this link is broken so i cant try this.
-
I have CrossWorks for the MSP430 Installed on kubuntu 14.04 64-bit. Do i need to take these steps after installation?
i havent tried because this link is broken.
[CODE]
wget http://security.ubuntu.com/ubuntu/pool/main/e/eglibc/libc6_2.15-0ub...
[\CODE]
Please sign in to leave a comment.
Comments
7 comments