Meego Wiki
Views

SDK/Docs/1.1/Troubleshooting

From MeeGo wiki
(Difference between revisions)
Jump to: navigation, search
(Added solution for SDK permission problem)
Line 29: Line 29:
<tr>
<tr>
<td>
<td>
-
QMAKESPEC has not been set when running qmake.
+
[Ubuntu 10.04, NVIDIA, handset 2010/10/31] QMAKESPEC has not been set when running qmake.
<pre>
<pre>
$ mad -t meego-handset-ia32-1.1 qmake
$ mad -t meego-handset-ia32-1.1 qmake
Line 48: Line 48:
This is a known issue: see bug [http://bugs.meego.com/show_bug.cgi?id=8938 8938]<br/>
This is a known issue: see bug [http://bugs.meego.com/show_bug.cgi?id=8938 8938]<br/>
The solution is [http://wiki.meego.com/SDK/Troubleshooting/Compiling_MTF Compiling MTF applications here].
The solution is [http://wiki.meego.com/SDK/Troubleshooting/Compiling_MTF Compiling MTF applications here].
 +
</td>
 +
</tr>
 +
<tr>
 +
<td>
 +
[Ubuntu 10.04, NVIDIA, handset 2010/10/31] Depending on the <code>umask</code> setting during installation, access to the SDK components may not be available to non-root users. This results in errors such as the following:
 +
<pre>
 +
$ mad -t meego-handset-ia32-1.1 qmake
 +
-unix is deprecated.
 +
Could not find mkspecs for your QMAKESPEC(linux-g++) after trying:
 +
/usr/lib/madde/linux-i686/sysroots/meego-core-ia32-madde-sysroot-1.1-fs/usr/share/qt4/mkspecs
 +
Error processing project file:
 +
/home/user_x/work/meego/qthello-handset/qthello-handset.pro
 +
</pre>
 +
</td>
 +
<td>
 +
Change the permissions on the SDK installation (/usr/lib/madde/linux-i686/ on Ubuntu) using commands such as the following:
 +
<pre>
 +
find ./ -perm 700 -exec chmod 755 {} \;
 +
find ./ -perm 600 -exec chmod 644 {} \;
 +
</pre>
</td>
</td>
</tr>
</tr>

Revision as of 17:05, 6 January 2011

Please contribute to this page, especially when you find solutions.

When adding a new line, please include OS version, graphics chipset, and image date (such as Fedora 12, NVidia graphics, Netbook image 07-21-2010)

General SDK Errors

ErrorSolution
Downloading or unpacking an image gives errors.Ensure that the MD5SUM matches:
$ md5sum <image file>

The images are large so you might try a download program that handles connection interrupts, such as wget:

$ wget --continue <link to file>
Creating and testing a target with MADDE

If you connect the internet by a proxy,you should use:

# sudo mad-admin fetch [-x proxyhost[:port]] URL|URL_ALIAS

Examples:

# sudo mad-admin fetch -x http://proxy.host:8080 http://server/path/file.tgz

Note: see also MADDE command manual (for Linux: /usr/share/madde/docs/MadTools.html)

Or you can do it like this:

# zypper addrepo -f http://repo.meego.com/MeeGo/sdk/host/repos/meego/1.1/meego-sdk.repo"
# export http_proxy="http://username:passwd@<proxy_IP>:<proxy_port>"
# mad-admin create -f <target> 

[Ubuntu 10.04, NVIDIA, handset 2010/10/31] QMAKESPEC has not been set when running qmake.

$ mad -t meego-handset-ia32-1.1 qmake
-unix is deprecated.
QMAKESPEC has not been set, so configuration cannot be deduced.
Error processing project file:
/home/user_x/work/meego/qthello-handset/qthello-handset.pro

Set QMAKESPEC using a command such as the following (bash):

$ export QMAKESPEC=linux-g++
Compilation fails for MTF application

This is a known issue: see bug 8938
The solution is Compiling MTF applications here.

[Ubuntu 10.04, NVIDIA, handset 2010/10/31] Depending on the umask setting during installation, access to the SDK components may not be available to non-root users. This results in errors such as the following:

$ mad -t meego-handset-ia32-1.1 qmake
-unix is deprecated.
Could not find mkspecs for your QMAKESPEC(linux-g++) after trying:
	/usr/lib/madde/linux-i686/sysroots/meego-core-ia32-madde-sysroot-1.1-fs/usr/share/qt4/mkspecs
Error processing project file:
/home/user_x/work/meego/qthello-handset/qthello-handset.pro

Change the permissions on the SDK installation (/usr/lib/madde/linux-i686/ on Ubuntu) using commands such as the following:

find ./ -perm 700 -exec chmod 755 {} \;
find ./ -perm 600 -exec chmod 644 {} \;

QEMU SDK Errors

ErrorSolution
Launching QEMU displays a KVM error.

Ubuntu 9.04, Intel graphics

Could not access KVM kernel module: No such file or directory
failed to initialize KVM 
Your system must have VT support and have the KVM modules loaded. Check the QEMU enabling page for details.
Launching QEMU displays permissions error, e.g.
error while loading shared libraries: /usr/lib/libGL.so.1:
cannot restore segment prot after reloc: Permission denied
  
This error is known to occur when using libGL.so + QEMU 1.1.2x on FC13

This error is due to SELinux security policy settings. There are two possible solutions:

  1. Temporary (needs to be repeated on each reboot)
    sudo /usr/sbin/setenforce 0
  2. Permanent
    In the /etc/selinux/config file, set the value of the enforcing variable to disabled.
    You will also need to do sudo /usr/sbin/setenforce 0 to make this change immediately. SELinux should be disabled on the next boot.

After disabling the selinux enforcement policy the QEMU version from 1.1 SDK can then be launched via mad tools:

mad remote –r meego-handset-ia32-qemu-1.1.20101031.2201-sda-runtime poweron
Launching QEMU just shows a black window. No MeeGo UI appearsIt was seen that with some host kernel version, KVM (kernel virtual machine) does not work well with MeeGo kernel. The MeeGo kernel booting up just hangs at the very begining. Right now there are two bug trackers against that bug 9790 and bug 10075 Investigation just started and the bug 10075 will track the latest status of this bug
Launching QEMU just shows a decorator bar. X seems to start and ssh could work, but no UI was shown Usually that is because the UI program "duihome" crashed for some reason. One possible reason is that there is no sound card available in host system, which crashed "sysuid" in QEMU client OS, and as a result, duihome crashed. There was a bug 11367 reported against "sysuid" in MeeGo UX. Another bug 9351 could be a reference of this issue.

If the sound card works in you host system, and sometimes UI shows and sometimes not, one thing you could try is to ssh into the MeeGo, delete the file "/tmp/mstatusbar_pixmap_handle", or simply delete everything in "/tmp/", and then try again. The file contains a handler shared between processes, which seems to be the direct reason causing "duihome" to crash.
Performance of MeeGo OS in QEMU is slow. Animations and screen changes is slow (3-5 seconds for each action) In SDK 1.1 release, the GL acceleration in QEMU was disabled for handset target in last minute, due to the bug #10945: mcompositor not working with GL acceleration. Right now the bug has been fixed and GL acceleration will be enabled soon. With GL acceleration, performance could be much better.

Meanwhile, the netbook target in SDK 1.1 release does have GL acceleration, which is the same as the July release. If you are running netbook and it is still quite slow, please check that the host machine has enabled hardware graphic acceleration. Check the QEMU enabling page for details.
[Ubuntu 10.04, NVIDIA, handset 2010/10/31] Runtime is not listed as (installed) using mad-admin list runtimes after it has been installed with mad-admin create.
$ sudo mad-admin create -f -e meego-handset-ia32-qemu-1.1.20101031.2201-sda-runtime
Extracting QEMU runtime meego-handset-ia32-qemu-1.1.20101031.2201-sda-runtime
.....9....8....7....6....5....4....3....2....1....0
Creating missing links... done.
$ mad-admin list runtimes
qemu-n900-pr12                                         (installable)
rx48-diablo                                            (installable)
meego-handset-ia32-qemu-1.1.20101031.2201-sda-runtime  (installable)
meego-netbook-ia32-qemu-1.1.20101031.2037-sda-runtime  (installable)
Change the permission of the /usr/lib/madde/linux-i686/runtimes directory and it's sub-directories to r-x for all users and allow read permission for all users on the information file that is contained in the runtime sub-directory.
"error while loading shared libraries: libcurl-gnutls.so.4: cannot open shared object file: No such file or directory" when trying to run on Ubuntu 10.04, even though the said library is definitely present in /usr/libUnknown
[Ubuntu 10.04, NVIDIA, handset 2010/10/31] Starting MeeGo runtime in QEMU does nothing. No emulator is displayed and it is not possible to ssh into the image even after setting QEMU_NOGRAPHIC and restarting:
$ sudo mad remote -r meego-handset-ia32-qemu-1.1.20101031.2201-sda-runtime poweron
Starting QEMU runtime meego-handset-ia32-qemu-1.1.20101031.2201-sda-runtime
This may take some time ...
$ ssh meego@127.0.0.1 -p 6666
ssh: connect to host 127.0.0.1 port 6666: Connection refused
Most likely, it is because KVM is not enabled. Madde started QEMU with "-enable-kvm" option. If there is no KVM available, QEMU will just report error and exit. Unfortunately, the error message was not printed out. The improvement is definitely needed. I just submitted a feature request to track this issue FEA Madde/QT Creator should report error if QEMU was not started successfully.

Meanwhile, you could still solve the problem by enabling KVM following QEMU enabling page
Launching QEMU works, but ssh does not workThe most possible reason is that sshd daemon was not started successfully. This was seen by some people and the root cause is that key files for ssh in MeeGo image was destroyed, possibly because of abnormal exit of running image. It could be fixed deleting key files in /etc/ssh in the MeeGo image. If you are able to boot into the image, then open an terminal, and
sudo rm -rf /etc/ssh/*key*
sudo /etc/init.d/sshd start 

On Linux host system, you could mount into the image and do the change directly as well:

sudo mount -o loop,offset=512 xxx.raw /mnt/
sudo rm -rf /mnt/etc/ssh/*key*
sudo umount

Xephyr SDK Errors

ErrorSolution
OS: Ubuntu 10.10 Cannot connect applications from Xephyr to Xserver on the host machineMeego image loads up with root user. Add root in your xhost eg:"xhost +SI:localuser:root" list. Also verify that the value of DISPLAY variable is same in Xephyr and the host system, to do this run "$echo $DISPLAY"
Personal tools