(→Install MeeGo Target) |
(→Install MeeGo Runtime) |
||
| (35 intermediate revisions not shown) | |||
| Line 8: | Line 8: | ||
== Prerequisites == | == Prerequisites == | ||
| - | * '''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. | + | * '''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 | + | * '''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 OSs, see [http://wiki.meego.com/SDK/Docs/1.1/MeeGo_1.1_SDK_Host_OS_Support this page]. |
| - | * '''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 | + | * '''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 set up "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. | + | * '''Commands:''' Terminal commands are prefaced with "$". Do not enter $, when entering the commands in your terminal. |
== Configuring distributions package manager == | == Configuring distributions package manager == | ||
| Line 17: | Line 17: | ||
=== On Ubuntu or Debian === | === On Ubuntu or Debian === | ||
| - | + | ==== Add the repo ==== | |
| - | + | ||
| - | + | Add the following line to <code>/etc/apt/sources.list.d/meego-sdk.list</code>. Replace ${distribution}/${version} with one of the following: "debian/5.0", "ubuntu/09.10", "ubuntu/10.04" or "ubuntu/10.10". | |
| - | Replace ${distribution}/${version} with one of the following: "ubuntu/09.10", "ubuntu/10.04" | + | |
| - | < | + | |
| - | + | deb <nowiki>http://repo.meego.com/MeeGo/sdk/host/repos/${distribution}/${version}/ /</nowiki> | |
| - | + | ||
| - | + | ==== Add the repository public key ==== | |
| - | $ gpg --export --armor 0BC7BEC479FC1F8A | sudo apt-key add - | + | |
| - | + | $ gpg --keyserver pgpkeys.mit.edu --recv 0BC7BEC479FC1F8A | |
| - | + | $ gpg --export --armor 0BC7BEC479FC1F8A | sudo apt-key add - | |
| - | + | ||
| - | + | '''Note:''' The keyserver used above may currently be unresponsive. If that is the case, you may choose to use a different, trusted keyserver. For example: | |
| - | + | ||
| - | + | $ gpg --keyserver pool.sks-keyservers.net --recv 0BC7BEC479FC1F8A | |
| - | + | $ gpg --export --armor 0BC7BEC479FC1F8A | sudo apt-key add - | |
| - | + | ||
| + | ==== Update the packages database ==== | ||
| + | |||
| + | $ sudo apt-get update | ||
| + | |||
| + | ==== Verify repo correctness ==== | ||
| + | |||
| + | To check that the MeeGo repository has been correctly added, run the following command. The details of the MADDE package should be printed. | ||
| + | |||
| + | $ apt-cache policy madde | ||
=== On Fedora === | === On Fedora === | ||
| - | + | ==== Add the repo ==== | |
| - | + | ||
| - | + | Add the MeeGo SDK yum repository. Replace ${distribution}/${version} with one of the following: "fedora/12" or "fedora/13". | |
| - | + | ||
| - | + | $ cd /etc/yum.repos.d/ | |
| - | Replace ${distribution}/${version} with one of the following: "fedora/12" or "fedora/13". | + | $ <nowiki>sudo wget http://repo.meego.com/MeeGo/sdk/host/repos/${distribution}/${version}/meego-sdk.repo</nowiki> |
| - | < | + | |
| - | + | ==== Install the signing key ==== | |
| - | + | ||
| - | < | + | $ <nowiki>sudo rpm --import http://repo.meego.com/MeeGo/sdk/host/repos/${distribution}/${version}/repodata/repomd.xml.key</nowiki> |
| - | + | ||
| - | + | ==== Update the packages database ==== | |
| - | + | ||
| - | + | $ sudo yum update | |
| - | + | ||
=== On MeeGo === | === On MeeGo === | ||
| - | + | ||
| - | + | To add the MeeGo SDK repository on a system running MeeGo, run the following command. Replace ${distribution}/${version} with one of the following values: "meego/1.1" or "meego/trunk". | |
| - | Replace ${distribution}/${version} with one of the following values: "meego/1.1" or "meego/trunk". | + | |
| - | < | + | $ <nowiki>sudo zypper addrepo -f http://repo.meego.com/MeeGo/sdk/host/repos/${distribution}/${version}/meego-sdk.repo</nowiki> |
| - | + | ||
| - | + | ||
=== On openSUSE === | === On openSUSE === | ||
| - | + | ||
| - | + | To add the MeeGo repository, run the following command. Replace ${distribution}/${version} with one of the following values: "opensuse/11.2" or "opensuse/11.3". | |
| - | Replace ${distribution}/${version} with one of the following values: "opensuse/11.2" or "opensuse/11.3". | + | |
| - | < | + | $ <nowiki>sudo zypper addrepo -f http://repo.meego.com/MeeGo/sdk/host/repos/${distribution}/${version}/meego-sdk.repo</nowiki> |
| - | + | ||
| - | + | ||
== Installing the MeeGo SDK == | == Installing the MeeGo SDK == | ||
| Line 94: | Line 99: | ||
</ul> | </ul> | ||
| - | '''For IA32 only:''' | + | '''For IA32 only:'''[[SDK/Docs/1.1/Configuring_QEMU_runtimes]] |
<ul> | <ul> | ||
<li>Debian / Ubuntu | <li>Debian / Ubuntu | ||
| Line 108: | Line 113: | ||
== Install MeeGo Target == | == Install MeeGo Target == | ||
| - | A ''Target'' is used to build programs using the MeeGo toolchain and libraries (sysroot). It is downloaded as a large (~ | + | A ''Target'' is used to build programs using the MeeGo toolchain and libraries (sysroot). It is downloaded as a large (~250 MB) .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). |
| - | + | === Determine the target you want to use === | |
| - | + | ||
| - | Run the command below. | + | Run the command below. The available targets will be listed under the "Targets:" heading. |
| - | * | + | |
| - | * | + | $ sudo mad-admin list |
| - | * | + | |
| - | Note that the <code>-f</code> flag instructs MADDE to download the Target tarball (bz2) first. | + | Some hints about the target prefixes: |
| - | + | ||
| - | If you encounter problems, check the [ | + | * ''meego-core-armv7l'': Build applications for ARM handheld devices (such as N900) |
| - | + | * ''meego-handset-ia32'': Build applications for x86 handheld devices (such as Aava) | |
| - | + | * ''meego-netbook-ia32'': Build applications for x86 netbooks. | |
| - | Replace <target> with | + | |
| - | + | === Create the target === | |
| - | $ cd qthello | + | |
| - | $ mad -t <target> qmake | + | Run the command below. Replace <target> with the target you determined in the previous step. Note that the <code>-f</code> flag instructs MADDE to download the Target tarball (bz2) first. |
| - | $ mad -t <target> make | + | |
| - | + | $ sudo mad-admin create -f <target> | |
| - | + | ||
| - | + | If you encounter problems, check the [[MeeGo_SDK_Troubleshooting#General_SDK_Errors|troubleshooting page]]. | |
| - | + | ||
| - | + | === Verify target installation === | |
| - | + | ||
| + | To check that the target has been installed correctly, run the following. Replace <target> with the same value used in the previous step. | ||
| + | |||
| + | $ mad -t <target> pscreate -t qt-simple qthello | ||
| + | $ cd qthello | ||
| + | $ mad -t <target> qmake | ||
| + | $ mad -t <target> make | ||
| + | |||
| + | Note: Running qmake will print "-unix is deprecated". This is not an error with the compilation. You can safely ignore this for now. | ||
| + | |||
| + | === Verify correct build === | ||
| + | |||
| + | To check that the qt-simple application is created for the correct target, run the following command, and verify the output. | ||
| + | |||
| + | $ file build/qthello | ||
== Install MeeGo Runtime == | == 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 (~ | + | 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 (~650 MB) .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 [ | + | See [[SDK/Docs/1.1/Configuring_QEMU_runtimes|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 158: | Line 177: | ||
The steps are the same as above, but the '''qmake location''' is set to the <code>qmake</code> installed with the meego-sdk-qt libraries. The usual location for this on Linux is: | The steps are the same as above, but the '''qmake location''' is set to the <code>qmake</code> installed with the meego-sdk-qt libraries. The usual location for this on Linux is: | ||
| - | /opt/meego/meego-sdk-qt/bin/qmake | + | $ /opt/meego/meego-sdk-qt/bin/qmake |
| + | |||
| + | Note: On Ubuntu 10.10, you may need to install g++ in order for this step to work. If necessary, do this: | ||
| + | |||
| + | $ sudo apt-get install g++ | ||
== Developing with the SDK == | == Developing with the SDK == | ||
| Line 191: | Line 214: | ||
| - | === On openSUSE === | + | === On openSUSE / MeeGo === |
To remove installed components, run: | To remove installed components, run: | ||
| Line 202: | Line 225: | ||
* [[SDK/Docs/1.1/Memulai_dengan_SDK_MeeGo_untuk_Linux|Memulai dengan SDK Meego untuk Linux - Bahasa Indonesia]] | * [[SDK/Docs/1.1/Memulai_dengan_SDK_MeeGo_untuk_Linux|Memulai dengan SDK Meego untuk Linux - Bahasa Indonesia]] | ||
| + | * [[SDK/Docs/1.1/在Linux平台开发进行MeeGo_SDK开发|在Linux平台进行MeeGo_SDK开发 - 简体中文]] | ||
This page describes how to install and configure the MeeGo 1.1 SDK on your Linux development system.
Contents |
Add the following line to /etc/apt/sources.list.d/meego-sdk.list. Replace ${distribution}/${version} with one of the following: "debian/5.0", "ubuntu/09.10", "ubuntu/10.04" or "ubuntu/10.10".
deb http://repo.meego.com/MeeGo/sdk/host/repos/${distribution}/${version}/ /
$ gpg --keyserver pgpkeys.mit.edu --recv 0BC7BEC479FC1F8A $ gpg --export --armor 0BC7BEC479FC1F8A | sudo apt-key add -
Note: The keyserver used above may currently be unresponsive. If that is the case, you may choose to use a different, trusted keyserver. For example:
$ gpg --keyserver pool.sks-keyservers.net --recv 0BC7BEC479FC1F8A $ gpg --export --armor 0BC7BEC479FC1F8A | sudo apt-key add -
$ sudo apt-get update
To check that the MeeGo repository has been correctly added, run the following command. The details of the MADDE package should be printed.
$ apt-cache policy madde
Add the MeeGo SDK yum repository. Replace ${distribution}/${version} with one of the following: "fedora/12" or "fedora/13".
$ 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
To add the MeeGo SDK repository on a system running MeeGo, run the following command. Replace ${distribution}/${version} with one of the following values: "meego/1.1" or "meego/trunk".
$ sudo zypper addrepo -f http://repo.meego.com/MeeGo/sdk/host/repos/${distribution}/${version}/meego-sdk.repo
To add the MeeGo repository, run the following command. Replace ${distribution}/${version} with one of the following values: "opensuse/11.2" or "opensuse/11.3".
$ 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:SDK/Docs/1.1/Configuring_QEMU_runtimes
$ 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 (~250 MB) .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).
Run the command below. The available targets will be listed under the "Targets:" heading.
$ sudo mad-admin list
Some hints about the target prefixes:
Run the command below. Replace <target> with the target you determined in the previous step. Note that the -f flag instructs MADDE to download the Target tarball (bz2) first.
$ sudo mad-admin create -f <target>
If you encounter problems, check the troubleshooting page.
To check that the target has been installed correctly, run the following. Replace <target> with the same value used in the previous step.
$ mad -t <target> pscreate -t qt-simple qthello $ cd qthello $ mad -t <target> qmake $ mad -t <target> make
Note: Running qmake will print "-unix is deprecated". This is not an error with the compilation. You can safely ignore this for now.
To check that the qt-simple application is created for the correct target, run the following command, and verify the output.
$ 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 (~650 MB) .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.
It is also possible to use Qt Creator without a MeeGo toolchain. This option can be useful if you don't need to cross-compile your software: for example, if you are doing QML development with no use of C++.
The steps are the same as above, but the qmake location is set to the qmake installed with the meego-sdk-qt libraries. The usual location for this on Linux is:
$ /opt/meego/meego-sdk-qt/bin/qmake
Note: On Ubuntu 10.10, you may need to install g++ in order for this step to work. If necessary, do this:
$ sudo apt-get install g++
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 arm-2009q1 qemu-arm qemu-gl meego-sdk-i586-toolchain meego-qemu meego-sdk-qt
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 yum remove meego-sdk-qt-creator madde qt-tools arm-2009q1 qemu-arm qemu-gl meego-sdk-i586-toolchain meego-qemu
To remove MADDE directory:
$ sudo rm -rf /usr/lib/madde
To remove installed components, run:
$ sudo zypper remove -u meego-sdk-qt-creator madde qt-tools arm-2009q1 qemu-arm qemu-gl meego-sdk-i586-toolchain meego-qemu
To remove MADDE directory:
$ sudo rm -rf /usr/lib/madde