<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>http://wiki.webos-internals.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Tmandry</id>
	<title>WebOS Internals - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="http://wiki.webos-internals.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Tmandry"/>
	<link rel="alternate" type="text/html" href="http://wiki.webos-internals.org/wiki/Special:Contributions/Tmandry"/>
	<updated>2026-04-15T09:35:50Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.35.1</generator>
	<entry>
		<id>http://wiki.webos-internals.org/index.php?title=Application:Navit&amp;diff=10470</id>
		<title>Application:Navit</title>
		<link rel="alternate" type="text/html" href="http://wiki.webos-internals.org/index.php?title=Application:Navit&amp;diff=10470"/>
		<updated>2010-07-12T00:44:24Z</updated>

		<summary type="html">&lt;p&gt;Tmandry: /* Summery */ Summary&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:SDL]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Summary ==&lt;br /&gt;
&lt;br /&gt;
[[Image:Navit_icon.png|50px|left]]&lt;br /&gt;
Navit is an open source (GPL) car navigation software for Linux systems. It will display your position on a map (in bird-view mode or as a 3D &amp;quot;visualization&amp;quot;) from GPS sensor data, and can provide precise route calculation, touch screen functionality and supports Points of Interest (POI), which can be extended via an easy to use plugin system. Unlike other navigation systems, Navit maps are dynamically generated in real time  from vector data. Information about Navit can be found [http://wiki.navit-project.org/index.php/Main_Page on the Navit wiki].&lt;br /&gt;
&lt;br /&gt;
'''Note''' : '''there is a french translation for the english Navit wiki page here : http://www.webos-internals.org/index.php?title=Application:Navit-FR'''&lt;br /&gt;
&lt;br /&gt;
== Where do you get the latest ALPHA version of Navit for WeobOS 1.4.1 ? ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
HaPe and noradtux have put this ALPHA version into a zip file all for you to enjoy, test, curse, and provide feedback at &lt;br /&gt;
http://forums.precentral.net/webos-internals/224609-navit-pre.html&lt;br /&gt;
&lt;br /&gt;
'''Attention: This packages only work with webos &amp;lt; 1.4.5 . A version for 1.4.5 and above will be in Preware when finished.'''&lt;br /&gt;
&lt;br /&gt;
You get the zip file for webos &amp;lt; 1.4.5 here =&amp;gt; [http://www.hp-jochmann.de/Download.nsf/Download?OpenAgent&amp;amp;doc=37B8A6BE782A7E04C1257702006A6DCD Navit Alpha]&lt;br /&gt;
&lt;br /&gt;
'''Attention: This packages only work with webos &amp;lt; 1.4.5 . A version for 1.4.5 and above will be in Preware when finished.'''&lt;br /&gt;
&lt;br /&gt;
As instructed by HaPe you install it onto your Pre  by, &lt;br /&gt;
&lt;br /&gt;
# The zip file contains a navit ipk, a espeak ipk and some locale ipks. The easy way to install is by using WebOSQuickInstall  found here  http://forums.precentral.net/canuck-software/228310-webos-quick-install-v3-14-a.html   . Note Preware install method is not yet available, its promised in the future once the Palm PDK is officially released.  If you have old versions of navit and espeak then use Preware or WebOSQuickInstall to delete them, although the locale ipk could be left alone.&lt;br /&gt;
# You need to install at least the navit and the espeak ipk.  You will see an Icon for both Navit and espeak (press it first and you get a speech to confirm it works!)&lt;br /&gt;
# The default of the Navit menus and speak output is English. To get a other local language working you need to install the locale ipk for your lang/county. I made some small once with only one lang_COUNTRY combination and one big with all I have. Only use the all one if you can not find a matching other, as the installed size is about 64MB for the all one. ONLY INSTALL ONE LOCAL IPK AT THE TIME!!!!!! '''At the moment there is a bug when you remove an locale ipk. One symbolic link is not removed. You need to do this manually by executing the following commands from novterm or from the WOQI command line: &lt;br /&gt;
## mount -o remount,rw /&lt;br /&gt;
## rm /usr/lib/locale&lt;br /&gt;
## mount -o remount,ro /'''&lt;br /&gt;
# You also need a map. Go to http://maps.navit-project.org/download/ and create one of the part of the world you need or look for created maps here =&amp;gt; http://wiki.navit-project.org/index.php/OpenStreetMaps Connect your Pre in USB mode, create a folder named MapsNavit and put the *.bin file into it. ''Note I (PreRunr) have found that small is better (faster processing) and that the Cloudmade maps can have problems so use the extractor version first. Many POIs seems to stuff it up so CHOOSE the T@H display option if your screen locks up and requires a restart - hopefully our experts will fix this up in later versions.''&lt;br /&gt;
# To switch between the three skins you need to open the navit.xml in .app-storage/file_.media.cryptofs.apps.usr.palm.applications.org.webosinternals.navit_0/ . At the button you find the section where the skin is included. Remove the comment makers &amp;quot;&amp;lt;!--&amp;quot; and &amp;quot;--&amp;gt;&amp;quot; from the skin you plan to use and add them to the current skin.&lt;br /&gt;
# Try it out!&lt;br /&gt;
# Look at .app-storage/file_.media.cryptofs.apps.usr.palm.applications.org.webosinternals.navit_0/navit.log on you USB drive if Navit is not working as expected. If Navit has problems it writes the information into this log file.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Where do you get the latest version of Navit for WeobOS 1.4.5 and above ? ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# Open Preware. Select available applications. Then type 'Navit' and install as any other WebOS application.&lt;br /&gt;
# This will automatically install two other needed packages if you not have installed them. The packages are 'speechd' and 'locale'.&lt;br /&gt;
# You settings are migrated if you had installed the Navit Alpha before. Then you can skip step 4-8 the rest.&lt;br /&gt;
# Now start Navit. You will see the OSD but no map as this will be installed in the next step. This first start will create the default settings and the emty folder for the map.&lt;br /&gt;
# Quit Navit and connect your Pre to your PC in USB mode.&lt;br /&gt;
# You also need a map. Go to http://maps.navit-project.org/download/ and create one of the part of the world you need or look for created maps here =&amp;gt; http://wiki.navit-project.org/index.php/OpenStreetMaps  ''Note I (PreRunr) have found that small is better (faster processing) and that the Cloudmade maps can have problems so use the extractor version first.''&lt;br /&gt;
# Put the *.bin file into the folder appdata/org.webosinternals.navit/maps on the USB drive of your Pre.&lt;br /&gt;
# To switch between the three skins you need to open the navit.xml in appdata/org.webosinternals.navit/ . At the button you find the section where the skin is included. Remove the comment makers &amp;quot;&amp;lt;!--&amp;quot; and &amp;quot;--&amp;gt;&amp;quot; from the skin you plan to use and add them to the current skin.&lt;br /&gt;
# Try it out!&lt;br /&gt;
# Look at appdata/org.webosinternals.navit/navit.log on you USB drive if Navit is not working as expected. If Navit has problems it writes the information into this log file.&lt;br /&gt;
&lt;br /&gt;
If you have any questions about this version then you can find help here =&amp;gt; http://forums.precentral.net/webos-internals/254622-navit-3d-car-navigation-system.html&lt;br /&gt;
&lt;br /&gt;
== Using Map&amp;amp;Guide maps ==&lt;br /&gt;
&lt;br /&gt;
For all Europe uses. You can get a good Mapset from Amazon for 5 Euro =&amp;gt; [http://www.amazon.de/Marco-Polo-Gro%C3%9Fer-Reiseplaner-DVD-ROM/dp/3829731426/ Marco Polo Großer Reiseplaner 2007/2008 (DVD-ROM) auf Amazon.de]&lt;br /&gt;
&lt;br /&gt;
The disadvantage is that the complete map is 3GB, if you only take Germany and the Major roots of Europe it is still 1GB.&lt;br /&gt;
&lt;br /&gt;
'''For Linux'''&lt;br /&gt;
# Change directory to where DVD is mounted&lt;br /&gt;
# Unpack data2.cab with: unshield x travel/data2.cab &lt;br /&gt;
# Now, you should get a directory named like DIRLAN_GER.&lt;br /&gt;
# Inside you find the maps...&lt;br /&gt;
'''For Windows'''&lt;br /&gt;
# Install the appliaction&lt;br /&gt;
# you find the maps in a folder inside the program folder.&lt;br /&gt;
&lt;br /&gt;
'''Installing the maps'''&lt;br /&gt;
# The dem.map folder with all the majors roads and towns of Europe...&lt;br /&gt;
# ...and five smpX.smp folders, which contain the details of countries:&lt;br /&gt;
* smp1: DK,S,N,IS,FIN,N&lt;br /&gt;
* smp2: F,E,GBZ,P,AND,MC&lt;br /&gt;
* smp3: Germany&lt;br /&gt;
* smp4: CZ,SK,RSM,EST,GEO,LV,LT,MD,RUS,UA,BY,GR,H,I,RO,CH,A,PL,AL,MT,CY,BG,FL,SRB,MNE,HR,SLO,BIH,MK,TR,AZ,AM,V&lt;br /&gt;
* smp5: NL,B,GB,L,IRL &lt;br /&gt;
# copy the dem.map folder into a place on your hard drive&lt;br /&gt;
# remove all *d60* files from the dem.map folder&lt;br /&gt;
# copy the dem.map folder into /MaypsNavit on you usb drive&lt;br /&gt;
# copy the smpX.smp folder you need into /MaypsNavit/dem.map folder&lt;br /&gt;
# open appdata/org.webosinternals.navit/navit.xml and change the following:&lt;br /&gt;
 &amp;lt;mapset enabled=&amp;quot;yes&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;map type=&amp;quot;binfile&amp;quot; enabled=&amp;quot;yes&amp;quot; data=&amp;quot;/media/internal/appdata/org.webosinternals.navit/maps/*.bin&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;/mapset&amp;gt;&lt;br /&gt;
to &lt;br /&gt;
 &amp;lt;mapset enabled=&amp;quot;yes&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;map type=&amp;quot;binfile&amp;quot; enabled=&amp;quot;yes&amp;quot; active=&amp;quot;yes&amp;quot; data=&amp;quot;/media/internal/appdata/org.webosinternals.navit/maps/osm/*.bin&amp;quot;/&amp;gt;&lt;br /&gt;
     &amp;lt;map type=&amp;quot;mg&amp;quot; enabled=&amp;quot;yes&amp;quot; active=&amp;quot;no&amp;quot; data=&amp;quot;/media/internal/appdata/org.webosinternals.navit/maps/dem.map&amp;quot; /&amp;gt;&lt;br /&gt;
     &amp;lt;map type=&amp;quot;mg&amp;quot; enabled=&amp;quot;yes&amp;quot; active=&amp;quot;no&amp;quot; data=&amp;quot;/media/internal/appdata/org.webosinternals.navit/maps/dem.map/smp3.smp&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;/mapset&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now you can switch between the OSM and the M&amp;amp;G maps from the settings/maps menu inside of Navit. The OSM map is the default. To make M&amp;amp;G the default you need to invert the active switches.&lt;br /&gt;
 &lt;br /&gt;
I would expect the the Map&amp;amp;Guide maps for other countries will also work. But you need to find a cheep Product that contains them.&lt;br /&gt;
&lt;br /&gt;
If you have the m&amp;amp;g and the OSM maps on your USB drive then you can use the index from the m&amp;amp;g maps for searching and the OSM maps for routing and display. To do this you need to add the mapset this way:&lt;br /&gt;
 &amp;lt;mapset enabled=&amp;quot;yes&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;map type=&amp;quot;mg&amp;quot; enabled=&amp;quot;yes&amp;quot; active=&amp;quot;no&amp;quot; data=&amp;quot;/media/internal/appdata/org.webosinternals.navit/maps/dem.map/smp3.smp&amp;quot; /&amp;gt;&lt;br /&gt;
     &amp;lt;map type=&amp;quot;mg&amp;quot; enabled=&amp;quot;yes&amp;quot; active=&amp;quot;no&amp;quot; data=&amp;quot;/media/internal/appdata/org.webosinternals.navit/maps/dem.map&amp;quot; /&amp;gt;&lt;br /&gt;
     &amp;lt;map type=&amp;quot;binfile&amp;quot; enabled=&amp;quot;yes&amp;quot; active=&amp;quot;yes&amp;quot; data=&amp;quot;/media/internal/appdata/org.webosinternals.navit/maps/osm/*.bin&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;/mapset&amp;gt;&lt;br /&gt;
It looks like Navit uses the street index of the first enabled map even if it is not active.&lt;br /&gt;
&lt;br /&gt;
== Why don't I get the new skins we see below? ==&lt;br /&gt;
&lt;br /&gt;
Navit only copies in the new XML files if the Navit.xml is not there. You need to delete the old ones to get the new.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
You find the xml files on the USB drive J: (or another drive X: when your Pre is in USB mode (not charge only mode) depending upon your PC setup.&lt;br /&gt;
&lt;br /&gt;
Located here J:/appdata/org.webosinternals.navit/&lt;br /&gt;
&lt;br /&gt;
== Only as a start. Some images of the current skins: ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Skin PreNav:&lt;br /&gt;
&lt;br /&gt;
[[Image:PreNav-L.JPG]]&lt;br /&gt;
[[Image:PreNav-P.JPG]]&lt;br /&gt;
&lt;br /&gt;
Skin Pre:&lt;br /&gt;
&lt;br /&gt;
[[Image:Pre-P.jpg]]&lt;br /&gt;
&lt;br /&gt;
Basic skin:&lt;br /&gt;
&lt;br /&gt;
[[Image:Basic-P.jpg]]&lt;br /&gt;
'''&lt;br /&gt;
&lt;br /&gt;
== How to get around the menus (not complete)''' ==&lt;br /&gt;
&lt;br /&gt;
''As an aside the screen captures don't work on full screen - sorry.''&lt;br /&gt;
&lt;br /&gt;
Main screen is seen here before GPS lock &lt;br /&gt;
&lt;br /&gt;
[[Image:Start_screen.png]] (here the last saved GPS position is used to choose the starting map).&lt;br /&gt;
&lt;br /&gt;
Press your finger on the screen and &amp;quot;push&amp;quot; the map around to get the desired location (where you are now or where you want to go)  right into the centre of the screen (if you want to zoom into a location use the + button).  Tap the screen and you will get the Main Menu shown here.&lt;br /&gt;
&lt;br /&gt;
[[Image:Main_menu.png]]&lt;br /&gt;
Since we want to go somewhere tap on Actions.&lt;br /&gt;
&lt;br /&gt;
[[Image:Actions_menu.png]]&lt;br /&gt;
Now you have a choice of the Location at the center of the map screen, the location of the car (no good here as GPS has not locked in), the Location of a saved Bookmark, or searching for a Location in your OSM or other map you have already loaded into your Pre at /media/NavitMaps/. Choosing Town we get this screen.&lt;br /&gt;
&lt;br /&gt;
[[Image:Town_view.png]]&lt;br /&gt;
Now unless you live in the USA you can now enter a town. If not tap on the US flag and you should get this screen.&lt;br /&gt;
&lt;br /&gt;
[[Image:Town_view2.png]]&lt;br /&gt;
Now Type in your country eg Au will give at least two countries to choose from.  Select one and you will then get to enter a town, the street and then house.  Lots of times this does not work too well as the House numbering is not available. In this case follow instructions below on How to Plan a Route. &lt;br /&gt;
&lt;br /&gt;
OK I have told NAVIT that I wish to go to my new destination and now its ready to go. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:Navit_OK_to_drive.png]] &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
It shows the way to go as a BIG FAT BLUE line as well as speaking the directions. If you want to read the directions Chooose Route then Description.  The voice reads these out as you go along the route. Now Rod Whitby can guess where I live.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Helpful notes from vreihen on 18 and 26 May 2010 now follow,&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== On starting up issues ie '''why the map layer isn't loading?''' ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
When Navit first starts up, it uses the north pole as it's initial position (if I recall correctly) until it gets an initial GPS fix. Your map layer problem may be that the GPS point is still at the north pole, or perhaps outside of the map that you have installed. If you tap on the center of the screen and tap on actions, there will be an icon of a car and an icon of a globe. The car icon is your current position, and should contain a non-zero latitude and longitude if your GPS is working and has a fix. Verify that those coordinates are where you are located before you dig any deeper into the maps as the cause of the missing layer.&lt;br /&gt;
&lt;br /&gt;
The information panels at the bottom of the screen are only populated when Navit is navigating between two points. Otherwise, they should be blank.&lt;br /&gt;
&lt;br /&gt;
If all else fails with the maps, you could download the entire planet.bin if you have 3.5 gigs of free USB flash space in your phone to eliminate the map file as the cause of your problem.....&lt;br /&gt;
&lt;br /&gt;
== On '''how to plan a route''' ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
1) Scroll through the map until you can see the location that you want to drive to.&lt;br /&gt;
&lt;br /&gt;
2) Zoom in tight on the screen, if necessary. Tap on your destination on the map.&lt;br /&gt;
&lt;br /&gt;
3) When Navit opens it's main menu, tap on actions.&lt;br /&gt;
&lt;br /&gt;
4) The car icon should show your current latitude/longitude. (Just saying)&lt;br /&gt;
&lt;br /&gt;
5) The globe icon should show the destination latitude/longitude that you tapped on the map.&lt;br /&gt;
&lt;br /&gt;
6) Tap on the globe icon.&lt;br /&gt;
&lt;br /&gt;
7) From the menu that pops up, select either bookmark this location (recommended) or navigate to this location.&lt;br /&gt;
&lt;br /&gt;
8) If you chose to bookmark it, tap actions | bookmarks, then tap your bookmark. Select navigate to this location.&lt;br /&gt;
&lt;br /&gt;
9) Depending on the distance you asked it to go, Navit should pop up the first driving direction and speak it to you within 5-10 seconds.&lt;br /&gt;
&lt;br /&gt;
The OSM map data apparently does not contain the concept of a state, so navigating by state/city/street lookup is difficult to impossible. Navigating by bookmark on the map is the only option for the time being.....&lt;br /&gt;
&lt;br /&gt;
''' Changing The Starting position'''&lt;br /&gt;
&lt;br /&gt;
You might want to change the starting position of navit, especially if you are using Navit without a GPS. You can get your coordinates here: http://itouchmap.com/latlong.html&lt;br /&gt;
&lt;br /&gt;
You can change the starting position in navit.xml, here :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;navit gui=&amp;quot;...&amp;quot; graphics=&amp;quot;...&amp;quot; center=&amp;quot;4808 N 1134 E&amp;quot; zoom=&amp;quot;128&amp;quot; &amp;gt;&lt;br /&gt;
&lt;br /&gt;
The latitude and longitude are written as multiplied by 100, i.e. you won't see the decimal point. For example, instead of 48.08, enter 4808.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== So you want Miles not km? ==&lt;br /&gt;
&lt;br /&gt;
NAVIT has this link http://trac.navit-project.org/ticket/12&lt;/div&gt;</summary>
		<author><name>Tmandry</name></author>
	</entry>
	<entry>
		<id>http://wiki.webos-internals.org/index.php?title=WebOS_Internals_PDK&amp;diff=10456</id>
		<title>WebOS Internals PDK</title>
		<link rel="alternate" type="text/html" href="http://wiki.webos-internals.org/index.php?title=WebOS_Internals_PDK&amp;diff=10456"/>
		<updated>2010-07-11T02:05:51Z</updated>

		<summary type="html">&lt;p&gt;Tmandry: /* Prequisites */ Fixed name, added texinfo&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category: SDL]]&lt;br /&gt;
Palm's binary sdk  the &amp;quot;Plugin Developer Kit&amp;quot; became available to all developers in March 2010.&lt;br /&gt;
&lt;br /&gt;
In addition to the PDK, WebOS Internals has released a full &amp;quot;WIDK&amp;quot; (WebOS Internals Development Kit) for you using Scratchbox2.  &lt;br /&gt;
&lt;br /&gt;
We ''strongly'' urge the community to standardize on this WIDK.   It uses the same underlying technologies, and is entirely open.  &lt;br /&gt;
&lt;br /&gt;
Scratchbox 2 is a cross-compilation engine, it can be used to create a highly flexible SDK.&lt;br /&gt;
&lt;br /&gt;
As installed below, the install process uses a script which extracts the required Palm provided files from a copy of webos doctor, and  downloads from other sources, and builds a complete compilation environment automatically which can compile SDL and openGLES apps for webOS.  &lt;br /&gt;
&lt;br /&gt;
SB2 ''itself'' is totally distribution neutral but the webOS cross-compile environment is designed and tested on Ubuntu 9.10 32 bit. (At least one user in #webos-internals reports complete success running the cross compile environment in Ubuntu 9.10 64 bit after installing curl via apt-get.) See [[WebOS_Internals_PDK_on_Mandriva]] if you want to run it on Mandriva and are willing to support that yourself and not ask WebOS Internals any questions about it.  Otherwise, use the recommended OS.&lt;br /&gt;
&lt;br /&gt;
The webOS Internals team ''strongly suggest'' apt-get install into that environment only for this purpose. The same installation of Sun Virtualbox which hosts the Palm SDK emulator can host an Ubuntu 9.10 server with very little effort. &lt;br /&gt;
&lt;br /&gt;
Developers wanting to work in an open environment 'without' SB2 can consider using the [[PuffTheMagic NDK]].&lt;br /&gt;
&lt;br /&gt;
==SB2 Homepage==&lt;br /&gt;
[http://www.freedesktop.org/wiki/Software/sbox2 http://www.freedesktop.org/wiki/Software/sbox2]pdk&lt;br /&gt;
&lt;br /&gt;
==License==&lt;br /&gt;
Scratchbox 2 is distributed under LGPL version 2.1, portions are under GPL version 2. Some minor stuff is under MIT style license.&lt;br /&gt;
&lt;br /&gt;
== Installation on Ubuntu for WebOS PDK cross compiling ==&lt;br /&gt;
&lt;br /&gt;
If setting up in a Virtual Box instance, it is recommended that you first complete the openSSH config as described in the VirtualBox tips for Windows users to the right.  This is helpful even with a Linux host, as SSH into the PDK Virtual Machine will allow copy and paste of the commands listed below and reduce errors.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:right; clear:right; width:30%&amp;quot;&amp;gt;{{Ubuntu_VM_notes_for_Windows_users}}&amp;lt;/div&amp;gt;&lt;br /&gt;
===Toolchain===&lt;br /&gt;
&lt;br /&gt;
===Prerequisites===&lt;br /&gt;
Your Ubuntu installation will need the following installed.  If you do not have them, run the command after the package name. You can test if they are found by just typing the command name.  If it says command not found, you need to install it.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ &lt;br /&gt;
|'''git''' || sudo apt-get install git-core&lt;br /&gt;
|-&lt;br /&gt;
|'''gcc''' || sudo apt-get install build-essential&lt;br /&gt;
|-&lt;br /&gt;
|'''curl''' || sudo apt-get install curl&lt;br /&gt;
|-&lt;br /&gt;
|'''unzip'''|| sudo apt-get install unzip&lt;br /&gt;
|-&lt;br /&gt;
|'''autoconf'''|| sudo apt-get install autoconf&lt;br /&gt;
|-&lt;br /&gt;
|'''subversion'''|| sudo apt-get install subversion&lt;br /&gt;
|-&lt;br /&gt;
|'''libtool'''|| sudo apt-get install libtool&lt;br /&gt;
|-&lt;br /&gt;
|'''wget'''|| sudo apt-get install wget&lt;br /&gt;
|-&lt;br /&gt;
|'''pkg-config'''|| sudo apt-get install pkg-config&lt;br /&gt;
|-&lt;br /&gt;
|'''gettext'''|| sudo apt-get install gettext&lt;br /&gt;
|-&lt;br /&gt;
|'''fakeroot'''|| sudo apt-get install fakeroot&lt;br /&gt;
|-&lt;br /&gt;
|'''javac'''|| sudo apt-get install sun-java6-jdk&lt;br /&gt;
|-&lt;br /&gt;
|'''ant'''|| sudo apt-get install ant&lt;br /&gt;
|-&lt;br /&gt;
|'''xsltproc'''|| sudo apt-get install xsltproc&lt;br /&gt;
|-&lt;br /&gt;
|'''intltool'''|| sudo apt-get install intltool&lt;br /&gt;
|-&lt;br /&gt;
|'''mkimage'''|| sudo apt-get install uboot-mkimage&lt;br /&gt;
|-&lt;br /&gt;
|'''lsdiff'''|| sudo apt-get install patchutils&lt;br /&gt;
|-&lt;br /&gt;
|'''flex'''|| sudo apt-get install flex&lt;br /&gt;
|-&lt;br /&gt;
|'''bison'''|| sudo apt-get install bison&lt;br /&gt;
|-&lt;br /&gt;
|'''libssl-dev'''|| sudo apt-get install libssl-dev&lt;br /&gt;
|-&lt;br /&gt;
|'''libz-dev'''|| sudo apt-get install libz-dev&lt;br /&gt;
|-&lt;br /&gt;
|'''libbz2-dev'''|| sudo apt-get install libbz2-dev&lt;br /&gt;
|-&lt;br /&gt;
|'''xar'''|| sudo apt-get install xar&lt;br /&gt;
|-&lt;br /&gt;
|'''help2man'''|| sudo apt-get install help2man&lt;br /&gt;
|-&lt;br /&gt;
|'''texinfo'''|| sudo apt-get install texinfo&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* it has been reported that sun-java6-jdk isn't necessary&lt;br /&gt;
&lt;br /&gt;
If you're uncertain at all, just cut and paste the following.  If they are already installed, they'll be skipped.  &lt;br /&gt;
&lt;br /&gt;
  sudo apt-get install git-core build-essential curl unzip autoconf subversion libtool wget pkg-config gettext fakeroot ant xsltproc intltool uboot-mkimage patchutils flex bison libssl-dev libz-dev libbz2-dev xar help2man texinfo&lt;br /&gt;
&lt;br /&gt;
'''Note:''' If you are a beginner with Ubuntu Linux Distribution, you should update all the packages on your system to avoid problems when you will compile.&amp;lt;BR&amp;gt;&lt;br /&gt;
Use these 2 command line :&amp;lt;BR&amp;gt;&lt;br /&gt;
Update repositories   :&lt;br /&gt;
 sudo aptitude update&lt;br /&gt;
And next, update the packages :&lt;br /&gt;
 sudo aptitude safe-upgrade&lt;br /&gt;
&lt;br /&gt;
If you're on a 64-bit system, you will also need to install the ia32-libs package.&lt;br /&gt;
&lt;br /&gt;
'''Note:''' The ''make toolchain'' command and later steps will download approximately a half-gig of tools and sources from various locations.  Do not start this if you do not have time for a large download.  Additionally, if you already have downloaded a copy of the correct version of the WebOS doctor, you can reduce the download time by copying the doctor file into cross-compile/doctors/ with the correct name.  This will cause the appropriate command to skip that download.  Note that codesourcery rate limts downloads and at a minimum this process will take 10 to 15 minutes irrespective of your connection speed. &lt;br /&gt;
&lt;br /&gt;
====Start setup====&lt;br /&gt;
Create a preware folder, copy the cross-compile tools into it (if you have not installed git, apt-get install git-core), and use a make script to begin the set up of the compilation toolchain. &lt;br /&gt;
&lt;br /&gt;
 sudo mkdir -p /srv/preware&lt;br /&gt;
 cd /srv/preware&lt;br /&gt;
 sudo chmod 777 .&lt;br /&gt;
 git clone git://git.webos-internals.org/preware/cross-compile.git&lt;br /&gt;
 cd cross-compile&lt;br /&gt;
 make toolchain&lt;br /&gt;
&lt;br /&gt;
====Fix mmap errors====&lt;br /&gt;
The following commands appear redundant.  They are not.  The install this fixes your mmap config to fix an mmap: permission denied error, but we don't need the package itself.&lt;br /&gt;
&lt;br /&gt;
 sudo apt-get install qemu-arm-static&lt;br /&gt;
 sudo apt-get remove qemu-arm-static&lt;br /&gt;
&lt;br /&gt;
: &amp;lt;span style=&amp;quot;font-size:150%&amp;quot;&amp;gt;OR&amp;lt;/span&amp;gt; As a workaround, if this package is not available, &lt;br /&gt;
::: the following commands can be executed in a root shell (sudo -s) to fix the mmap configuration to enable qemu-arm to work.&lt;br /&gt;
&lt;br /&gt;
 echo &amp;quot;vm.mmap_min_addr = 4096&amp;quot; &amp;gt; /etc/sysctl.d/mmap_min_addr.conf&lt;br /&gt;
 /etc/init.d/procps restart&lt;br /&gt;
&lt;br /&gt;
(note that the value should not be &amp;quot;0&amp;quot;. 4096 is chosen to avoid null pointer attacks.)&lt;br /&gt;
&lt;br /&gt;
====Verify sh shell====&lt;br /&gt;
On Ubuntu /bin/sh is a symbolic link to dash.  This will cause errors with the make stage command below, as some of the scripts assume bash.  Run the following command to see what shell sh is linked to.&lt;br /&gt;
&lt;br /&gt;
  ls -l /bin/sh&lt;br /&gt;
&lt;br /&gt;
If the result is a link to dash:&lt;br /&gt;
&lt;br /&gt;
  lrwxrwxrwx 1 root root 4 2010-07-06 23:55 /bin/sh -&amp;gt; dash&lt;br /&gt;
&lt;br /&gt;
You will want to correct it with the following:&lt;br /&gt;
&lt;br /&gt;
  sudo dpkg-reconfigure dash&lt;br /&gt;
&lt;br /&gt;
You will be asked if you want to &amp;quot;Install dash as /bin/sh?&amp;quot;.  Select &amp;quot;&amp;lt;No&amp;gt;&amp;quot; and bash will be used.  Rerun the command to verify:&lt;br /&gt;
&lt;br /&gt;
  ls -l /bin/sh&lt;br /&gt;
&lt;br /&gt;
You should now see:&lt;br /&gt;
&lt;br /&gt;
  lrwxrwxrwx 1 root root 4 2010-07-09 21:12 /bin/sh -&amp;gt; bash&lt;br /&gt;
&lt;br /&gt;
====Setup Scratchbox====&lt;br /&gt;
Now, use apt-get to setup scratchbox...&lt;br /&gt;
&lt;br /&gt;
 sudo apt-get install scratchbox2 qemu-kvm-extras&lt;br /&gt;
&lt;br /&gt;
...and set it up for compiling for webOS. &lt;br /&gt;
&lt;br /&gt;
 cd /srv/preware/cross-compile/toolchain/arm-2007q3/arm-none-linux-gnueabi/libc&lt;br /&gt;
 PATH=/srv/preware/cross-compile/toolchain/arm-2007q3/bin:${PATH} sb2-init -c /usr/bin/qemu-arm armv7 arm-none-linux-gnueabi-gcc&lt;br /&gt;
 cd /srv/preware/cross-compile&lt;br /&gt;
&lt;br /&gt;
Then:&lt;br /&gt;
&lt;br /&gt;
 make stage&lt;br /&gt;
&lt;br /&gt;
Once this setup is complete, compiling sdl apps for webOS is very simple.&lt;br /&gt;
&lt;br /&gt;
==Errors during make stage (Feb 27 8:45 UTC)==&lt;br /&gt;
Confirmed by 2 people:&lt;br /&gt;
===Ecore===&lt;br /&gt;
*TRUE and FALSE are not defined&lt;br /&gt;
&lt;br /&gt;
Manually add the definition:&lt;br /&gt;
&lt;br /&gt;
 #ifndef TRUE&lt;br /&gt;
 # define TRUE 1&lt;br /&gt;
 #endif&lt;br /&gt;
&lt;br /&gt;
 #ifndef FALSE&lt;br /&gt;
 # define FALSE 0&lt;br /&gt;
 #endif&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===/bin/sh errors===&lt;br /&gt;
If you are getting a &amp;quot;bad fd number&amp;quot; or other /bin/sh error, make sure your /bin/sh points to bash, not another shell (such as dash.)&lt;br /&gt;
&lt;br /&gt;
Go back through the Verify sh shell section above to correct.&lt;br /&gt;
&lt;br /&gt;
==Sample build of [[Application:Doom]]==&lt;br /&gt;
&lt;br /&gt;
Now, go to [[Building DOOM with scratchbox2]] and follow the simple directions.&lt;br /&gt;
&lt;br /&gt;
==In Process Enhancements==&lt;br /&gt;
[[Extracting the PDK on Linux]]&lt;/div&gt;</summary>
		<author><name>Tmandry</name></author>
	</entry>
	<entry>
		<id>http://wiki.webos-internals.org/index.php?title=WebOS_Internals_PDK&amp;diff=10435</id>
		<title>WebOS Internals PDK</title>
		<link rel="alternate" type="text/html" href="http://wiki.webos-internals.org/index.php?title=WebOS_Internals_PDK&amp;diff=10435"/>
		<updated>2010-07-03T20:21:29Z</updated>

		<summary type="html">&lt;p&gt;Tmandry: /* Prequisites */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category: SDL]]&lt;br /&gt;
Palm's binary sdk  the &amp;quot;Plugin Developer Kit&amp;quot; became available to all developers in March 2010.&lt;br /&gt;
&lt;br /&gt;
In addition to the PDK, WebOS Internals has released a full &amp;quot;WIDK&amp;quot; (WebOS Internals Development Kit) for you using Scratchbox2.  &lt;br /&gt;
&lt;br /&gt;
We ''strongly'' urge the community to standardize on this WIDK.   It uses the same underlying technologies, and is entirely open.  &lt;br /&gt;
&lt;br /&gt;
Scratchbox 2 is a cross-compilation engine, it can be used to create a highly flexible SDK.&lt;br /&gt;
&lt;br /&gt;
As installed below, the install process uses a script which extracts the required Palm provided files from a copy of webos doctor, and  downloads from other sources, and builds a complete compilation environment automatically which can compile SDL and openGLES apps for webOS.  &lt;br /&gt;
&lt;br /&gt;
SB2 ''itself'' is totally distribution neutral but the webOS cross-compile environment is designed and tested on Ubuntu 9.10 32 bit. (At least one user in #webos-internals reports complete success running the cross compile environment in Ubuntu 9.10 64 bit after installing curl via apt-get.) See [[WebOS_Internals_PDK_on_Mandriva]] if you want to run it on Mandriva and are willing to support that yourself and not ask WebOS Internals any questions about it.  Otherwise, use the recommended OS.&lt;br /&gt;
&lt;br /&gt;
The webOS Internals team ''strongly suggest'' apt-get install into that environment only for this purpose. The same installation of Sun Virtualbox which hosts the Palm SDK emulator can host an Ubuntu 9.10 server with very little effort. &lt;br /&gt;
&lt;br /&gt;
Developers wanting to work in an open environment 'without' SB2 can consider using the [[PuffTheMagic NDK]].&lt;br /&gt;
&lt;br /&gt;
==SB2 Homepage==&lt;br /&gt;
[http://www.freedesktop.org/wiki/Software/sbox2 http://www.freedesktop.org/wiki/Software/sbox2]pdk&lt;br /&gt;
&lt;br /&gt;
==License==&lt;br /&gt;
Scratchbox 2 is distributed under LGPL version 2.1, portions are under GPL version 2. Some minor stuff is under MIT style license.&lt;br /&gt;
&lt;br /&gt;
== Installation on Ubuntu for WebOS PDK cross compiling ==&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:right; clear:right; width:30%&amp;quot;&amp;gt;{{Ubuntu_VM_notes_for_Windows_users}}&amp;lt;/div&amp;gt;&lt;br /&gt;
===Toolchain===&lt;br /&gt;
&lt;br /&gt;
===Prequisites===&lt;br /&gt;
Your Ubuntu installation will need the following installed.  If you do not have them, run the command after the package name. You can test if they are found by just typing the command name.  If it says command not found, you need to install it.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ &lt;br /&gt;
|'''git''' || sudo apt-get install git-core&lt;br /&gt;
|-&lt;br /&gt;
|'''gcc''' || sudo apt-get install build-essential&lt;br /&gt;
|-&lt;br /&gt;
|'''curl''' || sudo apt-get install curl&lt;br /&gt;
|-&lt;br /&gt;
|'''unzip'''|| sudo apt-get install unzip&lt;br /&gt;
|-&lt;br /&gt;
|'''autoconf'''|| sudo apt-get install autoconf&lt;br /&gt;
|-&lt;br /&gt;
|'''subversion'''|| sudo apt-get install subversion&lt;br /&gt;
|-&lt;br /&gt;
|'''libtool'''|| sudo apt-get install libtool&lt;br /&gt;
|-&lt;br /&gt;
|'''wget'''|| sudo apt-get install wget&lt;br /&gt;
|-&lt;br /&gt;
|'''pkg-config'''|| sudo apt-get install pkg-config&lt;br /&gt;
|-&lt;br /&gt;
|'''gettext'''|| sudo apt-get install gettext&lt;br /&gt;
|-&lt;br /&gt;
|'''fakeroot'''|| sudo apt-get install fakeroot&lt;br /&gt;
|-&lt;br /&gt;
|'''javac'''|| sudo apt-get install sun-java6-jdk&lt;br /&gt;
|-&lt;br /&gt;
|'''ant'''|| sudo apt-get install ant&lt;br /&gt;
|-&lt;br /&gt;
|'''xsltproc'''|| sudo apt-get install xsltproc&lt;br /&gt;
|-&lt;br /&gt;
|'''intltool'''|| sudo apt-get install intltool&lt;br /&gt;
|-&lt;br /&gt;
|'''mkimage'''|| sudo apt-get install uboot-mkimage&lt;br /&gt;
|-&lt;br /&gt;
|'''lsdiff'''|| sudo apt-get install patchutils&lt;br /&gt;
|-&lt;br /&gt;
|'''flex'''|| sudo apt-get install flex&lt;br /&gt;
|-&lt;br /&gt;
|'''bison'''|| sudo apt-get install bison&lt;br /&gt;
|-&lt;br /&gt;
|'''libssl-dev'''|| sudo apt-get install libssl-dev&lt;br /&gt;
|-&lt;br /&gt;
|'''libz-dev'''|| sudo apt-get install libz-dev&lt;br /&gt;
|-&lt;br /&gt;
|'''libbz2-dev'''|| sudo apt-get install libbz2-dev&lt;br /&gt;
|-&lt;br /&gt;
|'''xar'''|| sudo apt-get install xar&lt;br /&gt;
|-&lt;br /&gt;
|'''help2man'''|| sudo apt-get install help2man&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
*** it has been reported that sun-java6-jdk isn't necessary ***&lt;br /&gt;
&lt;br /&gt;
If you're uncertain at all, just cut and paste the following.  If they are already installed, they'll be skipped.  &lt;br /&gt;
&lt;br /&gt;
  sudo apt-get install git-core build-essential curl unzip autoconf subversion libtool wget pkg-config gettext fakeroot ant xsltproc intltool uboot-mkimage patchutils flex bison libssl-dev libz-dev libbz2-dev xar help2man&lt;br /&gt;
&lt;br /&gt;
'''Note:''' If you are a beginner with Ubuntu Linux Distribution, you should update all the packages on your system to avoid problems when you will compile.&amp;lt;BR&amp;gt;&lt;br /&gt;
Use these 2 command line :&amp;lt;BR&amp;gt;&lt;br /&gt;
Update repositories   :&lt;br /&gt;
 sudo aptitude update&lt;br /&gt;
And next, update the packages :&lt;br /&gt;
 sudo aptitude safe-upgrade&lt;br /&gt;
&lt;br /&gt;
If you're on a 64-bit system, you will also need to install the ia32-libs package.&lt;br /&gt;
&lt;br /&gt;
'''Note:''' The ''make toolchain'' command and later steps will download approximately a half-gig of tools and sources from various locations.  Do not start this if you do not have time for a large download.  Additionally, if you already have downloaded a copy of the correct version of the WebOS doctor, you can reduce the download time by copying the doctor file into cross-compile/doctors/ with the correct name.  This will cause the appropriate command to skip that download.  Note that codesourcery rate limts downloads and at a minimum this process will take 10 to 15 minutes irrespective of your connection speed. &lt;br /&gt;
&lt;br /&gt;
====Start setup====&lt;br /&gt;
Create a preware folder, copy the cross-compile tools into it (if you have not installed git, apt-get install git-core), and use a make script to begin the set up of the compilation toolchain. &lt;br /&gt;
&lt;br /&gt;
 sudo mkdir -p /srv/preware&lt;br /&gt;
 cd /srv/preware&lt;br /&gt;
 sudo chmod 777 .&lt;br /&gt;
 git clone git://git.webos-internals.org/preware/cross-compile.git&lt;br /&gt;
 cd cross-compile&lt;br /&gt;
 make toolchain&lt;br /&gt;
&lt;br /&gt;
====Fix mmap errors====&lt;br /&gt;
The following commands appear redundant.  They are not.  The install this fixes your mmap config to fix an mmap: permission denied error, but we don't need the package itself.&lt;br /&gt;
&lt;br /&gt;
 sudo apt-get install qemu-arm-static&lt;br /&gt;
 sudo apt-get remove qemu-arm-static&lt;br /&gt;
&lt;br /&gt;
: &amp;lt;span style=&amp;quot;font-size:150%&amp;quot;&amp;gt;OR&amp;lt;/span&amp;gt; As a workaround, if this package is not available, &lt;br /&gt;
::: the following commands can be executed in a root shell (sudo -s) to fix the mmap configuration to enable qemu-arm to work.&lt;br /&gt;
&lt;br /&gt;
 echo &amp;quot;vm.mmap_min_addr = 4096&amp;quot; &amp;gt; /etc/sysctl.d/mmap_min_addr.conf&lt;br /&gt;
 /etc/init.d/procps restart&lt;br /&gt;
&lt;br /&gt;
(note that the value should not be &amp;quot;0&amp;quot;. 4096 is chosen to avoid null pointer attacks.)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Setup Scratchbox====&lt;br /&gt;
Now, use apt-get to setup scratchbox...&lt;br /&gt;
&lt;br /&gt;
 sudo apt-get install scratchbox2 qemu-kvm-extras&lt;br /&gt;
&lt;br /&gt;
...and set it up for compiling for webOS. &lt;br /&gt;
&lt;br /&gt;
 cd /srv/preware/cross-compile/toolchain/arm-2007q3/arm-none-linux-gnueabi/libc&lt;br /&gt;
 PATH=/srv/preware/cross-compile/toolchain/arm-2007q3/bin:${PATH} sb2-init -c /usr/bin/qemu-arm armv7 arm-none-linux-gnueabi-gcc&lt;br /&gt;
 cd /srv/preware/cross-compile&lt;br /&gt;
&lt;br /&gt;
Then:&lt;br /&gt;
&lt;br /&gt;
 make stage&lt;br /&gt;
&lt;br /&gt;
Once this setup is complete, compiling sdl apps for webOS is very simple.&lt;br /&gt;
&lt;br /&gt;
==Errors during make stage (Feb 27 8:45 UTC)==&lt;br /&gt;
Confirmed by 2 people:&lt;br /&gt;
===Ecore===&lt;br /&gt;
*TRUE and FALSE are not defined&lt;br /&gt;
&lt;br /&gt;
Manually add the definition:&lt;br /&gt;
&lt;br /&gt;
 #ifndef TRUE&lt;br /&gt;
 # define TRUE 1&lt;br /&gt;
 #endif&lt;br /&gt;
&lt;br /&gt;
 #ifndef FALSE&lt;br /&gt;
 # define FALSE 0&lt;br /&gt;
 #endif&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===/bin/sh errors===&lt;br /&gt;
If you are getting a &amp;quot;bad fd number&amp;quot; or other /bin/sh error, make sure your /bin/sh points to bash, not another shell (such as dash.)&lt;br /&gt;
&lt;br /&gt;
==Sample build of [[Application:Doom]]==&lt;br /&gt;
&lt;br /&gt;
Now, go to [[Building DOOM with scratchbox2]] and follow the simple directions.&lt;br /&gt;
&lt;br /&gt;
==In Process Enhancements==&lt;br /&gt;
[[Extracting the PDK on Linux]]&lt;/div&gt;</summary>
		<author><name>Tmandry</name></author>
	</entry>
	<entry>
		<id>http://wiki.webos-internals.org/index.php?title=WebOS_Internals_PDK&amp;diff=10367</id>
		<title>WebOS Internals PDK</title>
		<link rel="alternate" type="text/html" href="http://wiki.webos-internals.org/index.php?title=WebOS_Internals_PDK&amp;diff=10367"/>
		<updated>2010-06-22T19:21:36Z</updated>

		<summary type="html">&lt;p&gt;Tmandry: /* Errors during make stage (Feb 27 8:45 UTC) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category: SDL]]&lt;br /&gt;
Palm's binary sdk  the &amp;quot;Plugin Developer Kit&amp;quot; became available to all developers in March 2010.&lt;br /&gt;
&lt;br /&gt;
In addition to the PDK, WebOS Internals has released a full &amp;quot;WIDK&amp;quot; (WebOS Internals Development Kit) for you using Scratchbox2.  &lt;br /&gt;
&lt;br /&gt;
We ''strongly'' urge the community to standardize on this WIDK.   It uses the same underlying technologies, and is entirely open.  &lt;br /&gt;
&lt;br /&gt;
Scratchbox 2 is a cross-compilation engine, it can be used to create a highly flexible SDK.&lt;br /&gt;
&lt;br /&gt;
As installed below, the install process uses a script which extracts the required Palm provided files from a copy of webos doctor, and  downloads from other sources, and builds a complete compilation environment automatically which can compile SDL and openGLES apps for webOS.  &lt;br /&gt;
&lt;br /&gt;
SB2 ''itself'' is totally distribution neutral but the webOS cross-compile environment is designed and tested on Ubuntu 9.10 32 bit. (At least one user in #webos-internals reports complete success running the cross compile environment in Ubuntu 9.10 64 bit after installing curl via apt-get.) See [[WebOS_Internals_PDK_on_Mandriva]] if you want to run it on Mandriva and are willing to support that yourself and not ask WebOS Internals any questions about it.  Otherwise, use the recommended OS.&lt;br /&gt;
&lt;br /&gt;
The webOS Internals team ''strongly suggest'' apt-get install into that environment only for this purpose. The same installation of Sun Virtualbox which hosts the Palm SDK emulator can host an Ubuntu 9.10 server with very little effort. &lt;br /&gt;
&lt;br /&gt;
Developers wanting to work in an open environment 'without' SB2 can consider using the [[PuffTheMagic NDK]].&lt;br /&gt;
&lt;br /&gt;
==SB2 Homepage==&lt;br /&gt;
[http://www.freedesktop.org/wiki/Software/sbox2 http://www.freedesktop.org/wiki/Software/sbox2]pdk&lt;br /&gt;
&lt;br /&gt;
==License==&lt;br /&gt;
Scratchbox 2 is distributed under LGPL version 2.1, portions are under GPL version 2. Some minor stuff is under MIT style license.&lt;br /&gt;
&lt;br /&gt;
== Installation on Ubuntu for WebOS PDK cross compiling ==&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:right; clear:right; width:30%&amp;quot;&amp;gt;{{Ubuntu_VM_notes_for_Windows_users}}&amp;lt;/div&amp;gt;&lt;br /&gt;
===Toolchain===&lt;br /&gt;
&lt;br /&gt;
===Prequisites===&lt;br /&gt;
Your Ubuntu installation will need the following installed.  If you do not have them, run the command after the package name. You can test if they are found by just typing the command name.  If it says command not found, you need to install it.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ &lt;br /&gt;
|'''git''' || sudo apt-get install git-core&lt;br /&gt;
|-&lt;br /&gt;
|'''gcc''' || sudo apt-get install build-essential&lt;br /&gt;
|-&lt;br /&gt;
|'''curl''' || sudo apt-get install curl&lt;br /&gt;
|-&lt;br /&gt;
|'''unzip'''|| sudo apt-get install unzip&lt;br /&gt;
|-&lt;br /&gt;
|'''autoconf'''|| sudo apt-get install autoconf&lt;br /&gt;
|-&lt;br /&gt;
|'''subversion'''|| sudo apt-get install subversion&lt;br /&gt;
|-&lt;br /&gt;
|'''libtool'''|| sudo apt-get install libtool&lt;br /&gt;
|-&lt;br /&gt;
|'''wget'''|| sudo apt-get install wget&lt;br /&gt;
|-&lt;br /&gt;
|'''pkg-config'''|| sudo apt-get install pkg-config&lt;br /&gt;
|-&lt;br /&gt;
|'''gettext'''|| sudo apt-get install gettext&lt;br /&gt;
|-&lt;br /&gt;
|'''fakeroot'''|| sudo apt-get install fakeroot&lt;br /&gt;
|-&lt;br /&gt;
|'''javac'''|| sudo apt-get install sun-java6-jdk&lt;br /&gt;
|-&lt;br /&gt;
|'''ant'''|| sudo apt-get install ant&lt;br /&gt;
|-&lt;br /&gt;
|'''xsltproc'''|| sudo apt-get install xsltproc&lt;br /&gt;
|-&lt;br /&gt;
|'''intltool'''|| sudo apt-get install intltool&lt;br /&gt;
|-&lt;br /&gt;
|'''mkimage'''|| sudo apt-get install uboot-mkimage&lt;br /&gt;
|-&lt;br /&gt;
|'''lsdiff'''|| sudo apt-get install patchutils&lt;br /&gt;
|-&lt;br /&gt;
|'''flex'''|| sudo apt-get install flex&lt;br /&gt;
|-&lt;br /&gt;
|'''bison'''|| sudo apt-get install bison&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
*** it has been reported that sun-java6-jdk isn't necessary ***&lt;br /&gt;
&lt;br /&gt;
If you're uncertain at all, just cut and paste the following.  If they are already installed, they'll be skipped.  &lt;br /&gt;
&lt;br /&gt;
  sudo apt-get install git-core build-essential curl unzip autoconf subversion libtool wget pkg-config gettext fakeroot ant xsltproc intltool uboot-mkimage patchutils flex bison&lt;br /&gt;
&lt;br /&gt;
'''Note:''' If you are a beginner with Ubuntu Linux Distribution, you should update all the packages on your system to avoid problems when you will compile.&amp;lt;BR&amp;gt;&lt;br /&gt;
Use these 2 command line :&amp;lt;BR&amp;gt;&lt;br /&gt;
Update repositories   :&lt;br /&gt;
 sudo aptitude update&lt;br /&gt;
And next, update the packages :&lt;br /&gt;
 sudo aptitude safe-upgrade&lt;br /&gt;
&lt;br /&gt;
If you're on a 64-bit system, you will also need to install the ia32-libs package.&lt;br /&gt;
&lt;br /&gt;
'''Note:''' The ''make toolchain'' command and later steps will download approximately a half-gig of tools and sources from various locations.  Do not start this if you do not have time for a large download.  Additionally, if you already have downloaded a copy of the correct version of the WebOS doctor, you can reduce the download time by copying the doctor file into cross-compile/doctors/ with the correct name.  This will cause the appropriate command to skip that download.  Note that codesourcery rate limts downloads and at a minimum this process will take 10 to 15 minutes irrespective of your connection speed. &lt;br /&gt;
&lt;br /&gt;
====Start setup====&lt;br /&gt;
Create a preware folder, copy the cross-compile tools into it (if you have not installed git, apt-get install git-core), and use a make script to begin the set up of the compilation toolchain. &lt;br /&gt;
&lt;br /&gt;
 sudo mkdir -p /srv/preware&lt;br /&gt;
 cd /srv/preware&lt;br /&gt;
 sudo chmod 777 .&lt;br /&gt;
 git clone git://git.webos-internals.org/preware/cross-compile.git&lt;br /&gt;
 cd cross-compile&lt;br /&gt;
 make toolchain&lt;br /&gt;
&lt;br /&gt;
====Fix mmap errors====&lt;br /&gt;
The following commands appear redundant.  They are not.  The install this fixes your mmap config to fix an mmap: permission denied error, but we don't need the package itself.&lt;br /&gt;
&lt;br /&gt;
 sudo apt-get install qemu-arm-static&lt;br /&gt;
 sudo apt-get remove qemu-arm-static&lt;br /&gt;
&lt;br /&gt;
: &amp;lt;span style=&amp;quot;font-size:150%&amp;quot;&amp;gt;OR&amp;lt;/span&amp;gt; As a workaround, if this package is not available, &lt;br /&gt;
::: the following commands can be executed in a root shell (sudo -s) to fix the mmap configuration to enable qemu-arm to work.&lt;br /&gt;
&lt;br /&gt;
 echo &amp;quot;vm.mmap_min_addr = 4096&amp;quot; &amp;gt; /etc/sysctl.d/mmap_min_addr.conf&lt;br /&gt;
 /etc/init.d/procps restart&lt;br /&gt;
&lt;br /&gt;
(note that the value should not be &amp;quot;0&amp;quot;. 4096 is chosen to avoid null pointer attacks.)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Setup Scratchbox====&lt;br /&gt;
Now, use apt-get to setup scratchbox...&lt;br /&gt;
&lt;br /&gt;
 sudo apt-get install scratchbox2 qemu-kvm-extras&lt;br /&gt;
&lt;br /&gt;
...and set it up for compiling for webOS. &lt;br /&gt;
&lt;br /&gt;
 cd /srv/preware/cross-compile/toolchain/arm-2007q3/arm-none-linux-gnueabi/libc&lt;br /&gt;
 PATH=/srv/preware/cross-compile/toolchain/arm-2007q3/bin:${PATH} sb2-init -c /usr/bin/qemu-arm armv7 arm-none-linux-gnueabi-gcc&lt;br /&gt;
 cd /srv/preware/cross-compile&lt;br /&gt;
&lt;br /&gt;
Then:&lt;br /&gt;
&lt;br /&gt;
 make stage&lt;br /&gt;
&lt;br /&gt;
Once this setup is complete, compiling sdl apps for webOS is very simple.&lt;br /&gt;
&lt;br /&gt;
==Errors during make stage (Feb 27 8:45 UTC)==&lt;br /&gt;
Confirmed by 2 people:&lt;br /&gt;
===Ecore===&lt;br /&gt;
*TRUE and FALSE are not defined&lt;br /&gt;
&lt;br /&gt;
Manually add the definition:&lt;br /&gt;
&lt;br /&gt;
 #ifndef TRUE&lt;br /&gt;
 # define TRUE 1&lt;br /&gt;
 #endif&lt;br /&gt;
&lt;br /&gt;
 #ifndef FALSE&lt;br /&gt;
 # define FALSE 0&lt;br /&gt;
 #endif&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===/bin/sh errors===&lt;br /&gt;
If you are getting a &amp;quot;bad fd number&amp;quot; or other /bin/sh error, make sure your /bin/sh points to bash, not another shell (such as dash.)&lt;br /&gt;
&lt;br /&gt;
==Sample build of [[Application:Doom]]==&lt;br /&gt;
&lt;br /&gt;
Now, go to [[Building DOOM with scratchbox2]] and follow the simple directions.&lt;br /&gt;
&lt;br /&gt;
==In Process Enhancements==&lt;br /&gt;
[[Extracting the PDK on Linux]]&lt;/div&gt;</summary>
		<author><name>Tmandry</name></author>
	</entry>
	<entry>
		<id>http://wiki.webos-internals.org/index.php?title=WebOS_Internals_PDK&amp;diff=10366</id>
		<title>WebOS Internals PDK</title>
		<link rel="alternate" type="text/html" href="http://wiki.webos-internals.org/index.php?title=WebOS_Internals_PDK&amp;diff=10366"/>
		<updated>2010-06-22T19:21:00Z</updated>

		<summary type="html">&lt;p&gt;Tmandry: /* Errors during make stage (Feb 27 8:45 UTC) */ Better spacing&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category: SDL]]&lt;br /&gt;
Palm's binary sdk  the &amp;quot;Plugin Developer Kit&amp;quot; became available to all developers in March 2010.&lt;br /&gt;
&lt;br /&gt;
In addition to the PDK, WebOS Internals has released a full &amp;quot;WIDK&amp;quot; (WebOS Internals Development Kit) for you using Scratchbox2.  &lt;br /&gt;
&lt;br /&gt;
We ''strongly'' urge the community to standardize on this WIDK.   It uses the same underlying technologies, and is entirely open.  &lt;br /&gt;
&lt;br /&gt;
Scratchbox 2 is a cross-compilation engine, it can be used to create a highly flexible SDK.&lt;br /&gt;
&lt;br /&gt;
As installed below, the install process uses a script which extracts the required Palm provided files from a copy of webos doctor, and  downloads from other sources, and builds a complete compilation environment automatically which can compile SDL and openGLES apps for webOS.  &lt;br /&gt;
&lt;br /&gt;
SB2 ''itself'' is totally distribution neutral but the webOS cross-compile environment is designed and tested on Ubuntu 9.10 32 bit. (At least one user in #webos-internals reports complete success running the cross compile environment in Ubuntu 9.10 64 bit after installing curl via apt-get.) See [[WebOS_Internals_PDK_on_Mandriva]] if you want to run it on Mandriva and are willing to support that yourself and not ask WebOS Internals any questions about it.  Otherwise, use the recommended OS.&lt;br /&gt;
&lt;br /&gt;
The webOS Internals team ''strongly suggest'' apt-get install into that environment only for this purpose. The same installation of Sun Virtualbox which hosts the Palm SDK emulator can host an Ubuntu 9.10 server with very little effort. &lt;br /&gt;
&lt;br /&gt;
Developers wanting to work in an open environment 'without' SB2 can consider using the [[PuffTheMagic NDK]].&lt;br /&gt;
&lt;br /&gt;
==SB2 Homepage==&lt;br /&gt;
[http://www.freedesktop.org/wiki/Software/sbox2 http://www.freedesktop.org/wiki/Software/sbox2]pdk&lt;br /&gt;
&lt;br /&gt;
==License==&lt;br /&gt;
Scratchbox 2 is distributed under LGPL version 2.1, portions are under GPL version 2. Some minor stuff is under MIT style license.&lt;br /&gt;
&lt;br /&gt;
== Installation on Ubuntu for WebOS PDK cross compiling ==&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:right; clear:right; width:30%&amp;quot;&amp;gt;{{Ubuntu_VM_notes_for_Windows_users}}&amp;lt;/div&amp;gt;&lt;br /&gt;
===Toolchain===&lt;br /&gt;
&lt;br /&gt;
===Prequisites===&lt;br /&gt;
Your Ubuntu installation will need the following installed.  If you do not have them, run the command after the package name. You can test if they are found by just typing the command name.  If it says command not found, you need to install it.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ &lt;br /&gt;
|'''git''' || sudo apt-get install git-core&lt;br /&gt;
|-&lt;br /&gt;
|'''gcc''' || sudo apt-get install build-essential&lt;br /&gt;
|-&lt;br /&gt;
|'''curl''' || sudo apt-get install curl&lt;br /&gt;
|-&lt;br /&gt;
|'''unzip'''|| sudo apt-get install unzip&lt;br /&gt;
|-&lt;br /&gt;
|'''autoconf'''|| sudo apt-get install autoconf&lt;br /&gt;
|-&lt;br /&gt;
|'''subversion'''|| sudo apt-get install subversion&lt;br /&gt;
|-&lt;br /&gt;
|'''libtool'''|| sudo apt-get install libtool&lt;br /&gt;
|-&lt;br /&gt;
|'''wget'''|| sudo apt-get install wget&lt;br /&gt;
|-&lt;br /&gt;
|'''pkg-config'''|| sudo apt-get install pkg-config&lt;br /&gt;
|-&lt;br /&gt;
|'''gettext'''|| sudo apt-get install gettext&lt;br /&gt;
|-&lt;br /&gt;
|'''fakeroot'''|| sudo apt-get install fakeroot&lt;br /&gt;
|-&lt;br /&gt;
|'''javac'''|| sudo apt-get install sun-java6-jdk&lt;br /&gt;
|-&lt;br /&gt;
|'''ant'''|| sudo apt-get install ant&lt;br /&gt;
|-&lt;br /&gt;
|'''xsltproc'''|| sudo apt-get install xsltproc&lt;br /&gt;
|-&lt;br /&gt;
|'''intltool'''|| sudo apt-get install intltool&lt;br /&gt;
|-&lt;br /&gt;
|'''mkimage'''|| sudo apt-get install uboot-mkimage&lt;br /&gt;
|-&lt;br /&gt;
|'''lsdiff'''|| sudo apt-get install patchutils&lt;br /&gt;
|-&lt;br /&gt;
|'''flex'''|| sudo apt-get install flex&lt;br /&gt;
|-&lt;br /&gt;
|'''bison'''|| sudo apt-get install bison&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
*** it has been reported that sun-java6-jdk isn't necessary ***&lt;br /&gt;
&lt;br /&gt;
If you're uncertain at all, just cut and paste the following.  If they are already installed, they'll be skipped.  &lt;br /&gt;
&lt;br /&gt;
  sudo apt-get install git-core build-essential curl unzip autoconf subversion libtool wget pkg-config gettext fakeroot ant xsltproc intltool uboot-mkimage patchutils flex bison&lt;br /&gt;
&lt;br /&gt;
'''Note:''' If you are a beginner with Ubuntu Linux Distribution, you should update all the packages on your system to avoid problems when you will compile.&amp;lt;BR&amp;gt;&lt;br /&gt;
Use these 2 command line :&amp;lt;BR&amp;gt;&lt;br /&gt;
Update repositories   :&lt;br /&gt;
 sudo aptitude update&lt;br /&gt;
And next, update the packages :&lt;br /&gt;
 sudo aptitude safe-upgrade&lt;br /&gt;
&lt;br /&gt;
If you're on a 64-bit system, you will also need to install the ia32-libs package.&lt;br /&gt;
&lt;br /&gt;
'''Note:''' The ''make toolchain'' command and later steps will download approximately a half-gig of tools and sources from various locations.  Do not start this if you do not have time for a large download.  Additionally, if you already have downloaded a copy of the correct version of the WebOS doctor, you can reduce the download time by copying the doctor file into cross-compile/doctors/ with the correct name.  This will cause the appropriate command to skip that download.  Note that codesourcery rate limts downloads and at a minimum this process will take 10 to 15 minutes irrespective of your connection speed. &lt;br /&gt;
&lt;br /&gt;
====Start setup====&lt;br /&gt;
Create a preware folder, copy the cross-compile tools into it (if you have not installed git, apt-get install git-core), and use a make script to begin the set up of the compilation toolchain. &lt;br /&gt;
&lt;br /&gt;
 sudo mkdir -p /srv/preware&lt;br /&gt;
 cd /srv/preware&lt;br /&gt;
 sudo chmod 777 .&lt;br /&gt;
 git clone git://git.webos-internals.org/preware/cross-compile.git&lt;br /&gt;
 cd cross-compile&lt;br /&gt;
 make toolchain&lt;br /&gt;
&lt;br /&gt;
====Fix mmap errors====&lt;br /&gt;
The following commands appear redundant.  They are not.  The install this fixes your mmap config to fix an mmap: permission denied error, but we don't need the package itself.&lt;br /&gt;
&lt;br /&gt;
 sudo apt-get install qemu-arm-static&lt;br /&gt;
 sudo apt-get remove qemu-arm-static&lt;br /&gt;
&lt;br /&gt;
: &amp;lt;span style=&amp;quot;font-size:150%&amp;quot;&amp;gt;OR&amp;lt;/span&amp;gt; As a workaround, if this package is not available, &lt;br /&gt;
::: the following commands can be executed in a root shell (sudo -s) to fix the mmap configuration to enable qemu-arm to work.&lt;br /&gt;
&lt;br /&gt;
 echo &amp;quot;vm.mmap_min_addr = 4096&amp;quot; &amp;gt; /etc/sysctl.d/mmap_min_addr.conf&lt;br /&gt;
 /etc/init.d/procps restart&lt;br /&gt;
&lt;br /&gt;
(note that the value should not be &amp;quot;0&amp;quot;. 4096 is chosen to avoid null pointer attacks.)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Setup Scratchbox====&lt;br /&gt;
Now, use apt-get to setup scratchbox...&lt;br /&gt;
&lt;br /&gt;
 sudo apt-get install scratchbox2 qemu-kvm-extras&lt;br /&gt;
&lt;br /&gt;
...and set it up for compiling for webOS. &lt;br /&gt;
&lt;br /&gt;
 cd /srv/preware/cross-compile/toolchain/arm-2007q3/arm-none-linux-gnueabi/libc&lt;br /&gt;
 PATH=/srv/preware/cross-compile/toolchain/arm-2007q3/bin:${PATH} sb2-init -c /usr/bin/qemu-arm armv7 arm-none-linux-gnueabi-gcc&lt;br /&gt;
 cd /srv/preware/cross-compile&lt;br /&gt;
&lt;br /&gt;
Then:&lt;br /&gt;
&lt;br /&gt;
 make stage&lt;br /&gt;
&lt;br /&gt;
Once this setup is complete, compiling sdl apps for webOS is very simple.&lt;br /&gt;
&lt;br /&gt;
==Errors during make stage (Feb 27 8:45 UTC)==&lt;br /&gt;
Confirmed by 2 people:&lt;br /&gt;
===Ecore===&lt;br /&gt;
*TRUE and FALSE are not defined&lt;br /&gt;
&lt;br /&gt;
Manually add the definition:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 #ifndef TRUE&lt;br /&gt;
 # define TRUE 1&lt;br /&gt;
 #endif&lt;br /&gt;
&lt;br /&gt;
 #ifndef FALSE&lt;br /&gt;
 # define FALSE 0&lt;br /&gt;
 #endif&lt;br /&gt;
&lt;br /&gt;
===/bin/sh errors===&lt;br /&gt;
If you are getting a &amp;quot;bad fd number&amp;quot; or other /bin/sh error, make sure your /bin/sh points to bash, not another shell (such as dash.)&lt;br /&gt;
&lt;br /&gt;
==Sample build of [[Application:Doom]]==&lt;br /&gt;
&lt;br /&gt;
Now, go to [[Building DOOM with scratchbox2]] and follow the simple directions.&lt;br /&gt;
&lt;br /&gt;
==In Process Enhancements==&lt;br /&gt;
[[Extracting the PDK on Linux]]&lt;/div&gt;</summary>
		<author><name>Tmandry</name></author>
	</entry>
	<entry>
		<id>http://wiki.webos-internals.org/index.php?title=WebOS_Internals_PDK&amp;diff=10365</id>
		<title>WebOS Internals PDK</title>
		<link rel="alternate" type="text/html" href="http://wiki.webos-internals.org/index.php?title=WebOS_Internals_PDK&amp;diff=10365"/>
		<updated>2010-06-21T20:15:16Z</updated>

		<summary type="html">&lt;p&gt;Tmandry: /* Errors during make stage (Feb 27 8:45 UTC) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category: SDL]]&lt;br /&gt;
Palm's binary sdk  the &amp;quot;Plugin Developer Kit&amp;quot; became available to all developers in March 2010.&lt;br /&gt;
&lt;br /&gt;
In addition to the PDK, WebOS Internals has released a full &amp;quot;WIDK&amp;quot; (WebOS Internals Development Kit) for you using Scratchbox2.  &lt;br /&gt;
&lt;br /&gt;
We ''strongly'' urge the community to standardize on this WIDK.   It uses the same underlying technologies, and is entirely open.  &lt;br /&gt;
&lt;br /&gt;
Scratchbox 2 is a cross-compilation engine, it can be used to create a highly flexible SDK.&lt;br /&gt;
&lt;br /&gt;
As installed below, the install process uses a script which extracts the required Palm provided files from a copy of webos doctor, and  downloads from other sources, and builds a complete compilation environment automatically which can compile SDL and openGLES apps for webOS.  &lt;br /&gt;
&lt;br /&gt;
SB2 ''itself'' is totally distribution neutral but the webOS cross-compile environment is designed and tested on Ubuntu 9.10 32 bit. (At least one user in #webos-internals reports complete success running the cross compile environment in Ubuntu 9.10 64 bit after installing curl via apt-get.) See [[WebOS_Internals_PDK_on_Mandriva]] if you want to run it on Mandriva and are willing to support that yourself and not ask WebOS Internals any questions about it.  Otherwise, use the recommended OS.&lt;br /&gt;
&lt;br /&gt;
The webOS Internals team ''strongly suggest'' apt-get install into that environment only for this purpose. The same installation of Sun Virtualbox which hosts the Palm SDK emulator can host an Ubuntu 9.10 server with very little effort. &lt;br /&gt;
&lt;br /&gt;
Developers wanting to work in an open environment 'without' SB2 can consider using the [[PuffTheMagic NDK]].&lt;br /&gt;
&lt;br /&gt;
==SB2 Homepage==&lt;br /&gt;
[http://www.freedesktop.org/wiki/Software/sbox2 http://www.freedesktop.org/wiki/Software/sbox2]pdk&lt;br /&gt;
&lt;br /&gt;
==License==&lt;br /&gt;
Scratchbox 2 is distributed under LGPL version 2.1, portions are under GPL version 2. Some minor stuff is under MIT style license.&lt;br /&gt;
&lt;br /&gt;
== Installation on Ubuntu for WebOS PDK cross compiling ==&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:right; clear:right; width:30%&amp;quot;&amp;gt;{{Ubuntu_VM_notes_for_Windows_users}}&amp;lt;/div&amp;gt;&lt;br /&gt;
===Toolchain===&lt;br /&gt;
&lt;br /&gt;
===Prequisites===&lt;br /&gt;
Your Ubuntu installation will need the following installed.  If you do not have them, run the command after the package name. You can test if they are found by just typing the command name.  If it says command not found, you need to install it.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ &lt;br /&gt;
|'''git''' || sudo apt-get install git-core&lt;br /&gt;
|-&lt;br /&gt;
|'''gcc''' || sudo apt-get install build-essential&lt;br /&gt;
|-&lt;br /&gt;
|'''curl''' || sudo apt-get install curl&lt;br /&gt;
|-&lt;br /&gt;
|'''unzip'''|| sudo apt-get install unzip&lt;br /&gt;
|-&lt;br /&gt;
|'''autoconf'''|| sudo apt-get install autoconf&lt;br /&gt;
|-&lt;br /&gt;
|'''subversion'''|| sudo apt-get install subversion&lt;br /&gt;
|-&lt;br /&gt;
|'''libtool'''|| sudo apt-get install libtool&lt;br /&gt;
|-&lt;br /&gt;
|'''wget'''|| sudo apt-get install wget&lt;br /&gt;
|-&lt;br /&gt;
|'''pkg-config'''|| sudo apt-get install pkg-config&lt;br /&gt;
|-&lt;br /&gt;
|'''gettext'''|| sudo apt-get install gettext&lt;br /&gt;
|-&lt;br /&gt;
|'''fakeroot'''|| sudo apt-get install fakeroot&lt;br /&gt;
|-&lt;br /&gt;
|'''javac'''|| sudo apt-get install sun-java6-jdk&lt;br /&gt;
|-&lt;br /&gt;
|'''ant'''|| sudo apt-get install ant&lt;br /&gt;
|-&lt;br /&gt;
|'''xsltproc'''|| sudo apt-get install xsltproc&lt;br /&gt;
|-&lt;br /&gt;
|'''intltool'''|| sudo apt-get install intltool&lt;br /&gt;
|-&lt;br /&gt;
|'''mkimage'''|| sudo apt-get install uboot-mkimage&lt;br /&gt;
|-&lt;br /&gt;
|'''lsdiff'''|| sudo apt-get install patchutils&lt;br /&gt;
|-&lt;br /&gt;
|'''flex'''|| sudo apt-get install flex&lt;br /&gt;
|-&lt;br /&gt;
|'''bison'''|| sudo apt-get install bison&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
*** it has been reported that sun-java6-jdk isn't necessary ***&lt;br /&gt;
&lt;br /&gt;
If you're uncertain at all, just cut and paste the following.  If they are already installed, they'll be skipped.  &lt;br /&gt;
&lt;br /&gt;
  sudo apt-get install git-core build-essential curl unzip autoconf subversion libtool wget pkg-config gettext fakeroot ant xsltproc intltool uboot-mkimage patchutils flex bison&lt;br /&gt;
&lt;br /&gt;
'''Note:''' If you are a beginner with Ubuntu Linux Distribution, you should update all the packages on your system to avoid problems when you will compile.&amp;lt;BR&amp;gt;&lt;br /&gt;
Use these 2 command line :&amp;lt;BR&amp;gt;&lt;br /&gt;
Update repositories   :&lt;br /&gt;
 sudo aptitude update&lt;br /&gt;
And next, update the packages :&lt;br /&gt;
 sudo aptitude safe-upgrade&lt;br /&gt;
&lt;br /&gt;
If you're on a 64-bit system, you will also need to install the ia32-libs package.&lt;br /&gt;
&lt;br /&gt;
'''Note:''' The ''make toolchain'' command and later steps will download approximately a half-gig of tools and sources from various locations.  Do not start this if you do not have time for a large download.  Additionally, if you already have downloaded a copy of the correct version of the WebOS doctor, you can reduce the download time by copying the doctor file into cross-compile/doctors/ with the correct name.  This will cause the appropriate command to skip that download.  Note that codesourcery rate limts downloads and at a minimum this process will take 10 to 15 minutes irrespective of your connection speed. &lt;br /&gt;
&lt;br /&gt;
====Start setup====&lt;br /&gt;
Create a preware folder, copy the cross-compile tools into it (if you have not installed git, apt-get install git-core), and use a make script to begin the set up of the compilation toolchain. &lt;br /&gt;
&lt;br /&gt;
 sudo mkdir -p /srv/preware&lt;br /&gt;
 cd /srv/preware&lt;br /&gt;
 sudo chmod 777 .&lt;br /&gt;
 git clone git://git.webos-internals.org/preware/cross-compile.git&lt;br /&gt;
 cd cross-compile&lt;br /&gt;
 make toolchain&lt;br /&gt;
&lt;br /&gt;
====Fix mmap errors====&lt;br /&gt;
The following commands appear redundant.  They are not.  The install this fixes your mmap config to fix an mmap: permission denied error, but we don't need the package itself.&lt;br /&gt;
&lt;br /&gt;
 sudo apt-get install qemu-arm-static&lt;br /&gt;
 sudo apt-get remove qemu-arm-static&lt;br /&gt;
&lt;br /&gt;
: &amp;lt;span style=&amp;quot;font-size:150%&amp;quot;&amp;gt;OR&amp;lt;/span&amp;gt; As a workaround, if this package is not available, &lt;br /&gt;
::: the following commands can be executed in a root shell (sudo -s) to fix the mmap configuration to enable qemu-arm to work.&lt;br /&gt;
&lt;br /&gt;
 echo &amp;quot;vm.mmap_min_addr = 4096&amp;quot; &amp;gt; /etc/sysctl.d/mmap_min_addr.conf&lt;br /&gt;
 /etc/init.d/procps restart&lt;br /&gt;
&lt;br /&gt;
(note that the value should not be &amp;quot;0&amp;quot;. 4096 is chosen to avoid null pointer attacks.)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Setup Scratchbox====&lt;br /&gt;
Now, use apt-get to setup scratchbox...&lt;br /&gt;
&lt;br /&gt;
 sudo apt-get install scratchbox2 qemu-kvm-extras&lt;br /&gt;
&lt;br /&gt;
...and set it up for compiling for webOS. &lt;br /&gt;
&lt;br /&gt;
 cd /srv/preware/cross-compile/toolchain/arm-2007q3/arm-none-linux-gnueabi/libc&lt;br /&gt;
 PATH=/srv/preware/cross-compile/toolchain/arm-2007q3/bin:${PATH} sb2-init -c /usr/bin/qemu-arm armv7 arm-none-linux-gnueabi-gcc&lt;br /&gt;
 cd /srv/preware/cross-compile&lt;br /&gt;
&lt;br /&gt;
Then:&lt;br /&gt;
&lt;br /&gt;
 make stage&lt;br /&gt;
&lt;br /&gt;
Once this setup is complete, compiling sdl apps for webOS is very simple.&lt;br /&gt;
&lt;br /&gt;
==Errors during make stage (Feb 27 8:45 UTC)==&lt;br /&gt;
Confirmed by 2 people:&lt;br /&gt;
===Ecore===&lt;br /&gt;
*TRUE and FALSE are not defined&lt;br /&gt;
&lt;br /&gt;
Manually add the definition:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 #ifndef TRUE&lt;br /&gt;
 # define TRUE 1&lt;br /&gt;
 #endif&lt;br /&gt;
&lt;br /&gt;
 #ifndef FALSE&lt;br /&gt;
 # define FALSE 0&lt;br /&gt;
 #endif&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===/bin/sh errors===&lt;br /&gt;
If you are getting a &amp;quot;bad fd number&amp;quot; or other /bin/sh error, make sure your /bin/sh points to bash, not another shell (such as dash.)&lt;br /&gt;
&lt;br /&gt;
==Sample build of [[Application:Doom]]==&lt;br /&gt;
&lt;br /&gt;
Now, go to [[Building DOOM with scratchbox2]] and follow the simple directions.&lt;br /&gt;
&lt;br /&gt;
==In Process Enhancements==&lt;br /&gt;
[[Extracting the PDK on Linux]]&lt;/div&gt;</summary>
		<author><name>Tmandry</name></author>
	</entry>
</feed>