Sugar on SUSE: Difference between revisions

From OLPC
Jump to navigation Jump to search
No edit summary
Line 1: Line 1:
==Installation Notes==
==Installation Notes==


These notes are based on my experiences running sugar-jhbuild on openSUSE 10.2. If you plan to install Sugar on SUSE you would be well advised to first upgrade to a recent version. Sugar uses a LOT of very current software, so the more recent the distribution the less you will have to build from source.
You need two different versions of automake installed. This is not specific to Suse, it is a general issue with sugar-jhbuild. OpenSuse 10.2 provides automake 1.9. You can install 1.7.9 from source. Once you do, as root go to /usr/local/bin and delete automake and aclocal. Versions of these files with version numbers appended will remain, and that will allow the steps in sugar-jhbuild that need the older automake to compile.

The sugar-jhbuild script changes frequently, so any detailed instructions will be obsolete. Instead of trying to use these instructions to prevent problems, use them as a reference for things to try if things go wrong.

You may need two different versions of automake installed. This is not specific to Suse, it is a general issue with sugar-jhbuild. OpenSuse 10.2 provides automake 1.9. You can install 1.7.9 from source. Once you do, as root go to /usr/local/bin and delete automake and aclocal. Versions of these files with version numbers appended will remain, and that will allow the steps in sugar-jhbuild that need the older automake to compile.


The first time you run sugar-jhhbuild build it will list out the packages it thinks it needs from your distribution. Some of these you'll need to compile from source. When the script thinks you have all of them it will run. However, you will find the the script's upfront checks are not 100% reliable, so you can still discover missing dependencies later. sugar-jhbuild allows you to easily rerun steps without starting over, so there is no need to agonize over what you might be missing before you get started. When an error shows up, just open another xterm and compile what's missing from source or get it from YAST. Then select the option to rerun the configure step for that module and hopefully that will let you continue. If you don't know how to satisfy a dependency that turns up you can "give up" on that module and continue. You may or may not wind up with a functional version of Sugar to try out.
The first time you run sugar-jhhbuild build it will list out the packages it thinks it needs from your distribution. Some of these you'll need to compile from source. When the script thinks you have all of them it will run. However, you will find the the script's upfront checks are not 100% reliable, so you can still discover missing dependencies later. sugar-jhbuild allows you to easily rerun steps without starting over, so there is no need to agonize over what you might be missing before you get started. When an error shows up, just open another xterm and compile what's missing from source or get it from YAST. Then select the option to rerun the configure step for that module and hopefully that will let you continue. If you don't know how to satisfy a dependency that turns up you can "give up" on that module and continue. You may or may not wind up with a functional version of Sugar to try out.
Line 7: Line 11:
While installing Sugar on Suse is not a painless, let it run overnight unattended process, it does work.
While installing Sugar on Suse is not a painless, let it run overnight unattended process, it does work.


To compile farsight, you may need a version of gstreamer that is newer than what 10.2 provides, but is NOT the latest. Using 0.10.17 might cause compile errors in farsight. If so, 0.10.11 will work OK.
In the sugar module, you may need to create a directory named "m4" in the sugar source directory to get configure to work.

To compile farsight, you will need a version of gstreamer that is newer than what 10.2 provides, but is NOT the latest. Using 0.10.17 will cause compile errors in farsight. 0.10.11 will work OK.

The instructions for compiling gecko-embed below may not be correct. Everything compiles OK, but in the finished Sugar the browse activity will not work because it cannot find a library file. If I had it to do over again I'd just run the build step and let the jhbuild script tell me what is missing, rather than try to get everything right up front.


Also, it is worth pointing out that sometimes you'll get compile errors running this script that seem to be actual errors in the code, not missing dependencies. This I would guess is caused by someone checking bad code into git. Wait a day then try to run the script again and you may find that the problem has corrected itself.
Also, it is worth pointing out that sometimes you'll get compile errors running this script that seem to be actual errors in the code, not missing dependencies. This I would guess is caused by someone checking bad code into git. Wait a day then try to run the script again and you may find that the problem has corrected itself.

Someone had this problem with 10.3:

:: "After installing programs required with YaST and creating a folder called 'm4' to let autogen.sh complete, ./configure files when looking for the $MOZILLA variable on line 22323.
:: "I have not got around this yet, has anyone else?"

== gecko-embed ==
=== Prerequisites ===

You might need to check out gecko embed and compile it. It requires a set of packages:

# mozilla-xulrunner: You can install it from YAST.
# mozilla-nss-devel: For 10.1 you can't install it with the default packages on package manager, but you can download it directly from [http://download.opensuse.org/distribution/SL-10.1/inst-source/suse/i586/ suse's online repository]. For 10.2 use YAST.
# gecko-sdk: This is the equivalent of the xulrunner-devel in fedora talk for 10.1, and you can get it from [http://download.opensuse.org/distribution/SL-10.1/inst-source/suse/i586/ suse's online repository] as well. For 10.2 and later use xulrunner-devel from YAST.
# You may need to compile avahi and install it. For 10.2 and later you can get avahi from YAST.

=== compile gecko-embed ===
* First you need to check it out from subversion. Use the following command:
<nowiki>svn checkout http://svn.gnome.org/svn/gecko-embed/trunk gecko-embed</nowiki>
* cd into the gecko-embed folder and run autogen.sh (./autogen.sh)
* run make
* run "make install" as root (or use sudo if you're a good linux citizen)


== Sugar ==
== Sugar ==
Line 48: Line 26:
After running build you may get a list of required packages that need to be installed from YAST. Most of them are available; the rest you'll need to search for or compile from source. Then run build again.
After running build you may get a list of required packages that need to be installed from YAST. Most of them are available; the rest you'll need to search for or compile from source. Then run build again.


== Things I needed to compile from source ==
Chances are Sugar will run just fine once everything compiles. If it doesn't:


Again, don't assume you WILL need to compile all these from source. Instead, consider it a warning of what you might be getting into.
:: "The first time I ran sugar, it seg-faulted. We traced the problem down to an issue loading the olpc theme. I am running KDE on suse, so there might be some misconfiguration of gnome there, I'll figure it out later, right now I am happy with the workaround even if the interface doesn't look as shakadelic.
:: "The workaround is to comment out the following two lines in sugar/__init__.py"
if settings.get_property('gtk-theme-name') != 'olpc':
settings.set_string_property('gtk-theme-name', 'olpc', '')


* automake-1.7.9
* gnome-icon-theme-2.22.0
* gst-plugins-base-0.10.11
* gst-python-0.1.0
* gstreamer-0.10.11
* icon-naming-utils-0.8.2
* jpeg-6b
* json
* json-py-3_4.zip
* libcroco-0.6.1
* numpy-1.0.4
* simplejson-1.7.5


[[Category:Sugar]]
[[Category:Sugar]]

Revision as of 21:55, 7 May 2008

Installation Notes

These notes are based on my experiences running sugar-jhbuild on openSUSE 10.2. If you plan to install Sugar on SUSE you would be well advised to first upgrade to a recent version. Sugar uses a LOT of very current software, so the more recent the distribution the less you will have to build from source.

The sugar-jhbuild script changes frequently, so any detailed instructions will be obsolete. Instead of trying to use these instructions to prevent problems, use them as a reference for things to try if things go wrong.

You may need two different versions of automake installed. This is not specific to Suse, it is a general issue with sugar-jhbuild. OpenSuse 10.2 provides automake 1.9. You can install 1.7.9 from source. Once you do, as root go to /usr/local/bin and delete automake and aclocal. Versions of these files with version numbers appended will remain, and that will allow the steps in sugar-jhbuild that need the older automake to compile.

The first time you run sugar-jhhbuild build it will list out the packages it thinks it needs from your distribution. Some of these you'll need to compile from source. When the script thinks you have all of them it will run. However, you will find the the script's upfront checks are not 100% reliable, so you can still discover missing dependencies later. sugar-jhbuild allows you to easily rerun steps without starting over, so there is no need to agonize over what you might be missing before you get started. When an error shows up, just open another xterm and compile what's missing from source or get it from YAST. Then select the option to rerun the configure step for that module and hopefully that will let you continue. If you don't know how to satisfy a dependency that turns up you can "give up" on that module and continue. You may or may not wind up with a functional version of Sugar to try out.

While installing Sugar on Suse is not a painless, let it run overnight unattended process, it does work.

To compile farsight, you may need a version of gstreamer that is newer than what 10.2 provides, but is NOT the latest. Using 0.10.17 might cause compile errors in farsight. If so, 0.10.11 will work OK.

Also, it is worth pointing out that sometimes you'll get compile errors running this script that seem to be actual errors in the code, not missing dependencies. This I would guess is caused by someone checking bad code into git. Wait a day then try to run the script again and you may find that the problem has corrected itself.

Sugar

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

After running build you may get a list of required packages that need to be installed from YAST. Most of them are available; the rest you'll need to search for or compile from source. Then run build again.

Things I needed to compile from source

Again, don't assume you WILL need to compile all these from source. Instead, consider it a warning of what you might be getting into.

  • automake-1.7.9
  • gnome-icon-theme-2.22.0
  • gst-plugins-base-0.10.11
  • gst-python-0.1.0
  • gstreamer-0.10.11
  • icon-naming-utils-0.8.2
  • jpeg-6b
  • json
  • json-py-3_4.zip
  • libcroco-0.6.1
  • numpy-1.0.4
  • simplejson-1.7.5