Sugar on Gentoo Linux

From OLPC
Revision as of 23:46, 25 February 2007 by 72.254.192.46 (talk) (Getting and building jhbuild: Note the broken instructions)
Jump to: navigation, search

Installation

It was really easy to get Sugar going under gentoo using sugar-jhbuild. The instructions on this page have been tested under Gentoo 2006.1 ~x86


Emerge(1) the prerequisites

There are a number of packages required to get going. All of these, with the exception of jhbuild, are in the portage tree.

emerge -av dev-util/git cvs subversion docbook-sgml-utils gtk-doc avahi expat gstreamer xulrunner pycurl networkmanager

I have definitely missed one or two as I started with a full xorg-x11 desktop with gnome already installed, please add them to this list if you find any!

Note: as of 2007-01-24 the networkmanager package and a number of its dependencies are now hard-masked by Gentoo due to bug reports To emerge these dependencies you will need to add the packages to /etc/portage/package.unmask. This is generally *not* recommended on Gentoo for anyone not willing to deal with problems that arise themselves.

Also note the following message during building:

cryptsetup requires dm-crypt support!
Please enable dm-crypt support in your kernel config, found at:
(for 2.6 kernels)

   Device Drivers
     Multi-Device Support
       Device mapper support
         [*] Crypt Target Support

 and recompile your kernel if you want this package to work with this kernel.  Many kernels will have the module already, try:
modprobe dm-crypt

and see if you have the kernel module already.

Many of the packages are also not available without using the "unstable" flag for x86 (i.e. adding the package to /etc/portage/package.keywords).

Getting and building jhbuild

Instructions for getting and installing jhbuild can be found at: http://www.gnome.org/~jamesh/jhbuild.html#getting-started

However, note that these instructions are somewhat out of date, jhbuild is now stored in SVN instead of CVS. Check it out with:

 svn co http://svn.gnome.org/svn/jhbuild/trunk jhbuild

Using Sugar-jhbuild

Use of Sugar-jhbuild is detailed on building Sugar from sources. To summarize those instructions:

git-clone git://dev.laptop.org/sugar-jhbuild
cd sugar-jhbuild
./sugar-jhbuild

If you had already checked out sugar-jhbuild previously, make sure your copy is up-to-date before building:

cd sugar-jhbuild
git-pull

The sanity checks are still very basic but, often, good information can be gotten from:

 ./sugar-jhbuild sanitycheck


Troubleshooting

missing db2html

You may find that jhbuild complains about missing 'db2html' in which case you will need to create a symlink from docbook2html:

 ln -s /usr/bin/docbook2html /usr/bin/db2html


missing gconf.def

gnome-python-desktop was complaining about a missing gconf.def:

 IOError: [Errno 2] No such file or directory:
 'sugar-jhbuild/build/share/pygtk/2.0/defs/gconf.defs'

I rectified this with a:

 touch build/share/pygtk/2.0/defs/gconf.defs

and the build completed without problem.


Testing sugar

When using sugar-jhbuild, you can use:

./sugar-jhbuild run

If you want to run Sugar from the source tree enter in a jhbuild shell:

./sugar-jhbuild shell 

Then from the directory sugar-jhbuild/source/sugar), use:

shell/sugar