These instructions are for the no-frills sofware that comes with the mini2440. Nothing fancy, just the default Qtopia 2.2.0 on 2.6.29.
Host Linux (Ubuntu 9.10 - 32bit)
I can't stand Red Hat so I couldn't bring myself to use the arm9.net RH9 iso for the host pc. Instead, I shot myself in the foot by using a 64bit version of Ubuntu 9.10. This was more trouble than it's worth and ultimately I couldn't resolve all the 64/32bit library issues, so I installed a vmware image of 32bit Ubuntu 9.10.
Dependencies
With a brand new 9.10 install, run the updater and then get these additional packages.
sudo apt-get install g++ libx11-dev libxmu-dev libxext-dev zlib1g-dev libjpeg62-dev libssl-dev uuid-dev
The arm-linux-gcc-4.3.2 toolchain
The following is based on the instructions found in this very handy manual PDF (English) with some minor changes for Ubuntu.
We'll need these archives from the DVD or website
arm-linux-gcc-4.3.2.tgz examples.tgz
Extract the contents
chmod +x *.tgz
sudo tar xfzv arm-linux-gcc-4.3.2.tgz -C /
Add the bins to your path
sudo gedit /etc/bash.bashrc (and add this line: PATH=$PATH:/usr/local/arm/4.3.2/bin )
reload your profile and see if they are found
arm-linux-gcc -v
If all went well, you should see this:
Using built-in specs.
Target: arm-none-linux-gnueabi
Configured with: ....[config details]
Thread model: posix
gcc version 4.3.2 (Sourcery G++ Lite 2008q3-72)
Install the examples
Note: the "opt/FriendlyARM/mini2440" path name is hard-coded into the build scripts so unless you want to adjust them, you should use this convention (case sensitive)
sudo mkdir /opt/FriendlyARM
sudo mkdir /opt/FriendlyARM/mini2440
sudo tar xfz examples.tgz -C /opt/FriendlyARM/mini2440/
sudo chown -R [yourgroup]:[youruser] /opt/FriendlyARM
sudo chown -R [yourgroup]:[youruser] /opt/FriendlyARM
now verify the tooling by compiling one of the examples:
cd /opt/FriendlyARM/mini2440/examples/hello/
make
You should see:
arm-linux-gcc -o hello hello.c
and the binary appears as well:
ubuntu:/opt/FriendlyARM/mini2440/examples/hello$ ls -l
-rwxr-xr-x 1 user:user 5061 2010-02-01 01:30 hello
-rw-r--r-- 1 user:user 73 2006-08-25 13:48 hello.c
-rw-r--r-- 1 user:user 98 2004-10-09 14:23 Makefile
check the executable:
file hello
hello: ELF 32-bit LSB executable, ARM, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.14, not stripped
Follow the instructions in the PDF above for moving the file to the 2440 and running it.
These examples demonstrate some of the hardware bits that are available on the 2440. They dont use qt though, so if you want to build an app with a gui, then you'll need to read on...
Installing x86-qtopia
x86-qtopia provides tools and support for developing qt applications and running them on the host pc in a simulated embedded environment. Here's how to set it up.
Extract the archive to: /opt/FriendlyARM/mini2440/
sudo tar xfvz x86-qtopia.tar.gz -C /opt/FriendlyARM/mini2440
Extract the individual archives:
cd /opt/FriendlyARM/mini2440/x86-qtopia/
sudo chmod +x *.gz
sudo tar xfz qtopia-2.2.0.tar.gz
sudo tar xfz konq.tar.gz
mkdir qtopia-2.2.0-FriendlyARM/qtopia/image
sudo tar xfvz fonts.tar.gz -C qtopia-2.2.0-FriendlyARM/qtopia/image
sudo chmod +x *.gz
sudo tar xfz qtopia-2.2.0.tar.gz
sudo tar xfz konq.tar.gz
mkdir qtopia-2.2.0-FriendlyARM/qtopia/image
sudo tar xfvz fonts.tar.gz -C qtopia-2.2.0-FriendlyARM/qtopia/image
Some of the source code needs to be adjusted slightly in order to compile. Big thanks for the help here and here (skip2816)
Edit the four files below as noted:
sudo gedit /opt/FriendlyARM/mini2440/x86-qtopia/qtopia-2.2.0-FriendlyARM/qtopia/src/libraries/qtopia/qmemoryfile_unix.cpp
line 141: --- f = ::open(tmpFile.latin1(), O_CREAT | O_WRONLY);
line 141: +++ f = ::open(tmpFile.latin1(), O_CREAT | O_WRONLY, (S_IRUSR|S_IWUSR));
sudo gedit /opt/FriendlyARM/mini2440/x86-qtopia/qtopia-2.2.0-FriendlyARM/qt2/src/tools/qmemoryfile_unix.cpp
line 143: --- f = ::open(tmpFile.latin1(), O_CREAT | O_WRONLY);
line 143: --- f = ::open(tmpFile.latin1(), O_CREAT | O_WRONLY, (S_IRUSR|S_IWUSR));
sudo gedit /opt/FriendlyARM/mini2440/x86-qtopia/qtopia-2.2.0-FriendlyARM/qtopia/src/libraries/qtopia/backend/vobject.cpp
line 419: --- char *dot = strrchr(g,'.');
line 419: +++ char *dot = (char *) strrchr(g,'.');
sudo gedit /opt/FriendlyARM/mini2440/x86-qtopia/qtopia-2.2.0-FriendlyARM/qtopia/src/plugins/codecs/wavplugin/wavplugin.cpp
line 435: char *ext = strrchr( path.latin1(), '.' );
line 435: char *ext = (char *) strrchr( path.latin1(), '.' );
line 141: --- f = ::open(tmpFile.latin1(), O_CREAT | O_WRONLY);
line 141: +++ f = ::open(tmpFile.latin1(), O_CREAT | O_WRONLY, (S_IRUSR|S_IWUSR));
sudo gedit /opt/FriendlyARM/mini2440/x86-qtopia/qtopia-2.2.0-FriendlyARM/qt2/src/tools/qmemoryfile_unix.cpp
line 143: --- f = ::open(tmpFile.latin1(), O_CREAT | O_WRONLY);
line 143: --- f = ::open(tmpFile.latin1(), O_CREAT | O_WRONLY, (S_IRUSR|S_IWUSR));
sudo gedit /opt/FriendlyARM/mini2440/x86-qtopia/qtopia-2.2.0-FriendlyARM/qtopia/src/libraries/qtopia/backend/vobject.cpp
line 419: --- char *dot = strrchr(g,'.');
line 419: +++ char *dot = (char *) strrchr(g,'.');
sudo gedit /opt/FriendlyARM/mini2440/x86-qtopia/qtopia-2.2.0-FriendlyARM/qtopia/src/plugins/codecs/wavplugin/wavplugin.cpp
line 435: char *ext = strrchr( path.latin1(), '.' );
line 435: char *ext = (char *) strrchr( path.latin1(), '.' );
Grab ownership or else the install will fail...
sudo chown -R [youruser]:[yourgroup] /opt/FriendlyARM/
I edited the build scripts to remove the initial archive removal and extractions. This will prevent the source code changes above from being deleted and overwritten (which the scripts will do). Alternatively, you can simply run the configure statement by hand, then run make, make install, etc..
UPDATE: I've posted the build scripts I've used here.
Finally you can run the build...
./build-all
That should do it.
Installing arm-qtopia
Extract the archive to /opt/FriendlyARM/mini2440/
sudo tar xfz arm-qtopia.tgz -C /opt/FriendlyARM/mini2440/
Edit the build scripts to remove the tar and rm entries
sudo gedit build build-konq
Manually extract the archives:
cd /opt/FriendlyARM/mini2440/
sudo chmod +x *.gz
sudo tar xfz qtopia-2.2.0.tar.gz
sudo tar xfz konq.tar.gz
sudo tar xfz fonts.tar.gz
sudo chmod +x *.gz
sudo tar xfz qtopia-2.2.0.tar.gz
sudo tar xfz konq.tar.gz
sudo tar xfz fonts.tar.gz
Edit the following source files as indicated.
sudo gedit /opt/FriendlyARM/mini2440/arm-qtopia/qtopia-2.2.0-FriendlyARM/qtopia/src/libraries/qtopia/qmemoryfile_unix.cpp line 141: --- f = ::open(tmpFile.latin1(), O_CREAT | O_WRONLY);
line 141: +++ f = ::open(tmpFile.latin1(), O_CREAT | O_WRONLY, (S_IRUSR|S_IWUSR));
sudo gedit /opt/FriendlyARM/mini2440/arm-qtopia/qtopia-2.2.0-FriendlyARM/qt2/src/tools/qmemoryfile_unix.cpp
line 143: --- f = ::open(tmpFile.latin1(), O_CREAT | O_WRONLY);
line 143: --- f = ::open(tmpFile.latin1(), O_CREAT | O_WRONLY, (S_IRUSR|S_IWUSR));
sudo gedit /opt/FriendlyARM/mini2440/arm-qtopia/qtopia-2.2.0-FriendlyARM/qtopia/src/libraries/qtopia/backend/vobject.cpp
line 419: ---char *dot = strrchr(g,'.');
line 419: +++char *dot = (char *) strrchr(g,'.');
sudo gedit /opt/FriendlyARM/mini2440/arm-qtopia/qtopia-2.2.0-FriendlyARM/qtopia/src/plugins/codecs/wavplugin/wavplugin.cpp
line 435: ---char *ext = strrchr( path.latin1(), '.' );
line 435: +++char *ext = (char *) strrchr( path.latin1(), '.' );
line 141: +++ f = ::open(tmpFile.latin1(), O_CREAT | O_WRONLY, (S_IRUSR|S_IWUSR));
sudo gedit /opt/FriendlyARM/mini2440/arm-qtopia/qtopia-2.2.0-FriendlyARM/qt2/src/tools/qmemoryfile_unix.cpp
line 143: --- f = ::open(tmpFile.latin1(), O_CREAT | O_WRONLY);
line 143: --- f = ::open(tmpFile.latin1(), O_CREAT | O_WRONLY, (S_IRUSR|S_IWUSR));
sudo gedit /opt/FriendlyARM/mini2440/arm-qtopia/qtopia-2.2.0-FriendlyARM/qtopia/src/libraries/qtopia/backend/vobject.cpp
line 419: ---char *dot = strrchr(g,'.');
line 419: +++char *dot = (char *) strrchr(g,'.');
sudo gedit /opt/FriendlyARM/mini2440/arm-qtopia/qtopia-2.2.0-FriendlyARM/qtopia/src/plugins/codecs/wavplugin/wavplugin.cpp
line 435: ---char *ext = strrchr( path.latin1(), '.' );
line 435: +++char *ext = (char *) strrchr( path.latin1(), '.' );
Grab ownership or else the install will fail...
sudo chown -R [youruser]:[yourgroup] /opt/FriendlyARM/
UPDATE: I've posted the build scripts I've used here.
run the build...
./build-all
Building an example (host)
Once the tools are in place, you can run a qt example and run it on the host.
Build the example:
cd /opt/FriendlyARM/mini2440/x86-qtopia/hello
./build
Change the last line of the run-hello script to find the hello executable:
sudo gedit run-hello
line 17: --- hello -qwsline 17: +++ /opt/FriendlyARM/mini2440/x86-qtopia/qtopia-2.2.0-FriendlyARM/qtopia/bin/hello -qws
./run-hello
At this point you should see the emulator display the hello example:
Building an example (arm)
Building the example for the embedded device is similar:
cd /opt/FriendlyARM/mini2440/arm-qtopia/hello
./build
./build
Now move the binary to this folder so we can transfer it to the device (optional)
cp ../qtopia-2.2.0-FriendlyARM/qtopia/bin/hello .
To run this app on the 2440, first we have to move it there...
Moving the example app to the mini2440 (via ftp)
Since I'm running a linux vm under windows, I had to manually assign an ip address to my local area connection ( 192.168.1.120 ) via network connections. Then I can ftp from the linux vm (which I set up to use NAT) to the 2440 via the crossover cable.
dev@ubuntu:/opt/friendlyARM/mini2440/arm-qtopia/hello$ ftp 192.168.1.230
Connected to 192.168.1.230.220 FriendlyARM FTP server (Version 6.4/OpenBSD/Linux-ftpd-0.17) ready.
Name (192.168.1.230:dev): root
331 Password required for root.Password:
230 User root logged in.Remote system type is UNIX.
Using binary mode to transfer files.
ftp> cd /tmp
250 CWD command successful.ftp> put hello
local: hello remote: hello200 PORT command successful.
150 Opening BINARY mode data connection for 'hello'.
226 Transfer complete.
39082 bytes sent in 0.01 secs (7352.3 kB/s)
ftp> put hello.desktop
local: hello.desktop remote: hello.desktop200 PORT command successful.
150 Opening BINARY mode data connection for 'hello.desktop'.
226 Transfer complete.
97 bytes sent in 0.06 secs (1.7 kB/s)
ftp> quit
Running the app on the mini2440
In terminal on the 2440:
chmod +x hello
mv hello /opt/Qtopia/bin
mv hello.desktop /opt/Qtopia/apps/Applications
Reboot the MINI2440
Hello2440 should now appear in the Applications menu, where you can run it.
Where to go from here...
Along with the tooling you also installed the Qtopia documentation. To find the api docs, tutorials and lots of other information, point your browser here:
Qtopia docs:
file:///opt/FriendlyARM/mini2440/x86-qtopia/qtopia-2.2.0-FriendlyARM/qtopia/doc/html/index.html
Qte docs:
file:///opt/FriendlyARM/mini2440/x86-qtopia/qtopia-2.2.0-FriendlyARM/qt2/doc/html/index.html
Good luck
Hope this guide is helpful and good luck with your own projects.
i have problem with
ReplyDelete" Add the bins to your path sudo gedit /etc/bash.bashrc (and add this line: PATH=$PATH:/usr/local/arm/4.3.2/bin )"
where exactly to put PATH
thx in advance
I always get this errors :
Deleteany solutions ?
checking for Qtopia... ./configure: line 24305: test: : integer expression expected
configure: error: Cannot link small Qtopia Application. For more details look at
the end of config.log
make: *** No targets specified and no makefile found. Stop.
strip: 'konq-embed/src/konqueror': No such file
cp: cannot stat `konq/konq-embed/src/konqueror': No such file or directory
mkdir: cannot create directory `qtopia-2.2.0-FriendlyARM/qtopia/image/opt/Qtopia/pics/konqueror': No such file or directory
cp: cannot create regular file `qtopia-2.2.0-FriendlyARM/qtopia/image/opt/Qtopia/pics/konqueror': No such file or directory
cp: cannot create regular file `qtopia-2.2.0-FriendlyARM/qtopia/image/opt/Qtopia/apps/Applications': No such
I added it to the very end of the file.
ReplyDeleteAlternatively, you can add it to the /etc/environment file editing the PATH entry to:
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/arm/4.3.2/bin"
HTH
Thank you so much, this was really helpful :)
ReplyDeleteYou did a great work, thank you.
ReplyDeleteCongratulations for your help.
ReplyDeletegoogle answer a lot but I don't know how to build-all, can you help?
root@VirtualBoxUbuntu:/opt/FriendlyARM# build-all
build-all: command not found
thank you
ximo
good work , better that official docs.
ReplyDeleteI can compile leds in ubuntu 9.10 (I dislike RH too) but have troubles with I2c examples with a ton of errors.
Is it because the libs that gcc tries to use and that are x86 instead of the one for mini2440 ?
Thanks for these instructions, very useful !
ReplyDeleteNow, I'm trying to compile the examples included with QT Creator to make them work on the mini2440, but it don't work...
Anyone know if is possible to compile a project created with Qt Creator to make it work on qtopia, on the mini2440 ??
Thanks in advance !
to ximo
ReplyDeletetry to use ./build-all instead of build-all
regards
M.Hamed
hi
ReplyDeletefor installing x86-qtopia i hav a small problem at end, u said given line17 --hello -qws insted of the path what u given path i specified but again some error,but one more thing qtopia/bin there is no -qws such file,what shell do ,plz help me and one more thing how to create yaffs root filesystem for my own application plz suggest me
hi gopinath,
ReplyDeleteI'm not sure I understand the question.
Stephane,
I believe you can use creator (the old version is installed along with x86qtopia) to generate the ui portion of the app. I didnt get anywhere with that though so I'm just use build scripts for the moment.
Hey Man, thanks for all this stuff. :-)
ReplyDeleteRegards from Brazil
thanks so much for your help. But i don't understand this:
ReplyDeleteEdit the four files below as noted:
sudo gedit /opt/FriendlyARM/mini2440/x86-qtopia/qtopia-2.2.0-FriendlyARM/qtopia/src/libraries/qtopia/qmemoryfile_unix.cpp
line 141: --- f = ::open(tmpFile.latin1(), O_CREAT | O_WRONLY);
line 141: +++ f = ::open(tmpFile.latin1(), O_CREAT | O_WRONLY, (S_IRUSR|S_IWUSR));
i have to relpace the first line with the second?
what "---" and "+++" mean?
Thanks in advance!
Hi Anon,
ReplyDeleteFor those files, remove the --- lines and replace them with the +++ lines. I also bolded the changes, so it's easier to see what changes need to be made.
HTH.
Very great article please continue in this way, goob job on mini2440 are rare.
ReplyDeleteThank you Impossible! you saved my day! very very helpful Tutorial!
ReplyDeletecould you manage a tutorial that shows working with GPIO using C Programming?
Hi impossible
ReplyDeleteThanks a lot!!! Your article is very good.
i don't know where to continue. I read Qtopia and Qt doc, tried to write the "hello" example by myself. But i didn't success. i'm looking for a programming environment such as VC++ on windowns.
Please help me write the "hello" example!
bye
nhat
hi thanks for the guide, i have already install the compiller The arm-linux-gcc-4.3.2, but now i want to install a webserver in my mini2440, ive been searching for information and i found that i have to doit but with cross compiling any idea how can i do it?
ReplyDeleteim using ubuntu 9.10
thanks
Hi, I dont know how can I thank you,
ReplyDeleteThis is great !!!
help me pleaseeei use Ubuntu9.10
ReplyDeletechecking for meinproc... compiled
checking for Qtopia... ./configure: line 24305: test: : integer expression expected
configure: error: Cannot link small Qtopia Application. For more details look at
the end of config.log
make: *** No targets specified and no makefile found. Stop.
strip: 'konq-embed/src/konqueror': No such file
cp: cannot stat `konq/konq-embed/src/konqueror': No such file or directory
mkdir: cannot create directory `qtopia-2.2.0-FriendlyARM/qtopia/image/opt/Qtopia/pics/konqueror': No such file or directory
cp: cannot create regular file `qtopia-2.2.0-FriendlyARM/qtopia/image/opt/Qtopia/pics/konqueror': No such file or directory
cp: cannot create regular file `qtopia-2.2.0-FriendlyARM/qtopia/image/opt/Qtopia/apps/Applications': No such file or directory
not complete...... why hapen
hi mr.Kolry,
ReplyDeleteCan you paste the full command and path that you were running?
checking for meinproc... compiled
ReplyDeletechecking for Qtopia... ./configure: line 24305: test: : integer expression expected
configure: error: Cannot link small Qtopia Application. For more details look at
the end of config.log
make: *** No targets specified and no makefile found. Stop.
strip: 'konq-embed/src/konqueror': No such file
cp: cannot stat `konq/konq-embed/src/konqueror': No such file or directory
mkdir: cannot create directory `qtopia-2.2.0-FriendlyARM/qtopia/image/opt/Qtopia/pics/konqueror': No such file or directory
cp: cannot create regular file `qtopia-2.2.0-FriendlyARM/qtopia/image/opt/Qtopia/pics/konqueror': No such file or directory
cp: cannot create regular file `qtopia-2.2.0-FriendlyARM/qtopia/image/opt/Qtopia/apps/Applications': No such file or directory
root@ubuntu:/opt/FriendlyARM/mini2440/x86-qtopia#
.
ReplyDelete.
.
checking for stdint.h... (cached) yes
checking for poll in -lpoll... no
checking CoreAudio/CoreAudio.h usability... no
checking CoreAudio/CoreAudio.h presence... no
checking for CoreAudio/CoreAudio.h... no
checking for res_init... yes
checking if res_init needs custom prototype... no
checking for killpg in -lucb... no
checking for int... yes
checking size of int... 4
checking for long... yes
checking size of long... 4
checking for char *... yes
checking size of char *... 4
checking for char... yes
checking size of char... 1
checking for dlopen in -ldl... yes
checking for shl_unload in -ldld... no
checking for vsnprintf... yes
checking for snprintf... yes
checking for pthread_create in -lpthread... yes
checking for extra includes... no
checking for extra libs... no
checking for libz... -lz
checking for libpng... -lpng -lz -lm
checking for libjpeg6b... no
checking for libjpeg... -ljpeg
checking for Qt... libraries /opt/FriendlyARM/mini2440/x86-qtopia/qtopia-2.2.0-FriendlyARM/qtopia/lib, headers /opt/FriendlyARM/mini2440/x86-qtopia/qtopia-2.2.0-FriendlyARM/qt2/include
checking for moc... /opt/FriendlyARM/mini2440/x86-qtopia/qtopia-2.2.0-FriendlyARM/qt2/bin/moc
checking if Qt needs -ljpeg... no
checking for rpath... yes
checking for KDE... will be installed in /usr/local/kde
checking for KDE paths... defaults
checking for dcopidl... compiled
checking for dcopidl2cpp... compiled
checking for mcopidl... compiled
checking for artsc-config... compiled
checking for kde-config... compiled
checking for meinproc... compiled
checking for Qtopia... ./configure: line 24305: test: : integer expression expected
configure: error: Cannot link small Qtopia Application. For more details look at
the end of config.log
make: *** No targets specified and no makefile found. Stop.
strip: 'konq-embed/src/konqueror': No such file
cp: cannot stat `konq/konq-embed/src/konqueror': No such file or directory
mkdir: cannot create directory `qtopia-2.2.0-FriendlyARM/qtopia/image/opt/Qtopia/pics/konqueror': No such file or directory
cp: cannot create regular file `qtopia-2.2.0-FriendlyARM/qtopia/image/opt/Qtopia/pics/konqueror': No such file or directory
cp: cannot create regular file `qtopia-2.2.0-FriendlyARM/qtopia/image/opt/Qtopia/apps/Applications': No such file or directory
root@ubuntu:/opt/FriendlyARM/mini2440/x86-qtopia#
i use lastest version x86-Qtopia 2.2.0 (2010-01-08) from http://www.friendlyarm.net/downloads
ReplyDeletethnak you very mouch
Hello,
ReplyDeleteI am getting the same error as Mr. Kolry.
I am running Ubuntu 9.10 (32bit). I downloaded
x86-qtopia-2.2.0_20100108.tgz and arm-qtopia-2.2.0_20100108.tgz from FriendlyArm.net. I followed your directions but when I try to ./build-all it ends up with the following error:
.
.
checking for meinproc... compiled
checking for Qtopia... ./configure: line 24305: test: : integer expression expected
configure: error: Cannot link small Qtopia Application. For more details look at
the end of config.log
make: *** No targets specified and no makefile found. Stop.
strip: 'konq-embed/src/konqueror': No such file
cp: cannot stat `konq/konq-embed/src/konqueror': No such file or directory
mkdir: cannot create directory `qtopia-2.2.0-FriendlyARM/qtopia/image/opt/Qtopia/pics/konqueror': No such file or directory
cp: cannot create regular file `qtopia-2.2.0-FriendlyARM/qtopia/image/opt/Qtopia/pics/konqueror': No such file or directory
cp: cannot create regular file `qtopia-2.2.0-FriendlyARM/qtopia/image/opt/Qtopia/apps/Applications': No such file or directory
ron@ubuntu:/opt/FriendlyARM/mini2440/x86-qtopia$
Any help will be greatly appreciated.
Thanks.
Hi Everyone,
ReplyDeleteI've added a post with all the build scripts I used for the tutorial.
http://equallybad.blogspot.com/2010/04/x86-qtopia-and-arm-qtopia-build-scripts.html
Let me know if these scripts help resolve any of the build issues.
Good luck!
Used your latest build scripts and still got a similar problem as above. Here are the specifics:
ReplyDelete.....
checking CoreAudio/CoreAudio.h presence... no
checking for CoreAudio/CoreAudio.h... no
checking for res_init... yes
checking if res_init needs custom prototype... no
checking for killpg in -lucb... no
checking for int... yes
checking size of int... 4
checking for long... yes
checking size of long... 4
checking for char *... yes
checking size of char *... 4
checking for char... yes
checking size of char... 1
checking for dlopen in -ldl... yes
checking for shl_unload in -ldld... no
checking for vsnprintf... yes
checking for snprintf... yes
checking for pthread_create in -lpthread... yes
checking for extra includes... no
checking for extra libs... no
checking for libz... configure: error: not found. Check your installation and look into config.log
make: *** No targets specified and no makefile found. Stop.
strip: 'konq-embed/src/konqueror': No such file
cp: cannot stat `konq/konq-embed/src/konqueror': No such file or directory
cp: cannot create regular file `qtopia-2.2.0-FriendlyARM/qtopia/image/opt/Qtopia/apps/Applications': No such file or directory
root@Linux2:/opt/FriendlyARM/mini2440/x86-qtopia#
Hi Joe,
ReplyDeleteCan you confirm that you have these libraries installed?
zlib1g and zlib1g-dev
has anyone had any luck building an app with qt creator and running it on the mini 2440?
ReplyDeletehey.., am trying to compile my example for arm using qmake .., please suggest me a procedure to do qmakeand environment paths
ReplyDelete@Impossible,
ReplyDeleteI am facing the same issue as Joe C.
These packages are defiantly installed.
My output is:
checking for Qtopia... ./configure: line 24305: test: : integer expression expected
configure: error: Cannot link small Qtopia Application. For more details look at
the end of config.log
make: *** No targets specified and no makefile found. Stop.
strip: 'konq-embed/src/konqueror': No such file
cp: cannot stat `konq/konq-embed/src/konqueror': No such file or directory
cp: cannot create regular file `qtopia-2.2.0-FriendlyARM/qtopia/image/opt/Qtopia/apps/Applications': No such file or directory
I have tried the individual builds and its dieing on Qtopia with this error:
x86-qtopia/qtopia-2.2.0-FriendlyARM/qt2/lib -lqte
/usr/bin/ld: cannot find -luuid
collect2: ld returned 1 exit status
Any help would be greatly appreciated.
Cheers,
Jon
Hi Jon, The package "uuid-dev" should install the libuuid library to /usr/lib/libuuid.so. Can you verify you have that installed? Also, which command are you executing?
ReplyDeleteHi impossible
ReplyDeleteThe library /usr/lib/libuuid.so is not there.
However I have installed it - yum install uuid-devel
Package uuid-devel-1.6.1-8.fc12.i686 already installed and latest version
I am running build-all from:
/opt/FriendlyARM/mini2440/x86-qtopia/
I imagine there is a issue with the missing libuuid.so file yet fedora knows its installed.
SOLUTION
ReplyDeleteGood news everybody!
Thanks for Impossible for saying "The package "uuid-dev" should install the libuuid library to /usr/lib/libuuid.so"
This was not the case. However after digging around I found that the library was in actual fact installed into /lib (Must have been Fedora 12 issue).
TO SOLVE THIS:
cd to /usr/lib and create a symbolic link using this command...
ln -s ../../lib/libuuid.so.1 libuuid.so
This library now should work. Run a make clean and ./build-all and your Qtopia installation should work.
Well it did for me :).
Hi Jon,
ReplyDeleteGreat find. Thanks for posting a solution.
I think on the lines:
ReplyDeleteline 143: --- f = ::open(tmpFile.latin1(), O_CREAT | O_WRONLY);
line 143: --- f = ::open(tmpFile.latin1(), O_CREAT | O_WRONLY, (S_IRUSR|S_IWUSR));
You meant:
line 143: --- f = ::open(tmpFile.latin1(), O_CREAT | O_WRONLY);
line 143: +++ f = ::open(tmpFile.latin1(), O_CREAT | O_WRONLY, (S_IRUSR|S_IWUSR));
By the way, my version of the code has the following line:
f = ::open(tmpFile.latin1(), O_CREAT | O_WRONLY, 0777);
You didn't say where to download the x86-qtopia, so I downloaded it from the http://www.friendlyarm.net website. I am going to presume that their version will not have the problems as you have stated and that 0777 will be the same as S_IRUSR|S_IWUSR. If not I will need to hunt down the root cause of the errors you were seeing to put in the correct fix for my version.
I downloaded arm-qtopia from http://www.microarmsystems.com. After extracting, the files were placed into /opt/FriendlyARM/mini2440/arm-qtopia, not the mini2440 directory. In this case I think the line of your instructions: cd /opt/FriendlyARM/mini2440/ would need to be changed to cd /opt/FriendlyARM/mini2440/arm-qtopia instead before manually extracting the files.
ReplyDeleteAs it turned out the x86-qtopia I downloaded from http://www.friendlyarm.net worked fine with the 0777 in place of your S_IRUSR|S_IWUSR fix. Apparently they have updated their files- if that was your original source. Also I had trouble logging in as root. As I recall, you need to set up a root password before this can be used. Instead I logged in as plg with password plg. In my FriendlyARM terminal (minicom) I had to change the mode for the tmp directory to allow permissions from the ftp side to write the directory. The command I used was:
ReplyDeletecd /
chmod o=rwx tmp
One more comment and I will be on my way. For those who may be confused by the phrase "In terminal on the 2440:". The best way to do this is as follows:
ReplyDeleteWindows: Download Hyperterminal Private Edition
Linux:
1. Open a terminal window
2. Enter cmd: sudo apt-get install minicom
3. Enter cmd: sudo minicom -s
4. Serial port setup
+---------------------------------------+
| A - Serial Device : dev/ttyS0 |
| B - Lockfile Location : /var/lock |
| C - ... |
| D - ... |
| E - Bps/Par/Bits : 115200 8N1 |
| F - Hardware flow control : no |
| G - Software flow control : no |
| Change which settings? |
+---------------------------------------+
5. Exit
6. Enter cmd "minicom"
7. Attach the serial cable from your Mini2440 device to the serial port on your computer.
8. Turn on the Mini2440 device.
9. Press "enter" when directed to do so.
If successfull you will get the following prompt:
[root@FriendlyARM /]#
Now you can navigate your FriendlyARM device from your Linux PC keyboard.
Hi Anon,
ReplyDeleteThanks for the tips.
Thank a lot for useful tutorial
ReplyDeletehi imposiible!
ReplyDeletethanks u very much for your instructions. but i have a problem when i build "hello" example. i try my best to do but i can't succeed. can u tell me more specifically?
PS: when i build, the error is that: "./run-hello: 17: +++/home/kokoobk/test/x86-qtopia/qtopia-2.2.0-FriendlyARM/qtopia/bin/hello-qws: not found."
can u help me? thanks first. i'm looking forward to hearing your info soon.;)
Hi Anon,
ReplyDeleteYou have to install the software into the directory: /opt/FriendlyARM/mini2440
and run the example from within the installed packages e.g. /opt/FriendlyARM/mini2440/x86qtopia
Great work.. Keep it work..
ReplyDeletehi all,
ReplyDeletei am getting the following error while building hello in x86-qtopia.
can anyone help me to solve this.
[root@localhost hello]# ./build
./build: line 3:
/opt/FriendlyARM/mini2440/x86-qtopia/qtopia-2.2.0-FriendlyARM/setQpeEnv: No
such file or directory
Failure to read QMAKESPEC conf file
/opt/FriendlyARM/mini2440/x86-qtopia/qtopia-2.2.0-FriendlyARM/qtopia/mkspecs/qws
/linux-generic-g++/qmake.conf.
Error processing project file:
/home/ssmanohar/opt/FriendlyARM/mini2440/x86-qtopia/hello/hello.pro
make: *** No rule to make target
`/opt/FriendlyARM/mini2440/x86-qtopia/qtopia-2.2.0-FriendlyARM/qtopia/mkspecs/qw
s/linux-generic-g++/qmake.conf',
needed by `Makefile'. Stop.
make: *** No rule to make target
`/opt/FriendlyARM/mini2440/x86-qtopia/qtopia-2.2.0-FriendlyARM/qtopia/mkspecs/qw
s/linux-generic-g++/qmake.conf',
needed by `Makefile'. Stop.
thanx
Thank you!! Run nice in Ubuntu 10.04!
ReplyDeleteBut in the link's scripts, you need to clear "rm" and "tar" lines.
Thank yo again!
..y muy buen trabajo!
Guillermo.
Hello!
ReplyDeleteHave you been able to write threaded applications with these tools? I've succesfully installed my tools according to your instructions and created a few applications. However, I can't compile threaded applications since I get an error that says:
libqte-mt can't be found
I've tried to configure qt2 again using -thread but I still won't succeed.
Can you give me any advice?
Thanks!
Mikko
Hello,
ReplyDeleteI've posted on friendlyarm forum as well but i can't solve this problem which Joe C., Jon Ambrose, Books and mr.Kolry encountered. Guess they solved, but i couldn't. I'm using ubuntu 10.04. I'm using the build* files as you described and followed your tutorial.
I tried this soft link command but it's already linked. I mean;
in /usr/lib i have;
libuuid.so -> /lib/libuuid.so.1.3.0
in /lib i have;
libuuid.so.1.3.0
libuuid.so.1 -> libuuid.so.1.3.0
What can i do, i get the same error like others. Thanks.
(Thanks for the tutorial as well...)
Yigitalp
thanks a lot for the tutorial
ReplyDeleteThis comment has been removed by the author.
ReplyDeleteFirstly, thanks for the great post!:) It worked perfectly for me, except the ending:
ReplyDelete(Building an example (host) part of the post)
when I run the ./run-hello I get this instead of the output window
shown:
"Using display 0
Cannot create lock file as an old version of QVFb has opened
/tmp/qtembedded-root/QtEmbedded-0. Close other QVFb and try again
Can't open framebuffer device /dev/fb0
driver cannot connect"
I have no idea what this is! I tried fuser -v /dev/fb0 but that didn't show
anything, and "fuser -k -KILL /dev/fb0" didn't work either!
Even running as root didn't work!
Here is the output from the build: http://pastie.org/private/lgpty3p4y666xkm8gxcxcw
Please do help me out! Thanks in advance!
PS In case this matters, I'm running Ubuntu Lucid Lynx
How do you create new UI forms? I was trying to use the current QT Creator but it makes version 4.0 ui files and I think this compiler needs version 2.2, right? Do I have to manually create XML files? Thanks. (I've been sort of following http://farm2440.blogspot.com/2010/07/hello-world-with-gui-application-for.html)
ReplyDeletePlease disregard the previous post. I originally downloaded the QT Creator from http://qt.nokia.com/products/ but I've discovered the old Designer is already included in the qtopia-2.2.0-FriendlyARM/qt2/bin folder.
ReplyDeleteI did everything like described.
ReplyDeleteWhen I did build-konq of the arm-qtopia I meet a error message:
/usr/lib/libjpeg.so: could not read symbols: File in wrong format
the similar issue described at last post:
http://www.friendlyarm.net/forum/topic/1443
Could you help me to solve it?
Thank you in advance.
to tsimur and others that have found the same problem: the trouble lies in some wrong reference to /usr/lib in a .la file, you can find info about this kind of problem at http://www.metastatic.org/text/libtool.html. I saw there is a new DVD but it takes 6 days to download, so...
ReplyDeleteAfter a while (cursing someone's ancestors) I did this:
- compile as much as you can, before the error
- manually edit the file /opt/FriendlyARM/mini2440/arm-qtopia/konq/libtool
- modify the line 6143 (sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
) to sys_lib_search_path_spec=
- build the hello sample
It seems working
ciao a tutti
PF
Hi,
ReplyDeleteCould somebody help me? I've tried to build Qtopia x86, i've modified the files and the script as the way that Impossible says. But i've obtained the following error:
/usr/bin/ld: .obj/release-shared/transferserver.o:undefined reference to symbol 'crypt@@GLIBC_2.0'. I've got the libcrypt.so.1 in my /lib directory. What am i doing wrong?
Thaks.
Have you tried cross-compiling a .c file using open cv for mini2440?
ReplyDeleteHello,
ReplyDeleteFirst of all, my compliments for this great tutorial, I had it "up and running" in no time.
(Ubuntu 10.04)
I installed QTCreator via the available synaptic packages in this ubuntu release, but when I try to open hello_base.gui with QTdesigner, it gives me an error that it can't read the file. (tags with "name" on line 6 of this file doesn't seem to be OK)
Is there something I need to configure within QTCreator/QTDesigner, or do I need another version of this tool ?
(I'm using Qtopia 2.2.0)
Thank you,
Kris
Thanks for the great tutorial. I am using Ubuntu 9.10. I successfully installed the provided gcc and g++ cross compilers.
ReplyDeleteBut I am having the same problems as Jon Ambrose and other guys. This is while building x86 qtopia(cannot link small application ....). I have uuid-dev and the associated .so file in their proper places and all dependences are satisfied.
Arm qtopia builds without errors but I cannot build the example hello project. The run file is not produced.
I am using the latest tarballs (2010 01 08) from friendlyARM.
Can anyone please help me?
Thanks,
Harshad
please help me
ReplyDelete./build-konq: line 6: /opt/FriendlyARM/mini2440/arm-qtopia/qtopia-2.2.0-FriendlyARM/setQpeEnv: No such file or directory
ReplyDeleteconfigure: WARNING: If you wanted to set the --build type, don't use --host.
If a cross compiler is detected then cross compile mode will be used.
checking build system type... i686-pc-linux-gnu
checking host system type... arm-unknown-linux-gnu
checking target system type... arm-unknown-linux-gnu
checking for a BSD-compatible install... /usr/bin/install -c
checking for -p flag to install... yes
checking whether build environment is sane... yes
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking for arm-linux-strip... no
checking for strip... strip
checking for style of include used by make... GNU
checking for arm-linux-gcc... arm-linux-gcc
checking for C compiler default output... configure: error: C compiler cannot create executables
See `config.log' for more details.
make: *** No targets specified and no makefile found. Stop.
./build-konq: line 10: arm-linux-strip: command not found
cp: cannot stat `qtopia-2.2.0-FriendlyARM/qtopia/image/opt': No such file or directory
opt/Qtopia/lib/fonts/
opt/Qtopia/lib/fonts/helvetica_120_50.qpf
opt/Qtopia/lib/fonts/songti_160_50.qpf
opt/Qtopia/lib/fonts/fontdir
opt/Qtopia/lib/fonts/helvetica_120_50_t5.qpf
cp: cannot stat `konq/konq-embed/src/konqueror': No such file or directory
mkdir: cannot create directory `opt/Qtopia/pics/konqueror': No such file or directory
cp: cannot create regular file `opt/Qtopia/pics/konqueror': No such file or directory
mkdir: cannot create directory `opt/Qtopia/apps/FriendlyARM': No such file or directory
cp: cannot create regular file `opt/Qtopia/apps/FriendlyARM/': No such file or directory
./mktarget: line 18: opt/Qtopia/apps/FriendlyARM/.directory: No such file or directory
opt/
opt/kde/
opt/kde/share/
opt/kde/share/apps/
opt/kde/share/apps/khtml/
opt/kde/share/apps/khtml/css/
opt/kde/share/apps/khtml/css/html4.css
opt/kde/share/config/
Can someone give the download link of the Qt designer by Trolltech for mini2440 as the cd which I have does not have it.
ReplyDeleteI followed ur blog and I am running into the following error after running ./build for x-86 qtopia. Here's the compilation log : http://pastebin.com/ywy4Nrtb.
ReplyDeletePlease help
First of all thanks for a great tutorial.
ReplyDeletei have same/similar problem as Yiğitalp Ertem
I'm using ubuntu 10.10. I
followed your tutorial, but have encountered a problem:
checking for meinproc... compiled
checking for Qtopia... ./configure: line 24305: test: : integer expression expected
configure: error: Cannot link small Qtopia Application. For more details look at
the end of config.log
make: *** No targets specified and no makefile found. Stop.
strip: 'konq-embed/src/konqueror': No such file
cp: cannot stat `konq/konq-embed/src/konqueror': No such file or directory
mkdir: cannot create directory `qtopia-2.2.0-FriendlyARM/qtopia/image/opt/Qtopia/pics/konqueror': No such file or directory
cp: cannot create regular file `qtopia-2.2.0-FriendlyARM/qtopia/image/opt/Qtopia/pics/konqueror': No such file or directory
cp: cannot create regular file `qtopia-2.2.0-FriendlyARM/qtopia/image/opt/Qtopia/apps/Applications': No such file or directory
I tried this soft link command but it's already linked.
in /usr/lib i have;
libuuid.so -> /lib/libuuid.so.1.3.0
in /lib i have;
libuuid.so.1.3.0
libuuid.so.1 -> libuuid.so.1.3.0
grateful for any solutions?
got it working now.
ReplyDeleteproblem with:
make: *** No targets specified and no makefile found. Stop.
solution:
follow the instructions properly, especially the bit about modifying build scripts.
regard
I'm using Linux on Friendly ARM.Is it possible to install any media player into it??
ReplyDeletePLease suggest me how.
Thanks
Thanks for u r valuable information here.
ReplyDeleteI'm successfully set-up qtopia environment on ubuntu 9.01 system.
Initially I face lot of problems based on Fedora 14 system.
Thank you for the detailed tutorial I achieve to install all the development tools and although the compilation of x86-qtopia showed me some errors as the mentioned above I had succeed to run the qt example.
ReplyDeleteI am using fedora-14..... and all the libraries are installed......
ReplyDeleteHey,
ReplyDeleteI have been following this post and the equallybad blog for installing x86-qtopia and arm-qtopia on my PC running Ubuntu 9.04 but I have been unable to install them. I am getting the same errors in both installations -
* ERROR: Building Qtopia Tools has failed.
*
* Please investigate the problem by looking at the error messages in the
* make output.
* The Qtopia tools can be build using the separate buildQtopiaTools script
* which can be found in the qtopia/scripts directory of the package. The
* script is also invoked with the command 'make tools' from the package root
* directory.
*
* On most machines the default configuration options in the script works fine.
* In case this doesn't work the configure parameters in the buildQtopiaTools
* script need to be tweaked to fit the environment/compiler used on the machine
* and then run manually from the cmd line.
*
* Please make sure that the following binaries exist before trying to build
* Qtopia:
* /opt/FriendlyARM/mini2440/arm-qtopia/qtopia-2.2.0-FriendlyARM/qt2/bin/moc
* /opt/FriendlyARM/mini2440/arm-qtopia/qtopia-2.2.0-FriendlyARM/qt2/bin/uic
* /opt/FriendlyARM/mini2440/arm-qtopia/qtopia-2.2.0-FriendlyARM/qt2/bin/qvfb
* /opt/FriendlyARM/mini2440/arm-qtopia/qtopia-2.2.0-FriendlyARM/dqt/bin/lrelease
* /opt/FriendlyARM/mini2440/arm-qtopia/qtopia-2.2.0-FriendlyARM/dqt/bin/lupdate
*
* As a rule these tools need to be built only once.
*
cp: cannot stat `konq/konq-embed/src/konqueror': No such file or directory
mkdir: cannot create directory `opt/Qtopia/pics/konqueror': No such file or directory
cp: cannot create regular file `opt/Qtopia/pics/konqueror': No such file or directory
mkdir: cannot create directory `opt/Qtopia/apps/FriendlyARM': No such file or directory
cp: cannot create regular file `opt/Qtopia/apps/FriendlyARM/': No such file or directory
./mktarget: line 18: opt/Qtopia/apps/FriendlyARM/.directory: No such file or directory
What could be the problem? :(
Thanks.
hi Tarin, i have the same problem... did u resolve it?? please help me
DeleteThanks
me too, i'm stuck here for week, please help
DeleteHi,
ReplyDeleteThanks for this tutorial. I need help with Touchscreen.
I compiled Qt and tslib successfully.
Typing "cat /dev/input/ts" works as mentioned (weird chars when touched).
ts_calibrate and ts_test work fine too (touch screen is working fine).
If I use "export QWS_MOUSE_PROTO=tslib:/dev/input/ts" it shows "Segmentation fault". When I replace this line by just "export QWS_MOUSE_PROTO=" (without "driver:options") my "Hello World" shows perfectly, but no touch screen.
Compiling Qt with "-no-freetype" generates the same result: "Segmentation fault".
I can't find a way to work touch with my app.
Any suggestion?
Thank you.
Afonso.
Hi,
ReplyDeleteI have same/similar problem too,
./build
found error ...: cannot find -lqtopia2 ..bla bla
build file -->
#!/bin/bash
source /home/xadmin/armgcc/arm-qtopia/qtopia-2.2.0-FriendlyARM/setQpEnv qmake -spec /home/xadmin/armgcc/arm-qtopia/qtopia-2.2.0-FriendlyARM/qtopia/mkspecs/qws/linux-arm-g++ -o Makefile *.pro
make clean
make
Can anyone please help me?
Thanks.
Rudren.
For those who are looking to acquire a way so you can get therapeutic relief from an expert sizegenetics who is also very sexy, then here is the way to go about it. You please do not would need to run the risk of using an ad service to find these types of service as you will get qualified sizegeneticss who are likely to be free to give you a gay sizegenetics based upon your terms. What is more to getting a gay therapeutic sizegenetics that will actually help you become feel much better, you could will also get a gay erotic sizegenetics coupled with a sensual sizegenetics. While you're looking to obtain a gay sizegenetics, there are numerous options from which you'll choose.
ReplyDeletehttp://buysizegeneticsonline.tumblr.com/
Hello,
ReplyDeleteI am same application in qt (install a qt qt-everywhere-opensource-src-4.6.3 in my system) i am create Hello application and it cross compile and inserted on board and run hello -qws but error is missing lib of qt.How to cross compile the all qt-4 lib for mini2440 board...
Thanks for your guidence in building qt for mini 2440.I faced some problems while configuring Qt by following command
ReplyDelete./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 -qt-sql-sqlite -no-3dnow -system-zlib -qt-gif -qt-libtiff -qt-libpng -qt-libmng -qt-libjpeg -no-opengl -gtkstyle -no-openvg -no-xshape -no-xsync -no-xrandr -qt-freetype -qt-gfx-linuxfb -qt-kbd-tty -qt-kbd-linuxinput -qt-mouse-tslib -qt-mouse-linuxinput
I got the following error….
project.o: could not read symbols: File in wrong format
collect2: ld returned 1 exit status
make: *** [/usr/local/qt-everywhere-opensource-src-4.6.3/bin/qmake] Error 1
please help me
salt likit
ReplyDeletesalt likit
dr mood likit
big boss likit
dl likit
dark likit
PPJVRE
Thanks and I have a nifty present: Where To Remodel House home renovation planning
ReplyDelete