Difference between revisions of "Build Environment Ubuntu 9.04"

From Gumstix User Wiki
Jump to: navigation, search
(Setup Build Environment)
m
Line 14: Line 14:
 
  sudo apt-get install build-essential help2man diffstat texi2html texinfo libncurses5-dev cvs gawk  
 
  sudo apt-get install build-essential help2man diffstat texi2html texinfo libncurses5-dev cvs gawk  
 
  sudo apt-get install python-dev python-pysqlite2 python-psyco ckermit lrzsz subversion
 
  sudo apt-get install python-dev python-pysqlite2 python-psyco ckermit lrzsz subversion
 +
 +
See [[Bitbake_on_Ubuntu|Bitbake On Ubuntu]] for directions on how to setup Bitbake.
  
 
3) Download the source from svn, caching the source code
 
3) Download the source from svn, caching the source code

Revision as of 10:33, 8 October 2009

This is based on the set-up for Ubuntu 8.10 with file modifications as described on this thread. gumstix-oe version is 318.

Setup Build Environment

1) Get Ubuntu linux 9.04, and install it on your computer; you can install a vmware version of Ubuntu too, but it will be slow during the building process.

Reconfigure sh to point to bash, not dash:

 sudo dpkg-reconfigure dash

Answer no when asked whether you want to install dash as /bin/sh.

2) Install (build-essential, help2man, diffstat, texi2html, texinfo, libncurses5-dev, cvs, gawk, python-dev, python-pysqlite2, python-psyco, ckermit, lrzsz, subversion) by using apt-get. i.e:

sudo apt-get update
sudo apt-get install build-essential help2man diffstat texi2html texinfo libncurses5-dev cvs gawk 
sudo apt-get install python-dev python-pysqlite2 python-psyco ckermit lrzsz subversion

See Bitbake On Ubuntu for directions on how to setup Bitbake.

3) Download the source from svn, caching the source code

mkdir ~/gumstix 
cd ~/gumstix 
svn co https://gumstix.svn.sourceforge.net/svnroot/gumstix/trunk gumstix-oe
cat gumstix-oe/extras/profile >> ~/.bashrc
sudo groupadd oe
sudo usermod -a -G oe YOUR_CURRENT_USERNAME
sudo mkdir /usr/share/sources
sudo chgrp oe /usr/share/sources
sudo chmod 0775 /usr/share/sources
sudo chmod ug+s /usr/share/sources

4) Downgrade to gcc-4.1 and g++-4.1 and change the links:

sudo aptitude install gcc-4.1 g++-4.1
sudo ln -sf /usr/bin/gcc-4.1 /usr/bin/gcc
sudo ln -sf /usr/bin/g++-4.1 /usr/bin/g++

Check the links are correct using:

ls -l /usr/bin/gcc
ls -l /usr/bin/g++

5) Log out and log in again.

6) Build the basic image, it will fail with an error in dbus:

bitbake gumstix-basic-image

Edit gumstix/gumstix-oe/tmp/work/i686-linux/dbus-native-1.0.1-r0/dbus-1.0.1/dbus/dbus-sysdeps-unix.c

Add this struct,

struct ucred { 
   unsigned int pid; 
   unsigned int uid; 
   unsigned int gid; 
};

after the macros.

7) Build the basic image, it will fail with an error in sumversion:

bitbake gumstix-basic-image

Edit gumstix/gumstix-oe/tmp/work/gumstix-custom-verdex-angstrom-linux-gnueabi/gumstix-kernel-2.6.21-r1/linux-2.6.21/scripts/mod/sumversion.c

Add this line,

 #include <limits.h> 

after all of the other includes.

8) Build the basic image again. If it fails with an error in gconf-dbus, do the following:

a. download file http://download.gnome.org/sources/GConf-dbus/2.16/GConf-dbus-2.16.0.tar.gz

b. move and rename this file to:

/usr/share/sources/trunk_developer.imendio.com_.svn.gconf-dbus_606_.tar.gz

9) Build the basic image again, this time it should work:

bitbake gumstix-basic-image

10) If everything builds ok, it could be a good idea to modify the dbus-sysdeps-unix.c and sumversion.c files in their respective packages in /usr/share/sources as otherwise everytime you do a rebuild they will be wiped. Note that dbus-sysdeps-unix.c is found in package dbus-1.0.1.tar.gz, and sumversion.c is found in package linux-2.6.21.tar.bz2.