Hi, this message is for Italian speaking readers. I put on Qt-Italia community website the tutorial "Qt 4.6.2 installing on FriendlyArm 2440". The URL is: http://qt-italia.org/tutorials/installazione-qt-462-su-target-arm-scheda... And also Qt Mobile forum connected to the community portal covers many aspects of Mini2440 Qt programming. the URL is: http://www.qt-italia.org/forum/viewforum.php?f=9 Anyone interested can join us Bye
Qt 4.6.2 Install Guide (Linux) in Italian
Hi Paolo, I don't understand italian but i was able to understand the steps needed to install Qt 4.6.2 on Friendly ARM. U gave the list of host OS u tried setup on...i wanted to ask whether it will work on Red hat enterprise edition 5.3??
Also the friendlyARM device which i have got has kernel 2.6.32.2. Will your article's listed settings work for my configuration??Plz help!!!
I installed using centOS 5 series so I think it will work on RHEL 5 series (CentOS is a derived distribution...). Concerning kernel I think (but at the moment I'm not sure) all the settings will be the same so it should work for you without problems. ...I'm thinking to put this procedure also in English on my personal Blog, perhaps it will be useful to someone else... bye paolo
That will be great....Thanks for the instant reply...will reply you soon, as soon as i finish Qt4.6.2 on my friendly ARM board...ur article will surely help a lot...thanks!!
Hi Paolo, i followed all the instructions from ur article...but i get this error on terminal- [root@localhost qt-everywhere-opensource-src-4.6.2]# . / Configure-embedded arm-xplatform QWS / linux-arm-g + +-prefix \ > /usr/local/Qt -qt-mouse-tslib -little-endian -no-webkit -no-qt3support \ / Usr / local / qt-qt-mouse-tslib-little-endian-no-webkit-no-qt3support \ > -no-cups -no-largefile -optimized-qmake -no-openssl -nomake tools -No-cups-no-largefile-optimized-qmake-no-openssl-tools Nomak bash: .: /: is a directory [root@localhost qt-everywhere-opensource-src-4.6.2]# cd /root [root@localhost ~]# cd .. [root@localhost /]# . / Configure-embedded arm-xplatform QWS / linux-arm-g + +-prefix \ > /usr/local/Qt -qt-mouse-tslib -little-endian -no-webkit -no-qt3support \ / Usr / local / qt-qt-mouse-tslib-little-endian-no-webkit-no-qt3support \ > -no-cups -no-largefile -optimized-qmake -no-openssl -nomake tools -No-cups-no-largefile-optimized-qmake-no-openssl-tools Nomak bash: .: /: is a directory [root@localhost /]# What to do??
I think the "/" is changed to "\" in between...after /linux-arm-g++ -prefix...is that causing any error??
It sounds strange. Did you type following command: ./configure -embedded arm -xplatform qws/linux-arm-g++ -prefix \ /usr/local/Qt -qt-mouse-tslib -little-endian -no-webkit -no-qt3support \ -no-cups -no-largefile -optimized-qmake -no-openssl -nomake tools as far as I can understand there is a problem with your command: . / Configure-embedded you have space between "." and "/" and between "/" and Configure. Thwen you have to use configure (all letters lowercase) and a space between configure and first option "-embedded" Let me know if this helps... paolo
I just copied the link and pasted on terminal....i even cleared the spaces and typed the command myself.....i just read one of the forum entries.... http://friendlyarm.net/forum/topic/906 In this the command is like this... ./configure-embedded arm -xplatform qws/linux-arm-g++ -prefix /usr/local/Qt -qt-mouse-tslib-little-endian -no-webkit -no-qt3support -no-cups -no-largefile -optimized-qmake-no-openssl -nomake tools.... the "\" after prefix,-no-qt3support...etc.. is window's style...is it causing the error?? i haven't yet tried it..but will let u know as soon as i try it...
the "\" is not used for directory. It is used in association with "carriage return". It allows linux shell to continue on a new line.
Hi Paolo, I corrected my command by removing wrong spaces....but i get this.. [root@localhost qt-everywhere-opensource-src-4.6.2]# ./configure -embedded arm -xplatform qws/linux-arm-g++ -prefix/usr/local/Qt -qt-mouse-tslib-little-endian -no-webkit -no-qt3support -no-cups-no-largefile -optimized-qmake-no-openssl -nomake tools Which edition of Qt do you want to use ? Type 'c' if you want to use the Commercial Edition. Type 'o' if you want to use the Open Source Edition. o -prefix/usr/local/Qt: invalid command-line switch -qt-mouse-tslib-little-endian: unknown argument -no-cups-no-largefile: invalid command-line switch -optimized-qmake-no-openssl: invalid command-line switch You have not explicitly asked to use pkg-config and are cross-compiling. pkg-config will not be used to automatically query cflag/lib parameters for dependencies Usage: configure [-h] [-prefix <dir>] [-prefix-install] [-bindir <dir>] [-libdir <dir>] [-docdir <dir>] [-headerdir <dir>] [-plugindir <dir> ] [-datadir <dir>] [-translationdir <dir>] [-sysconfdir <dir>] [-examplesdir <dir>] [-demosdir <dir>] [-buildkey <key>] [-release] [-debug] [-debug-and-release] [-developer-build] [-shared] [-static] [-no-fast] [-fast] [-no-largefile] [-largefile] [-no-exceptions] [-exceptions] [-no-accessibility] [-accessibility] [-no-stl] [-stl] [-no-sql-<driver>] [-sql-<driver>] [-plugin-sql-<driver>] [-system-sqlite] [-no-qt3support] [-qt3support] [-platform] [-D <string>] [-I <string>] [-L <string>] [-help] [-qt-zlib] [-system-zlib] [-no-gif] [-qt-gif] [-no-libtiff] [-qt-libtiff] [-system-libtiff] [-no-libpng] [-qt-libpng] [-system-libpng] [-no-libmng] [-qt-libmng] [-system-libmng] [-no-libjpeg] [-qt-libjpeg] [-system-libjpeg] [-make <part>] [-nomake <part>] [-R <string>] [-l <string>] [-no-rpath] [-rpath] [-continue] [-verbose] [-v] [-silent] [-no-nis] [-nis] [-no-cups] [-cups] [-no-iconv] [-iconv] [-no-pch] [-pch] [-no-dbus] [-dbus] [-dbus-linked] [-no-separate-debug-info] [-no-mmx] [-no-3dnow] [-no-sse] [-no-sse2] [-qtnamespace <namespace>] [-qtlibinfix <infix>] [-separate-debug-info] [-armfpa] [-no-optimized-qmake] [-optimized-qmake] [-no-xmlpatterns] [-xmlpatterns] [-no-multimedia] [-multimedia] [-no-phonon] [-phonon] [-no-phonon-backend] [-phonon-backend] [-no-audio-backend] [-audio-backend] [-no-openssl] [-openssl] [-openssl-linked] [-no-gtkstyle] [-gtkstyle] [-no-svg] [-svg] [-no-webkit] [-webkit] [-no-javascript-jit] [-javascript-jit] [-no-script] [-script] [-no-scripttools] [-scripttools] [-no-declarative] [-declarative] [additional platform specific options (see below)] Installation options: These are optional, but you may specify install directories. -prefix <dir> ...... This will install everything relative to <dir> (default /usr/local/Trolltech/QtEmbedded-4.6.2-arm) -hostprefix [dir] .. Tools and libraries needed when developing applications are installed in [dir]. If [dir] is not given, the current build directory will be used. * -prefix-install .... Force a sandboxed "local" installation of Qt. This will install into /usr/local/Trolltech/QtEmbedded-4.6.2-arm, if this option is disabled then some platforms will attempt a "system" install by placing default values to be placed in a system location other than PREFIX. You may use these to separate different parts of the install: -bindir <dir> ......... Executables will be installed to <dir> (default PREFIX/bin) -libdir <dir> ......... Libraries will be installed to <dir> (default PREFIX/lib) -docdir <dir> ......... Documentation will be installed to <dir> (default PREFIX/doc) -headerdir <dir> ...... Headers will be installed to <dir> (default PREFIX/include) -plugindir <dir> ...... Plugins will be installed to <dir> (default PREFIX/plugins) -datadir <dir> ........ Data used by Qt programs will be installed to <dir> (default PREFIX) -translationdir <dir> . Translations of Qt programs will be installed to <dir> (default PREFIX/translations) -sysconfdir <dir> ..... Settings used by Qt programs will be looked for in <dir> (default PREFIX/etc/settings) -examplesdir <dir> .... Examples will be installed to <dir> (default PREFIX/examples) -demosdir <dir> ....... Demos will be installed to <dir> (default PREFIX/demos) You may use these options to turn on strict plugin loading. -buildkey <key> .... Build the Qt library and plugins using the specified <key>. When the library loads plugins, it will only load those that have a matching key. Configure options: The defaults (*) are usually acceptable. A plus (+) denotes a default value that needs to be evaluated. If the evaluation succeeds, the feature is included. Here is a short explanation of each option: * -release ........... Compile and link Qt with debugging turned off. -debug ............. Compile and link Qt with debugging turned on. -debug-and-release . Compile and link two versions of Qt, with and without debugging turned on (Mac only). -developer-build.... Compile and link Qt with Qt developer options (including auto-tests exporting) -opensource......... Compile and link the Open-Source Edition of Qt. -commercial......... Compile and link the Commercial Edition of Qt. * -shared ............ Create and use shared Qt libraries. -static ............ Create and use static Qt libraries. * -no-fast ........... Configure Qt normally by generating Makefiles for all project files. -fast .............. Configure Qt quickly by generating Makefiles only for library and subdirectory targets. All other Makefiles are created as wrappers, which will in turn run qmake. -no-largefile ...... Disables large file support. + -largefile ......... Enables Qt to access files larger than 4 GB. * -no-exceptions ..... Disable exceptions on compilers that support it. -exceptions ........ Enable exceptions on compilers that support it. -no-accessibility .. Do not compile Accessibility support. * -accessibility ..... Compile Accessibility support. -no-stl ............ Do not compile STL support. * -stl ............... Compile STL support. -no-sql-<driver> ... Disable SQL <driver> entirely. -qt-sql-<driver> ... Enable a SQL <driver> in the QtSql library, by default none are turned on. -plugin-sql-<driver> Enable SQL <driver> as a plugin to be linked to at run time. Possible values for <driver>: [ db2 ibase mysql oci odbc psql sqlite sqlite2 sqlite_symbian tds ] -system-sqlite ..... Use sqlite from the operating system. -no-qt3support ..... Disables the Qt 3 support functionality. * -qt3support ........ Enables the Qt 3 support functionality. -no-xmlpatterns .... Do not build the QtXmlPatterns module. + -xmlpatterns ....... Build the QtXmlPatterns module. QtXmlPatterns is built if a decent C++ compiler is used and exceptions are enabled. -no-multimedia ..... Do not build the QtMultimedia module. + -multimedia ........ Build the QtMultimedia module. -no-audio-backend .. Do not build the platform audio backend into QtMultimedia. + -audio-backend ..... Build the platform audio backend into QtMultimedia if available. -no-phonon ......... Do not build the Phonon module. + -phonon ............ Build the Phonon module. Phonon is built if a decent C++ compiler is used. -no-phonon-backend.. Do not build the platform phonon plugin. + -phonon-backend..... Build the platform phonon plugin. -no-svg ............ Do not build the SVG module. + -svg ............... Build the SVG module. -no-webkit ......... Do not build the WebKit module. + -webkit ............ Build the WebKit module. WebKit is built if a decent C++ compiler is used. -no-javascript-jit . Do not build the JavaScriptCore JIT compiler. + -javascript-jit .... Build the JavaScriptCore JIT compiler. -no-script ......... Do not build the QtScript module. + -script ............ Build the QtScript module. -no-scripttools .... Do not build the QtScriptTools module. + -scripttools ....... Build the QtScriptTools module. + -no-declarative .....Do not build the declarative module. -declarative ....... Build the declarative module. -platform target ... The operating system and compiler you are building on (qws/linux-x86-g++). See the README file for a list of ...stripped-down
See the README file for a list of supported operating systems and compilers. -no-mmx ............ Do not compile with use of MMX instructions. -no-3dnow .......... Do not compile with use of 3DNOW instructions. -no-sse ............ Do not compile with use of SSE instructions. -no-sse2 ........... Do not compile with use of SSE2 instructions. -qtnamespace <name> Wraps all Qt library code in 'namespace <name> {...}'. -qtlibinfix <infix> Renames all libQt*.so to libQt*<infix>.so. -D <string> ........ Add an explicit define to the preprocessor. -I <string> ........ Add an explicit include path. -L <string> ........ Add an explicit library path. -help, -h .......... Display this information. Third Party Libraries: -qt-zlib ........... Use the zlib bundled with Qt. + -system-zlib ....... Use zlib from the operating system. See http://www.gzip.org/zlib -no-gif ............ Do not compile the plugin for GIF reading support. * -qt-gif ............ Compile the plugin for GIF reading support. See also src/plugins/imageformats/gif/qgifhandler.h -no-libtiff ........ Do not compile the plugin for TIFF support. -qt-libtiff ........ Use the libtiff bundled with Qt. + -system-libtiff .... Use libtiff from the operating system. See http://www.libtiff.org -no-libpng ......... Do not compile in PNG support. -qt-libpng ......... Use the libpng bundled with Qt. + -system-libpng ..... Use libpng from the operating system. See http://www.libpng.org/pub/png -no-libmng ......... Do not compile the plugin for MNG support. -qt-libmng ......... Use the libmng bundled with Qt. + -system-libmng ..... Use libmng from the operating system. See http://www.libmng.com -no-libjpeg ........ Do not compile the plugin for JPEG support. -qt-libjpeg ........ Use the libjpeg bundled with Qt. + -system-libjpeg .... Use libjpeg from the operating system. See http://www.ijg.org -no-openssl ........ Do not compile support for OpenSSL. + -openssl ........... Enable run-time OpenSSL support. -openssl-linked .... Enabled linked OpenSSL support. -ptmalloc .......... Override the system memory allocator with ptmalloc. (Experimental.) Additional options: -make <part> ....... Add part to the list of parts to be built at make time. (libs tools examples demos docs translations) -nomake <part> ..... Exclude part from the list of parts to be built. -R <string> ........ Add an explicit runtime library path to the Qt libraries. -l <string> ........ Add an explicit library. -no-rpath .......... Do not use the library install path as a runtime library path. + -rpath ............. Link Qt libraries and executables using the library install path as a runtime library path. Equivalent to -R install_libpath -continue .......... Continue as far as possible if an error occurs. -verbose, -v ....... Print verbose information about each step of the configure process. -silent ............ Reduce the build output so that warnings and errors can be seen more easily. * -no-optimized-qmake ... Do not build qmake optimized. -optimized-qmake ...... Build qmake optimized. -no-nis ............ Do not compile NIS support. * -nis ............... Compile NIS support. -no-cups ........... Do not compile CUPS support. * -cups .............. Compile CUPS support. Requires cups/cups.h and libcups.so.2. -no-iconv .......... Do not compile support for iconv(3). * -iconv ............. Compile support for iconv(3). * -no-pch ............ Do not use precompiled header support. -pch ............... Use precompiled header support. -no-dbus ........... Do not compile the QtDBus module. + -dbus .............. Compile the QtDBus module and dynamically load libdbus-1. -dbus-linked ....... Compile the QtDBus module and link to libdbus-1. -reduce-relocations ..... Reduce relocations in the libraries through extra linker optimizations (Qt/X11 and Qt for Embedded Linux only; experimental; needs GNU ld >= 2.18). * -no-separate-debug-info . Do not store debug information in a separate file. -separate-debug-info .... Strip debug information into a separate .debug file. Qt for Embedded Linux only: -xplatform target ... The target platform when cross-compiling. -no-feature-<feature> Do not compile in <feature>. -feature-<feature> .. Compile in <feature>. The available features are described in src/corelib/global/qfeatures.txt -embedded <arch> .... This will enable the embedded build, you must have a proper license for this switch to work. Example values for <arch>: arm mips x86 generic -armfpa ............. Target platform uses the ARM-FPA floating point format. -no-armfpa .......... Target platform does not use the ARM-FPA floating point format. The floating point format is usually autodetected by configure. Use this to override the detected value. -little-endian ...... Target platform is little endian (LSB first). -big-endian ......... Target platform is big endian (MSB first). -host-little-endian . Host platform is little endian (LSB first). -host-big-endian .... Host platform is big endian (MSB first). You only need to specify the endianness when cross-compiling, otherwise the host endianness will be used. -no-freetype ........ Do not compile in Freetype2 support. -qt-freetype ........ Use the libfreetype bundled with Qt. * -system-freetype .... Use libfreetype from the operating system. See http://www.freetype.org/ -qconfig local ...... Use src/corelib/global/qconfig-local.h rather than the default (full). -depths <list> ...... Comma-separated list of supported bit-per-pixel depths, from: 1, 4, 8, 12, 15, 16, 18, 24, 32 and 'all'. -qt-decoration-<style> ....Enable a decoration <style> in the QtGui library, by default all available decorations are on. Possible values for <style>: [ styled windows default ] -plugin-decoration-<style> Enable decoration <style> as a plugin to be linked to at run time. Possible values for <style>: [ default styled windows ] -no-decoration-<style> ....Disable decoration <style> entirely. Possible values for <style>: [ styled windows default ] -no-opengl .......... Do not support OpenGL. -opengl <api> ....... Enable OpenGL ES support With no parameter, this will attempt to auto-detect OpenGL ES 1.x or 2.x. Use es1, es1cl or es2 for <api> to override auto-detection. NOTE: A QGLScreen driver for the hardware is required to support OpenGL ES on Qt for Embedded Linux. -qt-gfx-<driver> ... Enable a graphics <driver> in the QtGui library. Possible values for <driver>: [ linuxfb transformed qvfb vnc multiscreen directfb qnx ] -plugin-gfx-<driver> Enable graphics <driver> as a plugin to be linked to at run time. Possible values for <driver>: [ ahi directfb linuxfb powervr qvfb transformed vnc ] -no-gfx-<driver> ... Disable graphics <driver> entirely. Possible values for <driver>: [ linuxfb transformed qvfb vnc multiscreen directfb qnx ] -qt-kbd-<driver> ... Enable a keyboard <driver> in the QtGui library. Possible values for <driver>: [ tty linuxinput qvfb qnx ] -plugin-kbd-<driver> Enable keyboard <driver> as a plugin to be linked to at runtime. Possible values for <driver>: [ linuxinput ] -no-kbd-<driver> ... Disable keyboard <driver> entirely. Possible values for <driver>: [ tty linuxinput qvfb qnx ] -qt-mouse-<driver> ... Enable a mouse <driver> in the QtGui library. Possible values for <driver>: [ pc linuxtp linuxinput tslib qvfb qnx ] -plugin-mouse-<driver> Enable mouse <driver> as a plugin to be linked to at runtime. Possible values for <driver>: [ linuxtp pc tslib ] -no-mouse-<driver> ... Disable mouse <driver> entirely. Possible values for <driver>: [ pc linuxtp linuxinput tslib qvfb qnx ] -iwmmxt ............ Compile using the iWMMXt instruction set (available on some XScale CPUs). -no-neon ........... Do not compile with use of NEON instructions. ...stripped-down
-no-neon ........... Do not compile with use of NEON instructions. -no-glib ........... Do not compile Glib support. + -glib .............. Compile Glib support. [root@localhost qt-everywhere-opensource-src-4.6.2]# make make: *** No targets specified and no makefile found. Stop. [root@localhost qt-everywhere-opensource-src-4.6.2]# Now what to do?? I am a newbie to linux and its commands...it will take some time for me to understand the procedure....so please don't mind if i ask some dumb questions....
I'm back again. Sorry for the delay, I was sick. Uhm... I see the errors you got. Some considerations before going on. Please don't work in your linux distro as a root, you can create another account and log in as normal user (this is only best practice...) Can you remind me which is your linux distribution? -qt-mouse-tslib-little-endian: unknown argument Yes, because the right switches are two: -qt-mouse-tslib -little-endian -no-cups-no-largefile: invalid command-line switch the same as before: -no-cups -no-largefile and finally: -optimized-qmake-no-openssl: invalid command-line switch the same: -optimized-qmake -no-openssl you can try in this way and I think it will work. Let me know... bye paolo
Hi Paolo, Now the command is correct and it starts creating qmake. But it gives this error The tslib functionality test failed! You might need to modify the include and library search paths by editing QMAKE_INCDIR and QMAKE_LIBDIR in /opt/FriendlyARM/mini2440/qt-everywhere-opensource-src-4.6.2/mkspecs/qws/linux- arm-g++. [root@localhost qt-everywhere-opensource-src-4.6.2]# [root@localhost qt-everywhere-opensource-src-4.6.2]# How to modify the search path?
Hi, why do you need to modify the search paths? I did not have this need. I'll have a look to understand it. Keep in touch paolo
Hi Paolo, I made following changes to the qmake.conf file. ------------------------------------------------------------------------- # # qmake configuration for building with arm-linux-g++ # include(../../common/g++.conf) include(../../common/linux.conf) include(../../common/qws.conf) # modifications to g++.conf QMAKE_CC = arm-none-linux-gnueabi-gcc QMAKE_CXX = arm-none-linux-gnueabi-g + + QMAKE_LINK = arm-none-linux-gnueabi-g + + QMAKE_LINK_SHLIB = arm-none-linux-gnueabi-g + + # modifications to linux.conf QMAKE_AR = arm-none-linux-gnueabi-ar CQS QMAKE_OBJCOPY = none-arm-linux-gnueabi-objcopy QMAKE_STRIP = arm-none-linux-gnueabi-ranlib QMAKE_INCDIR += /home/lt/ltib/rootfs/usr/include QMAKE_LIBDIR += /home/lt/ltib/rootfs/usr/lib QMAKE_LIBS += -lts -lz -lglib-2.0 -lgthread-2.0 -lgstreamer-0.10 -lxml2 -lgmodule-2.0 -lgobject-2.0 -lasound load(qt_config) ------------------------------------------------------------------------- The file is present at /opt/FriendlyARM/mini2440/qt-everywhere-opensource-src-4.6.2/mkspecs/qws/linux-a rm-g++ Still the tslib test fails and it gives me the same error as above.
Hi Yayati, I'm not sure to give you the good advice because I encountered this problem and tested many solutions. On my side I put the full path to arm-none-gnueabi tools, and I also remember having used -L and -I options at the ./configure step, pointing directly to the compiled Tslib library. I hope this helps