Yesterday I tried to install Qt 4.7 via the Linux/X11 64-bit
"Online Installer" on Ubuntu 10.04. At first the
installation failed since I ran out of space on the
partition that has /usr/local/
. I had selected
the custom installation and added Qt Designer, its documentation,
and the Qt Examples.
I got some unclear error in the installer because running
harmattan-runtime-postinstall.sh
failed somehow.
Running manually this script using sudo resulted in the following
output in the terminal window, slightly reformatted for clarity:
Creating default target rx71-harmattan-1134 ...
This may take a while ...
Extracting QEMU runtime rx71-harmattan-1134
.....9....8....7....6....5...write error: No space left on device
'xtar -C /usr/local/QtSDK/Madde/runtimes/rx71-harmattan-1134.wip -l
/usr/local/QtSDK/Madde/runtimes/rx71-harmattan-1134.wip/linkslist
/usr/local/QtSDK/Madde/cache/DFL61_10.2011.34-1.S.tar.gz'
returned nonzero
To overcome the space issue I created the directory
/home/QtSDK
and added a symbolic link, as
root, to this directory from /usr/local/QtSDK
.
I ran the installer again, and removed MeeGo, Symbian, and
Harmattan related components in the component selection
step since I am not going to do any Qt mobile development
in the near future. Since I had plenty of space on the
partition holding the home
directory the
installation didn't cause any problem. Moreover, since I
had excluded Harmattan, the downloading and installation
process itself was also much faster.
Today I verified the total size of the directory and it
turned out that this custom installation would fit without
any problems in the 3GB free space I had left on my
/usr/local
parition. So I deleted the
installation directory and the .config/Nokia
directory in my home directory and installed Qt 4.7.4 as outlined
below.
Yesterday, I downloaded the Linux/X11 "Online Installer" from Nokia's Download Qt, the cross-platform application framework web page. Since I use the 64-bit version of Ubuntu Lucid Lynx I selected the 64-bit version of the installer as well. The MD5 digest of the downloaded file on my computer is as follows:
27e69d14f1f4505c7ec9591632df7628 Qt_SDK_Lin64_online_v1_1_3_en.run
In a terminal I used cd
to visit the directory into
which the Qt SDK online installer was downloaded, made the file
executable and started the installation process as follows:
chmod 700 Qt_SDK_Lin64_online_v1_1_3_en.run
sudo ./Qt_SDK_Lin64_online_v1_1_3_en.run
A window was opened showing the message "Welcome to the Qt SDK Setup Wizard." and another message stating "Retrieving component information from remote repository...". The retrieving process took a few seconds and when done I clicked on the Next button.
The second step in the installation wizard allowed me to
specify the installation folder. I entered
/usr/local/QtSDK
. I also selected the "Custom"
installation option in this step. Then I clicked the Next
button to move on to step 3.
Since I selected custom installation in the previous step I was now able to select the components of the Qt SDK I wanted to be installed on my computer. I made the following changes to the default:
When I had made my custom selection I clicked the Next button. In the next step I agreed with the license, clicked the Next button, and finally arrived at the "Ready to Install" step. With one click on the Install button I started the Qt SDK custom installation.
After about 15 minutes the installation wizard showed the final step; installation was done. I unticked both the "Launch Qt Creator" and "Open Qt SDK ReadMe" and clicked the Finish button.
The size of /usr/local/QtSDK
as reported by
du
after installation:
du -hs /usr/local/QtSDK/
542M /usr/local/QtSDK/
In order to be able to use the various Qt tools from a
terminal I had to update the PATH environment variable
which I did by adding entries to
/etc/environment
using sudo vi /etc/environment
. After
the changes the file looked as follows:
JAVA_HOME="/usr/local/java/latest"
JRE_HOME="/usr/local/java/latest/jre"
PATH="/usr/local/java/latest/bin:\
/usr/local/fop/latest:\
/usr/local/QtSDK/Desktop/Qt/474/gcc/bin:\
/usr/local/QtSDK/QtCreator/bin:\
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games"
Note the two QtSDK paths I added and also note that a backslash means that the line continues on the next line, making it easy to extend the PATH by just adding a new line ending with a backslash.
Be very careful when modifying the environment file. A small mistake might result in no longer being able to login after a reboot. If that happens, you can boot from a live CD and fix the issue in the environment file.
After I had made the required changes I rebooted the computer. When I logged back in I noticed that the 3 entries the Qt SDK installer had added to the Programming entry of the Applications menu had disappeared.
In order to test the fresh Qt SDK installation I copied the
"Hello Qt" example from page 3 of C++
GUI Programming with Qt 4 - Second Edition, given
below, into Emacs and saved the file as
hello.cpp
.
#include <QApplication>
#include <QLabel>
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
QLabel *label = new QLabel("Hello Qt!");
label->show();
return app.exec();
}
Then I ran qmake -project
to create the
default project file, followed by qmake
hello.pro
to create the Makefile
,
followed by just make
to build the
program. When I ran the result by entering
./hello
a small window showed up with the text
"Hello Qt!"; success.
While the Qt SDK installer allows for customization of the installation I think it would be nice if the component selection step had some options like "minimal", "no mobile development", etc.
It is unclear to me why the Qt Creator (IDE) can't be unselected during custom component selection.
It's unclear why entries added to the Programming submenu in the Applications menu disappear after reboot. Moreover, although I did select Qt Designer it didn't show up in the Programming submenu to begin with.