Solaris

From Openmoko

(Difference between revisions)
Jump to: navigation, search
(Onto the Point)
(Onto the Point)
Line 21: Line 21:
 
After a few dead starts, the best way to build on Solaris is to use a BrandZ Linux zone, and install enough stuff into the CentOS-3 image to make it all work.
 
After a few dead starts, the best way to build on Solaris is to use a BrandZ Linux zone, and install enough stuff into the CentOS-3 image to make it all work.
  
This is on a randomly, and partially, upgraded version of OpenSolaris Indiana (2008.5).
+
This is on a randomly, and partially, upgraded version of OpenSolaris Indiana (2008.5).
  
 
Using these directions for setting up the zone:
 
Using these directions for setting up the zone:
 
http://wikis.sun.com/display/chosug/Installing+a+Linux+Zone
 
http://wikis.sun.com/display/chosug/Installing+a+Linux+Zone
 +
 +
Create a user (or the build system will complain that you're "root").  Create /home, and then create the user.  Let's call him 'moko'.
 +
 +
Before doing the su - moko, it's time to install a '''lot''' of software:
  
 
Try to install what you can from the package list in MokoMakefile
 
Try to install what you can from the package list in MokoMakefile
  
The rest, here's what I've had to install so far:
+
The rest by download, configure, and make. Here's what I've had to install so far:
  
 
# apr-1.3.3/ -- for subversion
 
# apr-1.3.3/ -- for subversion
Line 35: Line 39:
 
# diffstat-1.46/
 
# diffstat-1.46/
 
# help2man-1.36.4/  -- build without NLS.
 
# help2man-1.36.4/  -- build without NLS.
# git-1.6.0.2/
+
# git-1.6.0.2/ -- yum didn't have this.
 
# ncftp-3.2.2/ -- to make CPAN happy about Locale::gettext
 
# ncftp-3.2.2/ -- to make CPAN happy about Locale::gettext
 
# neon-0.28.3/  -- for subversion
 
# neon-0.28.3/  -- for subversion
# Python-2.6/  -- for the proper sqlite support
+
# Python-2.6/  -- for the proper sqlite support.  Yeah, the whole thing.
# sqlite-3.6.3/  -- for python
+
# sqlite-3.6.3/  -- for python's sake.
 
# subversion-1.5.3/  -- yum didn't have this.
 
# subversion-1.5.3/  -- yum didn't have this.
# texi2html-1.64/
+
# texi2html-1.64/ -- no package for this either.
 
# texinfo-4.9/ -- default version didn't have makeinfo
 
# texinfo-4.9/ -- default version didn't have makeinfo
  

Revision as of 23:09, 13 October 2008

Building on Solaris

(Well, OpenSolaris)

Most of this is a war of inches, with the enemy using 10,000 paper cuts to bleed your soul dry.

Most likely, he'll win.

The opposition's key weapon is the excessive use of unnecessary features. Not even resulting in bloat, but just growing the dependency graph of installed software on the build system to make the entire thing incredibly sensitive to almost any difference between their build systems and yours.

Hence, why we're going to use a full Linux userland stack to do this. Atop of this, we'll have to upgrade components extensively to make this all work. You're going to hate all this.

But hey, at least you don't actually have to run Linux.

Note and Disclaimer

I'm still working on getting this all to work. Don't actually follow these instructions until I've claimed success. Until then, it's best an amusement to watch from the sidelines.

Onto the Point

After a few dead starts, the best way to build on Solaris is to use a BrandZ Linux zone, and install enough stuff into the CentOS-3 image to make it all work.

This is on a randomly, and partially, upgraded version of OpenSolaris Indiana (2008.5).

Using these directions for setting up the zone: http://wikis.sun.com/display/chosug/Installing+a+Linux+Zone

Create a user (or the build system will complain that you're "root"). Create /home, and then create the user. Let's call him 'moko'.

Before doing the su - moko, it's time to install a lot of software:

Try to install what you can from the package list in MokoMakefile

The rest by download, configure, and make. Here's what I've had to install so far:

  1. apr-1.3.3/ -- for subversion
  2. apr-util-1.3.4/ -- for subversion
  3. bash-3.2/ -- the builtin cp doesn't take the -t option, the one in this newer bash does.
  4. diffstat-1.46/
  5. help2man-1.36.4/ -- build without NLS.
  6. git-1.6.0.2/ -- yum didn't have this.
  7. ncftp-3.2.2/ -- to make CPAN happy about Locale::gettext
  8. neon-0.28.3/ -- for subversion
  9. Python-2.6/ -- for the proper sqlite support. Yeah, the whole thing.
  10. sqlite-3.6.3/ -- for python's sake.
  11. subversion-1.5.3/ -- yum didn't have this.
  12. texi2html-1.64/ -- no package for this either.
  13. texinfo-4.9/ -- default version didn't have makeinfo

Actually, whenever you have the option, --disable-nls in the configure scripts seems to make life a lot easier.

This is being written as I do it, so note that it'll change until I've gotten a full build (make image) done. After that, it's dfu-util!

Personal tools

Building on Solaris

(Well, OpenSolaris)

Most of this is a war of inches, with the enemy using 10,000 paper cuts to bleed your soul dry.

Most likely, he'll win.

The opposition's key weapon is the excessive use of unnecessary features. Not even resulting in bloat, but just growing the dependency graph of installed software on the build system to make the entire thing incredibly sensitive to almost any difference between their build systems and yours.

Hence, why we're going to use a full Linux userland stack to do this. Atop of this, we'll have to upgrade components extensively to make this all work. You're going to hate all this.

But hey, at least you don't actually have to run Linux.

Note and Disclaimer

I'm still working on getting this all to work. Don't actually follow these instructions until I've claimed success. Until then, it's best an amusement to watch from the sidelines.

Onto the Point

After a few dead starts, the best way to build on Solaris is to use a BrandZ Linux zone, and install enough stuff into the CentOS-3 image to make it all work.

This is on a randomly, and partially, upgraded version of OpenSolaris Indiana (2008.5).

Using these directions for setting up the zone: http://wikis.sun.com/display/chosug/Installing+a+Linux+Zone

Try to install what you can from the package list in MokoMakefile

The rest, here's what I've had to install so far:

  1. apr-1.3.3/ -- for subversion
  2. apr-util-1.3.4/ -- for subversion
  3. bash-3.2/ -- the builtin cp doesn't take the -t option, the one in this newer bash does.
  4. diffstat-1.46/
  5. help2man-1.36.4/ -- build without NLS.
  6. git-1.6.0.2/
  7. ncftp-3.2.2/ -- to make CPAN happy about Locale::gettext
  8. neon-0.28.3/ -- for subversion
  9. Python-2.6/ -- for the proper sqlite support
  10. sqlite-3.6.3/ -- for python
  11. subversion-1.5.3/ -- yum didn't have this.
  12. texi2html-1.64/
  13. texinfo-4.9/ -- default version didn't have makeinfo

Actually, whenever you have the option, --disable-nls in the configure scripts seems to make life a lot easier.

This is being written as I do it, so note that it'll change until I've gotten a full build (make image) done. After that, it's dfu-util!