I'm confused now!! :( -I've created a jffs2 with qt option using buildroot and its working well.But does that mean i've qt libraries on my created jffs2 ROOTFS? -i've installed x86-qt and arm-qt on my host system. -been to this link:- http://equallybad.blogspot.com/2010/02/project-how-to-setup-default-dev-... I guess this is for if u have the yaffs image (that came with the dvd)on your board.how to run the hello example on my board. -can anyone tell me how do i proceed from here.. thanks kevin
qtopia development
Hi kevin, run hello is easy. You need no new yaffs etc. The only thing you have to do is bringing the hello program into the file system on your mini. And therefor are may ways possible. Put it on a usb stick or sd card and mount on mini, transfer it with ftp or nfs. Start it from the console app. If You want to start hello like a really Qtopia program by it's icon, you must provide this icon and .desktop file. See qtopia/doc/html or existing files for format. skip
well this is what i wanted to say..m not using yaffs m using a jffs2 created with buildroot. i dont have a GUI currently on my board. But while compiling buildroot i selected qt also. so i guess qt libraries are there in my jffs2.now tell me how do i run the hello program. i tried this:- 1.compiled hello on my host ran it with qt-x86..it works.. 2 compiled hello with qt-arm and with pendrive copied it to /home in my board. 3. i do ./hello on my board it wont execute!!y? thanks kevin
Hi Kevin, here the minimal necessary steps to run hello: - install a toolchain - compile arm-qtopia - compile (arm-) hello - transfer hello into your board's file system - (chmod +x hello) ./hello that's all What say's the command: file <path/>hello on your host? skip
it says:- hello: ELF 32-bit LSB executable, ARM, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.14, not stripped on my board when i do ./hello it says -sh: ./hello:not found
Hi Kevin, look what mount says. Sometimes pendrives are mounted without executions permissions. Try: copy hello into a dir on the board, set permissions and exec than. A reason can be, the default char set for vfat drives is utf8 and so it is case sensitive. skip
well tell me what files do i need to copy to my board?? i copied hello and hello.desktop i copy the two files to my /home directry and try to run from there..and yes before doin ./hello i have used chmod +x also.. do u still think it can be due to permissions ? is it necessary that i copy the executables somewhere else than /home? what r the dependencies for hello to run on my board?
I am a bit surprised that a simple app like this needs more than glibc, but . . . Have you got the shared libraries it requires? On the host: <sudo ldd ./hello> or <sudo readelf -a ./hello | grep NEEDED>
This is what it says-> 0x00000001 (NEEDED) Shared library: [libuuid.so.1] 0x00000001 (NEEDED) Shared library: [libqtopia2.so.2] 0x00000001 (NEEDED) Shared library: [libqtopia.so.1] 0x00000001 (NEEDED) Shared library: [libqpe.so.1] 0x00000001 (NEEDED) Shared library: [libqte.so.2] 0x00000001 (NEEDED) Shared library: [libstdc++.so.6] 0x00000001 (NEEDED) Shared library: [libm.so.6] 0x00000001 (NEEDED) Shared library: [libgcc_s.so.1] 0x00000001 (NEEDED) Shared library: [libc.so.6] i checked my board for these and i found that the qt version on my file system is 4.5 !!Can it be the cause that hello is not running??
i assume you means qtopia's hello, its depends on 4 libs: libqtopia, libqtopia2, libqte, libqpe. But these libs are present on the factory's linux/qtopia 2.2.0 installation. See in the Makefile for hello, or better build it new and watch in the link line which -lxxx arguments are given. hello.desktop is only needed if you want to see an icon for your hello. skip
I have libQtCore.so.4 libQtCore.so.4.5 libQtCore.so.4.5.3 libQtGui.so.4 etc etc on my jffs2 rootfs. what m asking is will hello run with these shared libraries or do i need strictly libqtopia2.so.2 etc etc for that?
okay guys its not the shared libraries... I've written a program which just print hello on the screen(not the qtopia one)cross compiled it with arm-linux-gcc- ,transferred the binary to my board and when i run it also says ./a.out not found.... what may be the reason? one basic question-> what makes ./a.out running possible?
what makes ./a.out running possible? > compiling a kernel supporting these format Executables today are common in ELF-format. a.out is a old format, different to ELF. gcc hello.c ==> a.out gcc -o hello hello.c ==> ELF skip
and do need to have some development libraries on my mini2440 to run executable , like when i do ./executable-name ??
hi guys i've soretd out my problem its due to missing .so lib. by statically compiling the program i could successfully run it on my target board. Now is it possible to build the hello qt program statically..on my host ? awaiting for response..
hi guys, I think you are missing something. after doing chmod +x hello you need to copy these two files to their appropriate locations as; mv hello /opt/Qtopia/bin mv hello.desktop /opt/Qtopia/apps/Applications then reboot the mini and you will get Hello2440 icon on your Applications tab on the screen, just click it. by the way I also couldn't find a way to run a Qtopia application from command line like --> ./hello If you find a way please inform me...