jump to navigation

PySide 1.0.0~beta1 binaries released for Ubuntu December 7, 2010

Posted by lizardo in Debian/Ubuntu, Linux.
Tags: , , ,
add a comment

Didier ‘OdyX’ Raboud once again borrowed his great Debian packaging/integration skills to the PySide project, and created packages for the latest Ubuntu releases (including the development one, codenamed “natty”). They are available on the official repository. See the download instructions page for more details. See also the original announcement.

Qt 4.7.0 for Symbian on Linux (now with Qt Creator support!) October 11, 2010

Posted by lizardo in Linux.
Tags: , , ,
34 comments

It’s been some time since my last update on the Qt for Symbian Linux installer. My colleague Bruno Abinader did a great job in the meantime, by releasing his own modified “all-in-one” script that installed gnupoc, Qt, Qt Mobility and Smart Installer :D .

From now on, I’ll follow Bruno’s idea and provide a single script that installs everything you need for Qt for Symbian development on Linux. This version will install just gnupoc and Qt, but next ones should support Qt Mobility and Smart Installer as well. I also temporarily disabled support for S60 3.1 SDK, so for now there is only S60 5.0 SDK support.

Some of you might have noticed that the official Qt 4.7.0 documentation has some experimental installation instructions for Linux. Unfortunately, it requires compiling Qt from sources, which might take long time and currently requires the non-free ARM RVCT compiler. The instructions on this post are my attempt on creating a usable setup in a user-friendly way.

So, enough explanations, let’s go to the instructions!

Preparation

Download all required files to a single directory (e.g. “~/downloads”):

For building the native tools from gnupoc, you will need:

  • the GCC C/C++ compilers
  • development files for zlib
  • development files for openssl

On Ubuntu, you can install these using the following command:

sudo apt-get install build-essential zlib1g-dev libssl-dev

Installation

Install everything using a single command:

./qt_for_symbian_4.7.0_linux_installer_v4.sh \
    <download-dir> \
    <install-dir>

Replace <download-dir> with the location of all files downloaded in previous section (e.g. “~/downloads”), and <install-dir> with the destination directory (e.g. “~/gnupoc”). Note that both directories must have absolute paths.

If installation was successful, you should see the message “Installation has finished!” followed by some instructions. Follow those to setup Qt Creator and/or command line.

Device setup

Install Qt on the phone, by copying and installing the <install-dir>/qt_4.7.0/qt_installer.sis package. This single SIS file has all necessary dependencies for running Qt applications.

Additionally, if you plan to use Qt Creator, I suggest installing s60_5_0_app_trk_3_2_7.sisx. It will allow quickly testing your application directly on the device through bluetooth. Also make sure your desktop and phone are paired, then run these commands:

sdptool browse local | grep -q "Service Name: Serial Port" \
  || sdptool add SP
sudo rfcomm listen rfcomm0

The first command makes sure the Serial Port service is only added once, and the second one creates the /dev/rfcomm0 device. You should see output like:

Serial Port service registered
Waiting for connection on channel 1

On the phone, open App TRK (It should be under the “RnD Tools” directory). It will show “Status: Not connected”. Go to Options -> Settings, and make sure “Connection” is set to “Bluetooth”. Next, go to Options -> Connect and select your desktop from the Bluetooth devices shown. On the phone, you should see:

Status: Connected
BT Dev Name: <your_computer_name>
BT Port number: 1

While on your desktop console:

...
Connection from XX:XX:XX:XX:XX:XX to /dev/rfcomm0
Press CTRL-C for hangup

Now, when you click “Run” on Qt Creator, you should see something like this on its “Console Window”:

Executable file: /home/lizardo/gnupoc/sdk_5.0/epoc32/release/$(PLATFORM)/$(TARGET)/animatedtiles.exe
Package: 117288 2010-10-11T11:43:23 /home/lizardo/NokiaQtSDK/Examples/4.6/animation/animatedtiles/animatedtiles.sis
Deploying application to 'Bluetooth device (/dev/rfcomm0)'...
Copying installation file...
Installing application...
Starting application...
Application running with pid 1134.

And the application should install and open directly on your phone :) Enjoy!

Installing Qt for Symbian SDK 4.6.2 on Linux February 18, 2010

Posted by lizardo in Linux.
Tags: , , ,
48 comments

Qt 4.6.2 was released last Monday, so I took some time to update the GnuPoc and Qt installer scripts I previously released for 4.6.1.

Besides the upgrade to Qt 4.6.2, there are other minor changes:

  • Both installers now check MD5 signatures of the necessary files, to make sure they are not corrupted.
  • The GnuPoc installer now supports the 3.1 SDK (see updated instructions below).
  • Added “unset QMAKESPEC” command to setup instructions (at least Gentoo sets it globally, which affects qmake).

The instructions are basically the same as the previous ones, but I will post the full instructions here for completeness.

Preparation

Download all required files to a single directory (e.g. “~/downloads”):

For building the native tools from gnupoc, you will need:

  • the GCC C/C++ compilers
  • development files for zlib
  • development files for openssl

On Ubuntu, you can install these using the following command:

sudo apt-get install build-essential zlib1g-dev libssl-dev

Installation

First, install GnuPoc + S60 SDK + the Open C/C++ plugin:

./gnupoc_1.15_installer_v2.sh \
    <download-dir> \
    <gnupoc-dir>\
    <x.y>

Replace <download-dir> with the location of all files downloaded in previous section (e.g. “~/downloads”), <gnupoc-dir> with the destination directory for GnuPoc and the SDK files (e.g. “~/gnupoc”) and <x.y> with the SDK version you want to install (e.g. “3.1″ or “5.0″). Note that both directories must have absolute paths.

If installation was successful, you should see an output like:

Installation has finished. Before using the GnuPoc SDK, run these commands on the console:
 
export PATH=<gnupoc-dir>/bin:$PATH
export EPOCROOT=<gnupoc-dir>/symbian-sdks/5.0/ # trailing "/" is required!
 
(These commands must be run again every time a new console is opened.)

Run the commands as instructed on the message. Next, install Qt for Symbian:

./qt_for_symbian_4.6.2_linux_installer_v3.sh \
    <download-dir> \
    <qt-s60-dir>

Replace <download-dir> with the location of all files downloaded in previous section (e.g. “~/downloads”), and <qt-s60-dir> with the destination directory for the Qt files (e.g. “~/gnupoc/qt-4.6.2″). Note that both directories must have absolute paths.

If installation was successful, you should see an output like:
Installation has finished. Before using the Qt for Symbian SDK, run this command on the console:
 
export PATH=<qt-s60-dir>/bin:$PATH
unset QMAKESPEC    # make sure there is no QMAKESPEC variable set
 
(This command must be run again every time a new console is opened.)

Before using Qt for Symbian, you should run the command as instructed on the message above.

Usage example

To test the installation, I will describe how to build the “colliding mice” example.

  1. cd into the example source:
  2. cd <qt-s60-dir>/examples/graphicsview/collidingmice/

  3. Now build the example and generate the SIS file
  4. qmake
    make debug-gcce
    make sis

A few notes:

  • Make sure Qt is installed on the device before installing Qt applications. The easiest way to install it is to copy the “qt_installer.sis” package found under <qt-s60-dir> over bluetooth and open the received message to begin the installation.
  • Only the “debug-gcce” (if you are using the GCCE toolchain AKA “CodeSourcery toolchain”) or “debug-armv5″ (if you are using RVCT) will work, because the current Qt releases only ship debug versions of the libraries

Installing Qt for Symbian SDK 4.6.1 on Linux January 21, 2010

Posted by lizardo in Linux.
Tags: , , ,
45 comments

***For Qt 4.6.2 and S60 3.1 SDK support, be sure to read the updated post***

Update (2010-01-27): New version of Qt installer (v2).

Qt 4.6.1 was released last Tuesday, so I took some time to update my Linux support patches for Qt (which are now merged in qt-s60 tree and hopefully will be in main Qt tree at some point) and GnuPoc (which, thanks to Martin, are now integrated into the latest release).

I had a couple of previous posts detailing instructions on how to install the SDK on Linux, but after some time, it became too boring to run those commands manually, and some people asked for a script. So, from now on, I will provide two installers to make the process much more automated and simple: one installer for GnuPoc + Open C/C++ plugin, and another for the Qt for Symbian SDK.

Note that currently the GnuPoc installer handles only the S60 5.0 SDK. If someone is interested on a 3.1 SDK installer let me know so I can add support for it too.

Preparation

Download all required files to a single directory (e.g. “~/downloads”):

For building the native tools from gnupoc, you will need:

  • the GCC C/C++ compilers
  • development files for zlib
  • development files for openssl

On Ubuntu, you can install these using the following command:

sudo apt-get install build-essential zlib1g-dev libssl-dev

Installation

First, install GnuPoc + S60 5.0 SDK + the Open C/C++ plugin:

./gnupoc_1.15_S60_5.0_installer_v1.sh \
    <download-dir> \
    <gnupoc-dir>

Replace <download-dir> with the location of all files downloaded in previous section (e.g. “~/downloads”), and <gnupoc-dir> with the destination directory for GnuPoc and the SDK files (e.g. “~/gnupoc”). Note that both directories must have absolute paths.

If installation was successful, you should see an output like:

Installation has finished. Before using the GnuPoc SDK, run these commands on the console:
 
export PATH=<gnupoc-dir>/bin:$PATH
export EPOCROOT=<gnupoc-dir>/symbian-sdks/5.0/ # trailing "/" is required!
 
(These commands must be run again every time a new console is opened.)

Run the commands as instructed on the message. Next, install Qt for Symbian:

./qt_for_symbian_4.6.1_linux_installer_v2.sh \
    <download-dir> \
    <qt-s60-dir>

Replace <download-dir> with the location of all files downloaded in previous section (e.g. “~/downloads”), and <qt-s60-dir> with the destination directory for the Qt files (e.g. “~/gnupoc/qt-4.6.1″). Note that both directories must have absolute paths.

If installation was successful, you should see an output like:
Installation has finished. Before using the Qt for Symbian SDK, run this command on the console:
 
export PATH=<qt-s60-dir>/bin:$PATH
 
(This command must be run again every time a new console is opened.)

Before using Qt for Symbian, you should run the command as instructed on the message above.

Usage example

To test the installation, I will describe how to build the “colliding mice” example.

  1. cd into the example source:
  2. cd <qt-s60-dir>/examples/graphicsview/collidingmice/

  3. Open collidingmice.pro and replace these two lines:
  4.     TARGET.UID3 = 0xA000A643
        include($$QT_SOURCE_TREE/examples/symbianpkgrules.pri)

    with:
        TARGET.UID3 = 0xE000A643
    In other words: replace the UID3 “0xA000A643″ with “0xE000A643″ and remove (or comment out) the “include(…)” line. This will allow to sign the built SIS file using a self-signed certificate, otherwise you would need a R&D certificate.

  5. Now build the example and generate the SIS file
  6. qmake
    make debug-gcce
    make sis

A few notes:

  • Only the “debug-gcce” (if you are using the GCCE toolchain AKA “CodeSourcery toolchain”) or “debug-armv5″ (if you are using RVCT) will work, because the 4.6.1 release only ships debug versions of the libraries
  • Make sure you do similar changes as described above if you want to try compiling other Qt examples. Otherwise, you will receive errors like “Unable to install” while trying to install the SIS file on the phone.

Making icecream monitor (icemon) work on Jaunty May 21, 2009

Posted by lizardo in Debian/Ubuntu, Hints.
Tags:
add a comment

While I have been using Ubuntu 8.04 LTS (hardy) in my work laptop (for the very same reasons I used dapper for a long time), I knew that some Ubuntu 9.04 (jaunty) users were having problems with icemon (the icecream monitor) not working, i.e., not showing any nodes. I did not investigate the reasons behind this, but a colleague reported that he could successfully make it work by using the older version from intrepid.

So here goes a small how-to on installing the older icecc-monitor version (from intrepid) in jaunty:

  1. Download the icecc-monitor .deb package from http://packages.ubuntu.com/intrepid/i386/icecc-monitor/download
  2. Install the package with:
  3. $ sudo dpkg -i icecc-monitor_*.deb

  4. The step above will successfully install the package, but in a future whole-system upgrade, it will again install the newer (buggy) version. To avoid that, you can tell dpkg to lock the package version, using the following command:
  5. $ echo icecc-monitor hold | sudo dpkg --set-selections

    If necessary, you can unlock it anytime using the command:

    $ echo icecc-monitor install | sudo dpkg --set-selections

I did not check yet whether this has already been reported to the Launchpad, if anyone knows, feel free to comment.

Setting up libc6 sources for analysis on Debian/Ubuntu May 31, 2008

Posted by lizardo in Debian/Ubuntu, Linux.
add a comment

I used to work on development of a tracing tool at work, that required me reading some glibc code to understand internals of core library functions (following the “Use the source, Luke” Open Source principle for developer documentation). I use Ubuntu, so it seemed simpler to use its glibc sources so I don’t have to recompile glibc myself. Here are the instructions I use for setting up my environment for glibc code navigation (tested on Hardy running on x86):

# gcc 4.2 is required to configure libc6
$ sudo apt-get install build-essential gcc-4.2

# download sources
$ sudo apt-get source libc6
$ cd glibc-2.6.1/

# the "configure_i686" rule also calls other rules that
# unpack the sources and apply distro-specific patches
$ ./debian/rules configure_i686

# create a tags file to easily navigate between functions with Vim
$ cd build-tree/glibc-2.6.1/ && ctags -R --exclude=.pc

Wine, the Windows “emulator” March 24, 2008

Posted by lizardo in Linux, Windows.
add a comment

Just saw some good news about Wine approaching 1.0 stable release. It remembered me of how capable Wine is now. Some years ago, I would try running an application under Wine and hope it would at least show something and not crash. Nowadays, when I find some Windows application I need to use, I first try running it under Wine and if it does not work as I like, I fall back to QEMU or VMWare. Hopefully, for most applications I have tried, Wine worked just fine.

Latest Open Source contributions: ltrace, strace, apt-cacher January 28, 2008

Posted by lizardo in Debian/Ubuntu, Linux.
Tags: , , ,
2 comments

Hi all,

After a long period without posts, I’m back to activity :) Here goes my latest contributions to Open Source projects (mostly as part of my work at INdT):

strace ARM fix: link to post

ltrace fixes:

#450931
#176413
#462530
#462531
#462532
#462533
#462535

apt-cacher “multiple mirrors” bug: #462948

That’s it for now. Expect more patches to come!

Update (2008-03-08): all my ltrace patches were accepted into Debian and applied as of version 0.5-3.1. Of course, it still needs to be applied upstream, but hey, thats good news!

Running Intel(R) Processor Frequency ID Utility on Linux August 12, 2006

Posted by lizardo in Debian/Ubuntu, Linux.
add a comment

This article explains how to run Intel’s Processor Frequency ID “Bootable Version” on Linux. This utility is useful to check whether the Intel CPU you bought is running at the specified Processor/Bus speeds (i.e. it is not overclocked). This article will explain how to run the “Bootable Version” using GRUB and Syslinux’s memdisk image to boot a floppy image. It was tested on a Ubuntu 6.06 LTS PC with a Pentium III processor.

Download the utility from http://www.intel.com/support/processors/tools/frequencyid/ (bootable version)

Unpack the self-extracting .exe file:

unzip -Ld intel_freqid bfid_e25.exe

Create a blank floppy-sized image:

dd if=/dev/zero of=intel_freqid.img bs=1440K count=1

The following instructions need to be run as root.

We now need to associate the image with a loopback device so we could manipulate it. To do so, check the name of the first available loopback device:

losetup -f

This device will be referred in the rest of this article as $lo_dev. Now associate the image with a free loopack device:

losetup $lo_dev intel_freqid.img

Format image with FAT:

mkdosfs $lo_dev

Mount the image:

mount $lo_dev /mnt

Copy files to the image:

cp intel_freqid/_comtmp.fid /mnt/command.com
cp intel_freqid/_dostmp.fid /mnt/dos.sys
cp intel_freqid/_autotmp.fid /mnt/autoexec.bat
cp intel_freqid/bfreqid?.com /mnt/

Umount image:

umount /mnt

Write bootsector to image file:

dd if=intel_freqid/bootsect.img of=$lo_dev

Dettach loop device from image:

losetup -d $lo_dev

Copy image to /boot:

cp intel_freqid.img /boot/

Install syslinux (used for booting the floppy image):

apt-get install syslinux

Add the following lines to /boot/grub/menu.lst:

title           Intel(R) Frequency ID Utility
root            (hd0,0)
kernel          /usr/lib/syslinux/memdisk
initrd          /boot/intel_freqid.img
boot

Embedded Ubuntu at LinuxDevices February 23, 2006

Posted by lizardo in Debian/Ubuntu, Linux.
2 comments

A couple of months ago, I and two colleagues from 10LE have developed a EmbeddedUbuntu spec (AKA distribution feature specification) at Ubuntu Below Zero (UBZ) meeting, held in Montreal, Canada. In summary, the spec describes a framework to create customized Ubuntu "flavors" for mobile/embedded devices.

After some time without active development on the spec (all development is done during free time), I finally found some time to work on the project again. Coincidently, LinuxDevices has an article from yesterday about EmbeddedUbuntu, entitled "Ubuntu eyes gadgets".

Such article and recent interest demonstrated by the community has motivated me to speed up development, possibly targetting dapper + 1 as FeatureFreeze is active for dapper today.

Follow

Get every new post delivered to your Inbox.