I followed the Qt demo and lab from found linked from the Developer's Guide, and I had no issues getting the "hello world" project compiled and running on my AM335x EVM target.
The next thing I wanted to do was build Qt4.7.1 from source instead of using the precompiled libraries and shared objects that came in the TI SDK.
I have been following the instructions I found here: http://processors.wiki.ti.com/index.php/Building_Qt
I started with downloading Qt 4.7 from the qt-project then I created a new mkspec based on the arm-linux-g++ one:
[qt-install-dir]/mkspecs/qws/linux-am335x-g++/
Next I updated the qmake.conf file to point towards the toolchain that was downloaded with the TI SDK, those would be:
[ti-sdk-install-root-dir]/linux-devkit/bin
so my qmake.conf file looked like:
#
# 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-arago-linux-gnueabi-gcc
QMAKE_CXX = arm-arago-linux-gnueabi-g++
QMAKE_LINK = arm-arago-linux-gnueabi-g++
QMAKE_LINK_SHLIB = arm-arago-linux-gnueabi-g++
# modifications to linux.conf
QMAKE_AR = arm-arago-linux-gnueabi-ar
QMAKE_OBJCOPY = arm-arago-linux-gnueabi-objcopy
QMAKE_STRIP = arm-arago-linux-gnueabi-strip
load(qt_config)
Finally I verified my path had the tool chain in it:
mike@mike-VirtualBox:~/qt4.7.1_source/qt-everywhere-opensource-src-4.7.1$ echo $PATH
/home/mike/ti-sdk-am335x-evm-05.04.01.00/linux-devkit/bin:/usr/local/Trolltech/Qt-4.8.5/bin:/home/mike/bin:/usr/lib/lightdm/lightdm:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/home/mike/bin:/home/mike/ccf/oe-core/scripts:/home/mike/ccf/oe-core/bitbake/bin
At this point I ran the configure script with the following options:
./configure -prefix /home/mike/qt4.7.1_source/my_qt -embedded arm -platform qws/linux-x86_64-g++-xplatform qws/linux-am335x-g++ -depths 16,24,32 -no-mmx -no-3dnow -no-sse -no-sse2 -no-glib -no-cups -no-largefile -no-accessibility -no-openssl -no-gtkstyle -qt-mouse-pc -qt-mouse-linuxtp -qt-mouse-linuxinput -plugin-mouse-linuxtp -plugin-mouse-pc -fast -opensource
This is basically the default from the Build_Qt page I linked to, but the changes I made I highlighted above. The confugre step seemed to run OK with no issues, then I ran "make" next.
At this point my build failed, but the reason isn't totally clear to me. Here's the tail part of the build log:
arm-arago-linux-gnueabi-ar: illegal option -- j
Usage: arm-arago-linux-gnueabi-ar [emulation options] [-]{dmpqrstx}[abcfilNoPsSuvV] [member-name] [count] archive-file file...
arm-arago-linux-gnueabi-ar -M [<mri-script]
commands:
d - delete file(s) from the archive
m[ab] - move file(s) in the archive
p - print file(s) found in the archive
q[f] - quick append file(s) to the archive
r[ab][f][u] - replace existing or insert new file(s) into the archive
t - display contents of archive
x[o] - extract file(s) from the archive
command specific modifiers:
[a] - put file(s) after [member-name]
[b] - put file(s) before [member-name] (same as [i])
[D] - use zero for timestamps and uids/gids
[N] - use instance [count] of name
[f] - truncate inserted file names
[P] - use full path names when matching
[o] - preserve original dates
[u] - only replace files that are newer than current archive contents
generic modifiers:
[c] - do not warn if the library had to be created
[s] - create an archive index (cf. ranlib)
[S] - do not build a symbol table
[T] - make a thin archive
[v] - be verbose
[V] - display the version number
@<file> - read options from <file>
emulation options:
No emulation specific options
arm-arago-linux-gnueabi-ar: supported targets: elf32-littlearm elf32-bigarm elf32-little elf32-big srec symbolsrec verilog tekhex binary ihex
make[1]: *** [release/libjscore.a] Error 1
make[1]: Leaving directory `/home/mike/qt4.7.1_source/qt-everywhere-opensource-src-4.7.1/src/3rdparty/webkit/JavaScriptCore'
make: *** [sub-javascriptcore-make_default-ordered] Error 2
I do not understand why I'm getting this error. It sounds like my qmake.conf might be configured incorrectly, but I'm not sure what I'm missing. Any input?