Difference between revisions of "Build Environment Ubuntu 8.10"

From Gumstix User Wiki
Jump to: navigation, search
(add Category:How_to_-_Ubuntu)
 
(26 intermediate revisions by 17 users not shown)
Line 1: Line 1:
This the current set-up for Ubuntu 8.10 with file modifications as described [http://www.nabble.com/Ubuntu-8.10-and-Open-Embeded-td21136352.html on this thread]. gumstix-oe version is 318.
+
This the current set-up for Ubuntu 8.10 with file modifications as described [http://gumstix.8.x6.nabble.com/Ubuntu-8-10-and-Open-Embeded-td645061.html on this thread]. gumstix-oe version is 318.
  
 
== Setup Build Environment ==
 
== Setup Build Environment ==
1) Get Ubuntu linux 8.10, and install it on your computer; you can install a vmware version of Ubuntu too, but it will be slow during the building process
+
1) Get Ubuntu linux 8.10, 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:
 
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 install build-essential help2man diffstat texi2html texinfo libncurses5-dev cvs gawk python-dev python-pysqlite2 python-psyco ckermit lrzsz subversion
 
  sudo apt-get install build-essential help2man diffstat texi2html texinfo libncurses5-dev cvs gawk python-dev python-pysqlite2 python-psyco ckermit lrzsz subversion
  
3) Download the source from svn, and caching the source code
+
3) Download the source from svn, caching the source code
 
  mkdir ~/gumstix  
 
  mkdir ~/gumstix  
 
  cd ~/gumstix  
 
  cd ~/gumstix  
Line 25: Line 31:
 
  sudo ln -sf /usr/bin/g++-4.1 /usr/bin/g++
 
  sudo ln -sf /usr/bin/g++-4.1 /usr/bin/g++
  
Check is correct using:
+
Check the links are correct using:
  
 
  ls -l /usr/bin/gcc
 
  ls -l /usr/bin/gcc
 
  ls -l /usr/bin/g++
 
  ls -l /usr/bin/g++
  
5) Edit gumstix/gumstix-oe/tmp/work/i686-linux/dbus-native-1.0.1-r0/
+
5) Log out and log in again.
dbus-1.0.1/dbus/dbus-sysdeps-unix.c
+
  
Add this struct:
+
6) Build the basic image, it will fail with an error in dbus:
 +
 
 +
bitbake gumstix-basic-image
 +
 
 +
Edit <code>gumstix/gumstix-oe/tmp/work/i686-linux/dbus-native-1.0.1-r0/dbus-1.0.1/dbus/dbus-sysdeps-unix.c</code>
 +
 
 +
Add this struct,
  
 
<code><pre>
 
<code><pre>
Line 43: Line 54:
 
</pre></code>
 
</pre></code>
  
after the macros
+
after the macros.
  
6) Edit gumstix/gumstix-oe/tmp/work/gumstix-custom-verdex-angstrom-linux-
+
7) Build the basic image, it will fail with an error in sumversion:
gnueabi/gumstix-kernel-2.6.21-r1/linux-2.6.21/scripts/mod/sumversion.c
+
  
Add this line:
+
bitbake gumstix-basic-image
 +
 
 +
Edit <code>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</code>
 +
 
 +
Add this line,
  
 
   #include <limits.h>  
 
   #include <limits.h>  
Line 54: Line 68:
 
after all of the other includes.
 
after all of the other includes.
  
7) Logout and then login again.
+
8) Build the basic image again, this time it should work:
  
8) Start compiling the environment by bitbake; this will talk a very long time!
 
 
  bitbake gumstix-basic-image
 
  bitbake gumstix-basic-image
 +
 +
9) If everything builds ok, it could be a good idea to modify the dbus-sysdeps-unix.c and sumversion.c files is their respective packages in /usr/share/sources as otherwise everytime you do a rebuild they will be wiped.
  
 
[[Category:How_to_-_general]]
 
[[Category:How_to_-_general]]
 
[[Category:How_to_-_Ubuntu]]
 
[[Category:How_to_-_Ubuntu]]

Latest revision as of 14:39, 1 April 2016

This the current 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 8.10, 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 install build-essential help2man diffstat texi2html texinfo libncurses5-dev cvs gawk python-dev python-pysqlite2 python-psyco ckermit lrzsz subversion

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, this time it should work:

bitbake gumstix-basic-image

9) If everything builds ok, it could be a good idea to modify the dbus-sysdeps-unix.c and sumversion.c files is their respective packages in /usr/share/sources as otherwise everytime you do a rebuild they will be wiped.