| Line 4: | Line 4: | ||
[[Category:application-developer]] | [[Category:application-developer]] | ||
[[Category:linux]] | [[Category:linux]] | ||
| - | + | This page describes how to install and configure the MeeGo 1.1 SDK on your Linux development system. | |
| - | This page | + | |
== Prerequisites == | == Prerequisites == | ||
| - | * To use | + | * '''Hardware:''' Any reasonably modern hardware, such as 32-bit Intel Atom or Intel Core 2 CPU. '''To use QEMU''' to run MeeGo in a virtual machine your system must have support for ''Virtualization Technology'' (VT). See the [[SDK/Docs/1.1/MeeGo_SDK_Graphics_Acceleration|Graphics Acceleration]] page for details. |
| - | + | * '''Software:''' The MeeGo 1.1 SDK has been validated on 32-bit versions of [https://fedoraproject.org/en/index Fedora 12], [[https://fedoraproject.org/en/index Fedora 13], [http://www.ubuntu.com/ Ubuntu 9.10], and [http://www.ubuntu.com/ Ubuntu 10.04 LTS]. For support status and issues using other host OS's see [http://wiki.meego.com/SDK/Docs/1.1/MeeGo_1.1_SDK_Host_OS_Support this page]. | |
| - | * To | + | * '''Root privileges:''' To install the SDK you will need to have root privileges. Commands that require root privileges are prefaced with "sudo". For convenience, you may wish to setup "sudo" capabilities to easily switch between root and normal user privileges (see [http://www.gratisoft.us/sudo/sudo.man.html sudoers manpage].) |
| - | * | + | * '''Commands:''' Terminal commands are prefaced with "$". Do not enter $ when entering the commands in your terminal. |
== Configuring distributions package manager == | == Configuring distributions package manager == | ||
| - | ===On | + | === On Ubuntu or Debian === |
| - | # Add the following line to | + | <!-- Replaced '#' with <li> so that multi-line <pre> statements would appear in a single block --> |
| - | + | <ol> | |
| - | + | <li>Add the following line to <code>/etc/apt/sources.list.d/meego-sdk.list</code>.<br> | |
| - | + | Replace ${distribution}/${version} with one of the following: "ubuntu/09.10", "ubuntu/10.04", or "debian/5.0". | |
| - | + | <pre>deb http://repo.meego.com/MeeGo/sdk/host/repos/${distribution}/${version}/ / </pre> | |
| - | + | </li> | |
| - | + | <li>Add the repository public key: | |
| - | + | <pre>$ sudo gpg --keyserver pgpkeys.mit.edu --recv 0BC7BEC479FC1F8A | |
| - | + | $ sudo gpg --export --armor 0BC7BEC479FC1F8A | sudo apt-key add -</pre> | |
| - | + | </li> | |
| - | + | <li>Update the packages database: | |
| + | <pre>$ sudo apt-get update</pre> | ||
| + | </li> | ||
| + | <li>To check that the MeeGo repository has been correctly added, run the following command. The details of the MADDE package should be printed. | ||
| + | <pre>$ sudo apt-cache policy madde</pre> | ||
| + | </li> | ||
| + | </ol> | ||
| - | ===On Fedora=== | + | === On Fedora === |
| - | + | <ol> | |
| - | + | <li>Go to the yum repository directory: | |
| - | + | <pre>$ cd /etc/yum.repos.d/ </pre> | |
| - | + | </li> | |
| - | + | <li>Add the MeeGo SDK yum repository. <br/> | |
| - | + | Replace ${distribution}/${version} with one of the following: "fedora/12" or "fedora/13". | |
| - | + | <pre>$ sudo wget http://repo.meego.com/MeeGo/sdk/host/repos/${distribution}/${version}/meego-sdk.repo</pre> | |
| - | + | </li> | |
| - | + | <li>Install the signing key: | |
| + | <pre>$ sudo rpm --import http://repo.meego.com/MeeGo/sdk/host/repos/${distribution}/${version}/repodata/repomd.xml.key </pre> | ||
| + | </li> | ||
| + | <li>Update the packages database: | ||
| + | <pre>$ sudo yum update</pre> | ||
| + | </li> | ||
| + | </ol> | ||
| - | ===On MeeGo=== | + | === On MeeGo === |
| + | <ul> | ||
| + | <li>To add the MeeGo SDK repository on a system running MeeGo, run the following command. <br> | ||
| + | Replace ${distribution}/${version} with one of the following values: "meego/1.1" or "meego/trunk". | ||
| + | <pre>$ sudo zypper addrepo -f http://repo.meego.com/MeeGo/sdk/host/repos/${distribution}/${version}/meego-sdk.repo</pre> | ||
| + | </li> | ||
| + | </ul> | ||
| + | === On openSUSE === | ||
| + | <ul> | ||
| + | <li>To add the MeeGo repository, run the following command. <br> | ||
| + | Replace ${distribution}/${version} with one of the following values: "opensuse/11.2" or "opensuse/11.3". | ||
| + | <pre>$ sudo zypper addrepo -f http://repo.meego.com/MeeGo/sdk/host/repos/${distribution}/${version}/meego-sdk.repo</pre> | ||
| + | </li> | ||
| + | </ul> | ||
| - | + | == Installing the MeeGo SDK == | |
| + | <ul> | ||
| + | <li>Debian / Ubuntu | ||
| + | <pre>$ sudo apt-get install meego-sdk</pre> | ||
| + | </li> | ||
| + | <li>Fedora | ||
| + | <pre>$ sudo yum install meego-sdk</pre> | ||
| + | </li> | ||
| + | <li>OpenSUSE | ||
| + | <pre>$ sudo zypper install meego-sdk</pre> | ||
| + | </li> | ||
| + | </ul> | ||
| - | + | '''For ARM only:''' | |
| - | < | + | <ul> |
| - | + | <li>Debian / Ubuntu | |
| - | </pre> | + | <pre>$ sudo apt-get install meego-sdk-armv7l</pre> |
| + | </li> | ||
| + | <li>Fedora | ||
| + | <pre>$ sudo yum install meego-sdk-armv7l</pre> | ||
| + | </li> | ||
| + | <li>OpenSUSE | ||
| + | <pre>$ sudo zypper install meego-sdk-armv7l</pre> | ||
| + | </li> | ||
| + | </ul> | ||
| - | ''' | + | '''For IA32 only:''' |
| + | <ul> | ||
| + | <li>Debian / Ubuntu | ||
| + | <pre>$ sudo apt-get install meego-sdk-ia32</pre> | ||
| + | </li> | ||
| + | <li>Fedora | ||
| + | <pre>$ sudo yum install meego-sdk-ia32</pre> | ||
| + | </li> | ||
| + | <li>OpenSUSE | ||
| + | <pre>$ sudo zypper install meego-sdk-ia32</pre> | ||
| + | </li> | ||
| + | </ul> | ||
| - | == | + | == Install MeeGo Target == |
| + | A ''Target'' is used to build programs using the MeeGo toolchain and libraries (sysroot). It is downloaded as a large (~250MB) .bz2 file using the commands below. MADDE (MeeGo Application Develop and Debug Environment ([http://wiki.maemo.org/MADDE background])) is a tool that assists in the download and installation of the Target. "mad-admin" is the MADDE command-line tool. You can install multiple Targets and switch easily between them in Qt Creator (described later). | ||
| - | + | <ol> | |
| - | + | <li>Create a MeeGo target using MADDE <br> | |
| - | * | + | Run the command below. Replace <target> with one of |
| - | < | + | * '''meego-core-armv7l-1.1''': Build applications for ARM handheld devices (such as N900) |
| - | + | * '''meego-handset-ia32-1.1''': Build applications for x86 handheld devices (such as Aava) | |
| + | * '''meego-netbook-ia32-1.1''': Build applications for x86 netbooks. | ||
| + | Note that the <code>-f</code> flag instructs MADDE to download the Target tarball (bz2) first. | ||
| + | <pre>$ sudo mad-admin create -f <target> </pre> | ||
| + | If you counter problems, check the [http://wiki.meego.com/MeeGo_SDK_Troubleshooting#General_SDK_Errors Troubleshooting page] | ||
| + | </li> | ||
| + | <li>To check that the target has been installed correctly, run the following. <br> | ||
| + | Replace <target> with one of the values described in the previous step | ||
| + | <pre>$ mad -t <target> pscreate -t qt-simple qthello | ||
| + | $ cd qthello | ||
| + | $ mad -t <target> qmake | ||
| + | $ mad -t <target> make | ||
</pre> | </pre> | ||
| + | </li> | ||
| + | <li>To check that the qt-simple application is created for the correct target, run: | ||
| + | <pre>$ file build/qthello</pre> | ||
| + | </li> | ||
| + | </ol> | ||
| - | + | == Install MeeGo Runtime == | |
| - | + | A ''Runtime'' is the MeeGo OS image that is run with QEMU when debugging applications on your host system. It is not required if you develop against real hardware running MeeGo. It is downloaded as a large (~650MB) .bz2 file using MADDE. The Runtime is not needed until you have finished configuring Qt Creator. However, as this step may take some time, it is recommended to start it now so that it can proceed in the background while you continue following the steps on this page. | |
| - | == | + | |
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | ''' | + | |
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | See [http://wiki.meego.com/SDK/Docs/1.1/Configuring_QEMU_runtimes#Configuring_access_to_an_emulated_device_in_Qt_Creator Downloading a Runtime and Using QEMU] | |
== Configuring Qt Creator to use the MeeGo toolchain(s) == | == Configuring Qt Creator to use the MeeGo toolchain(s) == | ||
| Line 130: | Line 163: | ||
To remove installed components, run: | To remove installed components, run: | ||
| - | + | $ sudo apt-get remove --purge meego-sdk-qtcreator madde qt-tools qrm-2009ql qemu-arm qemu-gl meego-sdk-i586-toolchain meego-qemu | |
| - | $ sudo apt-get remove --purge meego-sdk-qtcreator | + | |
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
To remove dependencies related to installed components, run: | To remove dependencies related to installed components, run: | ||
$ sudo apt-get autoremove | $ sudo apt-get autoremove | ||
| - | To remove MADDE directory: | + | To remove MADDE directory (it is not automatically removed when "madde" package is uninstalled): |
$ sudo rm -rf /usr/lib/madde | $ sudo rm -rf /usr/lib/madde | ||
| Line 151: | Line 177: | ||
To remove installed components, run: | To remove installed components, run: | ||
| - | + | $ sudo zypper remove -u meego-sdk-qt-creator madde qt-tools arm-2009ql qemu-arm qemu-gl meego-sdk-i586-toolchain meego-qemu | |
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
To remove MADDE directory: | To remove MADDE directory: | ||
| - | + | $ sudo rm -rf /usr/lib/madde | |
This page describes how to install and configure the MeeGo 1.1 SDK on your Linux development system.
Contents |
/etc/apt/sources.list.d/meego-sdk.list.deb http://repo.meego.com/MeeGo/sdk/host/repos/${distribution}/${version}/ /
$ sudo gpg --keyserver pgpkeys.mit.edu --recv 0BC7BEC479FC1F8A $ sudo gpg --export --armor 0BC7BEC479FC1F8A | sudo apt-key add -
$ sudo apt-get update
$ sudo apt-cache policy madde
$ cd /etc/yum.repos.d/
$ sudo wget http://repo.meego.com/MeeGo/sdk/host/repos/${distribution}/${version}/meego-sdk.repo
$ sudo rpm --import http://repo.meego.com/MeeGo/sdk/host/repos/${distribution}/${version}/repodata/repomd.xml.key
$ sudo yum update
$ sudo zypper addrepo -f http://repo.meego.com/MeeGo/sdk/host/repos/${distribution}/${version}/meego-sdk.repo
$ sudo zypper addrepo -f http://repo.meego.com/MeeGo/sdk/host/repos/${distribution}/${version}/meego-sdk.repo
$ sudo apt-get install meego-sdk
$ sudo yum install meego-sdk
$ sudo zypper install meego-sdk
For ARM only:
$ sudo apt-get install meego-sdk-armv7l
$ sudo yum install meego-sdk-armv7l
$ sudo zypper install meego-sdk-armv7l
For IA32 only:
$ sudo apt-get install meego-sdk-ia32
$ sudo yum install meego-sdk-ia32
$ sudo zypper install meego-sdk-ia32
A Target is used to build programs using the MeeGo toolchain and libraries (sysroot). It is downloaded as a large (~250MB) .bz2 file using the commands below. MADDE (MeeGo Application Develop and Debug Environment (background)) is a tool that assists in the download and installation of the Target. "mad-admin" is the MADDE command-line tool. You can install multiple Targets and switch easily between them in Qt Creator (described later).
-f flag instructs MADDE to download the Target tarball (bz2) first.
$ sudo mad-admin create -f <target>
If you counter problems, check the Troubleshooting page
$ mad -t <target> pscreate -t qt-simple qthello $ cd qthello $ mad -t <target> qmake $ mad -t <target> make
$ file build/qthello
A Runtime is the MeeGo OS image that is run with QEMU when debugging applications on your host system. It is not required if you develop against real hardware running MeeGo. It is downloaded as a large (~650MB) .bz2 file using MADDE. The Runtime is not needed until you have finished configuring Qt Creator. However, as this step may take some time, it is recommended to start it now so that it can proceed in the background while you continue following the steps on this page.
See Downloading a Runtime and Using QEMU
Start Qt Creator by selecting Applications > Programming > Qt Creator.
Configure Qt Creator to use the MeeGo toolchain(s):
usr/lib/madde/linux-i686/targets/<target>/bin/qmake.
To start developing with the MeeGo SDK, the hello world tutorial is a good starting point.
This tutorial covers how to start a project, package it, and deploy it to a device (either a real device, or a QEMU runtime set up through MADDE).
To remove installed components, run:
$ sudo apt-get remove --purge meego-sdk-qtcreator madde qt-tools qrm-2009ql qemu-arm qemu-gl meego-sdk-i586-toolchain meego-qemu
To remove dependencies related to installed components, run:
$ sudo apt-get autoremove
To remove MADDE directory (it is not automatically removed when "madde" package is uninstalled):
$ sudo rm -rf /usr/lib/madde
To remove the packages from your local repository (/var/cache/apt/archives/), run:
$ sudo apt-get clean
To remove installed components, run:
$ sudo zypper remove -u meego-sdk-qt-creator madde qt-tools arm-2009ql qemu-arm qemu-gl meego-sdk-i586-toolchain meego-qemu
To remove MADDE directory:
$ sudo rm -rf /usr/lib/madde