Yactfeau


It seems, that cmake is still broken, I get more errors than before. Don't have time right now, but will post the output tomorrow.
 
I just want to add here that I very much like this toolchain. I just yesterday installed it and used it to create the first work-in-progress PND build of my platformer compo entry, Wars: Commando. I tested it on another member's pandora, and it worked like a charm. Thanks to everyone involved!

One small addition: I got the libmpfr error, but there was no 32bit libmpfr available on kubuntu 10.10 repos. I googled a bit and found out that symlinking to libgmp.so.3 also works. Tried it and the compilation went smooth as butter.
 
Ok, there seems to be no cmake definitionsfile in the toolchain:

Code:
CMake Error at /usr/share/cmake-2.8/Modules/CMakeDetermineSystem.cmake:92 (MESSAGE):
  Could not find toolchain file:
  /usr/local/angstrom/arm/share/pandora/toolchain.cmake
Call Stack (most recent call first):
  CMakeLists.txt:3 (PROJECT)

Did you forget to include it?

And these libs still seem to be missing:

arm-angstrom-linux-gnueabi-gcc: /usr/local/angstrom/arm/arm-angstrom-linux-gnueabi/usr/lib/.libs/libgnomeui-2.so: No such file or directory
arm-angstrom-linux-gnueabi-gcc: /usr/local/angstrom/arm/arm-angstrom-linux-gnueabi/usr/lib/.libs/libbonoboui-2.so: No such file or directory
arm-angstrom-linux-gnueabi-gcc: /usr/local/angstrom/arm/arm-angstrom-linux-gnueabi/usr/lib/.libs/libgnomecanvas-2.so: No such file or directory
arm-angstrom-linux-gnueabi-gcc: /usr/local/angstrom/arm/arm-angstrom-linux-gnueabi/usr/lib/.libs/libgnome-2.so: No such file or directory
arm-angstrom-linux-gnueabi-gcc: /usr/local/angstrom/arm/arm-angstrom-linux-gnueabi/usr/lib/.libs/libart_lgpl_2.so: No such file or directory

their .la and .a files are there.

Edit: fought a bit with opkg-target and got the missing libs installed, but I had to remove the broken packages before reinstalling them.
Maybe it should be fixed from the start ;)

Edit2: To install the missing libs with opkg-target do (from memory):
Code:
opkg-target remove libgnomeui-2-dev libgnomeui-2-0 libgnomeuicanvas-2-dev libgnomecanvas-2-0 libbonoboui-2-dev libbonboui-2-0 --force-depends
opkg-target install libgnomeui-2-dev libgnomeui-2-0 libgnomeuicanvas-2-dev libgnomecanvas-2-0 libbonoboui-2-dev libbonboui-2-0

Edit3: Sebt3 told me, that these packages are NOT on the NAND of the Pandora by default, so if you wanted to use them, you would have to manually integrate them in your PND.

Edit4. Sebt3, when you clean them from the toolchain, don't forget the headers and pkg-configscripts, that make configurescripts believe, that these packages are installed. One more of these is "nautilus-extensions" ;)
 
Sebt3, in environment-setup you export CXXFLAGS="-I$SDK_PATH/$TARGET_SYS/usr/include" on line 19, then on line 21 you export CXXFLAGS="$CFLAGS".
I suggest that the first definition be included as part of CFLAGS just before it :)
 
I could be missing something obvious, but how am I supposed to use that .vdi file? VirtualBox doesn't use that extension.

Edit: Never mind, I figured it out. It's just a hard disk, not a whole machine.
 
So I've compiled a working version of Crawl Stone Soup. (yay!) The problem is, it has to run in a full-screen terminal. It works well when run manually from such a terminal.

What changes do I have to make to the Crawl.sh to run the executable in a full-screen terminal with no menubar? Once I have that, I can distribute it in .pnd form.
 
Gruso said:
Code:
terminal --fullscreen --hide-toolbars -e "./PROGRAM"
Maybe this should be written in some kind of pinned thread, FAQ and/or Wiki?!
 
Last edited by a moderator:
First of all thanks for the great work sebt3! I'm using the virtual box image and learn C++ with it. Now a question if I may: Is it possible (and if, then how?) to compile a binary which I can execute in the virtual box Linux so I don't have to always copy it to the Pandora? I think debugging would be a lot easier on a big screen.
 
Emnasut said:
First of all thanks for the great work sebt3! I'm using the virtual box image and learn C++ with it. Now a question if I may: Is it possible (and if, then how?) to compile a binary which I can execute in the virtual box Linux so I don't have to always copy it to the Pandora? I think debugging would be a lot easier on a big screen.
The command setprj load the environnement-setup file which setup the toolchain. Dont use setprj command, just use make, you'll have local binary :)
 
Last edited by a moderator:
I think I found an issue with genpxml. In the buildApplicationList function, it seems to look for executables with desktop in the name. If it fails, then it just looks for executables. However, it looks in . which is $DESTDIR, so it doesn't find anything.
 
jeffrey said:
In the buildApplicationList function, it seems to look for executables with desktop in the name.
Indeed, it look for *.desktop file (which are not executables btw)
jeffrey said:
If it fails, then it just looks for executables. However, it looks in . which is $DESTDIR, so it doesn't find anything.
DESTDIR should be the directory that will be used to create the PND. It should containts executables.

While genpxml does indeed have some (well, many) bugs, this one is not one of them.
 
Last edited by a moderator:
sebt3 said:
jeffrey said:
In the buildApplicationList function, it seems to look for executables with desktop in the name.
Indeed, it look for *.desktop file (which are not executables btw)
jeffrey said:
If it fails, then it just looks for executables. However, it looks in . which is $DESTDIR, so it doesn't find anything.
DESTDIR should be the directory that will be used to create the PND. It should containts executables.

While genpxml does indeed have some (well, many) bugs, this one is not one of them.

Ah I guess I'm just running into issues and making random guesses as to what's going on. Thanks for correcting me.
 
Last edited by a moderator:
sebt3 said:
Emnasut said:
First of all thanks for the great work sebt3! I'm using the virtual box image and learn C++ with it. Now a question if I may: Is it possible (and if, then how?) to compile a binary which I can execute in the virtual box Linux so I don't have to always copy it to the Pandora? I think debugging would be a lot easier on a big screen.
The command setprj load the environnement-setup file which setup the toolchain. Dont use setprj command, just use make, you'll have local binary :)

Heh, shows what I know about C++ (nothing...), I will try that,thanks! :)
 
Last edited by a moderator:
Hm when I don't do setprj first I get a strange linker error (at least I think it's the linker). Am I missing a library or something? The same works if I do setprj first.

Code:
g++ -I/usr/include/SDL -D_GNU_SOURCE=1 -D_REENTRANT  -c dot.cpp -o dot.o 
g++ -I/usr/include/SDL -D_GNU_SOURCE=1 -D_REENTRANT  -c foo.cpp -o foo.o 
g++ -I/usr/include/SDL -D_GNU_SOURCE=1 -D_REENTRANT  -c functions.cpp -o functions.o 
g++ -I/usr/include/SDL -D_GNU_SOURCE=1 -D_REENTRANT  -c globals.cpp -o globals.o 
g++ -I/usr/include/SDL -D_GNU_SOURCE=1 -D_REENTRANT  -c tile.cpp -o tile.o 
g++ -I/usr/include/SDL -D_GNU_SOURCE=1 -D_REENTRANT  -c tilemanager.cpp -o tilemanager.o 
g++ -I/usr/include/SDL -D_GNU_SOURCE=1 -D_REENTRANT  -c timer.cpp -o timer.o 
g++ -I/usr/include/SDL -D_GNU_SOURCE=1 -D_REENTRANT  -c main.cpp -o main.o 
g++ dot.o foo.o functions.o globals.o tile.o tilemanager.o timer.o main.o -o l29_tiling -lSDL_image -lSDL_ttf -L/usr/lib -lSDL
cc l29_tiling
l29_tiling:(.rodata+0x4): multiple definition of `_IO_stdin_used'
/usr/bin/ld: /usr/lib/debug/usr/lib/crt1.o(.debug_info): relocation 0 has invalid symbol index 12
/usr/bin/ld: /usr/lib/debug/usr/lib/crt1.o(.debug_info): relocation 1 has invalid symbol index 13
/usr/bin/ld: /usr/lib/debug/usr/lib/crt1.o(.debug_info): relocation 2 has invalid symbol index 2
/usr/bin/ld: /usr/lib/debug/usr/lib/crt1.o(.debug_info): relocation 3 has invalid symbol index 2
/usr/bin/ld: /usr/lib/debug/usr/lib/crt1.o(.debug_info): relocation 4 has invalid symbol index 12
/usr/bin/ld: /usr/lib/debug/usr/lib/crt1.o(.debug_info): relocation 5 has invalid symbol index 14
/usr/bin/ld: /usr/lib/debug/usr/lib/crt1.o(.debug_info): relocation 6 has invalid symbol index 14
/usr/bin/ld: /usr/lib/debug/usr/lib/crt1.o(.debug_info): relocation 7 has invalid symbol index 14
/usr/bin/ld: /usr/lib/debug/usr/lib/crt1.o(.debug_info): relocation 8 has invalid symbol index 2
/usr/bin/ld: /usr/lib/debug/usr/lib/crt1.o(.debug_info): relocation 9 has invalid symbol index 2
/usr/bin/ld: /usr/lib/debug/usr/lib/crt1.o(.debug_info): relocation 10 has invalid symbol index 13
/usr/bin/ld: /usr/lib/debug/usr/lib/crt1.o(.debug_info): relocation 11 has invalid symbol index 14
/usr/bin/ld: /usr/lib/debug/usr/lib/crt1.o(.debug_info): relocation 12 has invalid symbol index 14
/usr/bin/ld: /usr/lib/debug/usr/lib/crt1.o(.debug_info): relocation 13 has invalid symbol index 14
/usr/bin/ld: /usr/lib/debug/usr/lib/crt1.o(.debug_info): relocation 14 has invalid symbol index 14
/usr/bin/ld: /usr/lib/debug/usr/lib/crt1.o(.debug_info): relocation 15 has invalid symbol index 14
/usr/bin/ld: /usr/lib/debug/usr/lib/crt1.o(.debug_info): relocation 16 has invalid symbol index 14
/usr/bin/ld: /usr/lib/debug/usr/lib/crt1.o(.debug_info): relocation 17 has invalid symbol index 14
/usr/bin/ld: /usr/lib/debug/usr/lib/crt1.o(.debug_info): relocation 18 has invalid symbol index 14
/usr/bin/ld: /usr/lib/debug/usr/lib/crt1.o(.debug_info): relocation 19 has invalid symbol index 14
/usr/bin/ld: /usr/lib/debug/usr/lib/crt1.o(.debug_info): relocation 20 has invalid symbol index 14
/usr/bin/ld: /usr/lib/debug/usr/lib/crt1.o(.debug_info): relocation 21 has invalid symbol index 14
/usr/bin/ld: /usr/lib/debug/usr/lib/crt1.o(.debug_info): relocation 22 has invalid symbol index 22
/usr/lib/gcc/i686-linux-gnu/4.4.5/../../../../lib/crt1.o:(.rodata.cst4+0x0): first defined here
l29_tiling:(.rodata+0x0): multiple definition of `_fp_hw'
/usr/lib/gcc/i686-linux-gnu/4.4.5/../../../../lib/crt1.o:(.rodata+0x0): first defined here
l29_tiling: In function `__data_start':
(.data+0x4): multiple definition of `__dso_handle'
/usr/lib/gcc/i686-linux-gnu/4.4.5/crtbegin.o:(.data+0x0): first defined here
l29_tiling: In function `_fini':
(.fini+0x0): multiple definition of `_fini'
/usr/lib/gcc/i686-linux-gnu/4.4.5/../../../../lib/crti.o:(.fini+0x0): first defined here
l29_tiling: In function `_start':
(.text+0x0): multiple definition of `_start'
/usr/bin/ld: /usr/lib/debug/usr/lib/crt1.o(.debug_line): relocation 0 has invalid symbol index 2
/usr/lib/gcc/i686-linux-gnu/4.4.5/../../../../lib/crt1.o:/build/buildd/eglibc-2.12.1/csu/../sysdeps/i386/elf/start.S:119: first defined here
l29_tiling: In function `_init':
(.init+0x0): multiple definition of `_init'
/usr/lib/gcc/i686-linux-gnu/4.4.5/../../../../lib/crti.o:(.init+0x0): first defined here
l29_tiling: In function `__data_start':
(.data+0x0): multiple definition of `__data_start'
/usr/lib/gcc/i686-linux-gnu/4.4.5/../../../../lib/crt1.o:(.data+0x0): first defined here
/usr/lib/gcc/i686-linux-gnu/4.4.5/crtend.o:(.dtors+0x0): multiple definition of `__DTOR_END__'
l29_tiling:(.dtors+0x4): first defined here
/usr/bin/ld: warning: Cannot create .eh_frame_hdr section, --eh-frame-hdr ignored.
/usr/bin/ld: error in l29_tiling(.eh_frame); no .eh_frame_hdr table will be created.
collect2: ld returned 1 exit status
make: *** [l29_tiling] Error 1

Any ideas?
 
Emnasut said:
Hm when I don't do setprj first I get a strange linker error (at least I think it's the linker). Am I missing a library or something? The same works if I do setprj first.

Any ideas?
Hum the gcc installation in the vmware seams bogus :(
I'ld like to route you to the ubuntu forum as your issues are far from the topic now.

(what bug me is the "cc 129_tiling" which shouldnt be there...)
 
Last edited by a moderator:
sebt3 said:
Emnasut said:
Hm when I don't do setprj first I get a strange linker error (at least I think it's the linker). Am I missing a library or something? The same works if I do setprj first.

Any ideas?
Hum the gcc installation in the vmware seams bogus :(
I'ld like to route you to the ubuntu forum as your issues are far from the topic now.

(what bug me is the "cc 129_tiling" which shouldnt be there...)

That's L29_tiling, not 129_tiling, and it's just the name of my project (based on tutorial number 29, Tiling, of lazy foo) and thus the name of my binary. ^^
 
Last edited by a moderator:
Emnasut said:
That's L29_tiling, not 129_tiling, and it's just the name of my project (based on tutorial number 29, Tiling, of lazy foo) and thus the name of my binary. ^^
I was refering this :
Code:
g++ dot.o foo.o functions.o globals.o tile.o tilemanager.o timer.o main.o -o l29_tiling -lSDL_image -lSDL_ttf -L/usr/lib -lSDL
cc l29_tiling
l29_tiling:(.rodata+0x4): multiple definition of `_IO_stdin_used'
The middle line shouldnt be here.
 
Last edited by a moderator:
sebt3 said:
Emnasut said:
That's L29_tiling, not 129_tiling, and it's just the name of my project (based on tutorial number 29, Tiling, of lazy foo) and thus the name of my binary. ^^
I was refering this :
Code:
g++ dot.o foo.o functions.o globals.o tile.o tilemanager.o timer.o main.o -o l29_tiling -lSDL_image -lSDL_ttf -L/usr/lib -lSDL
cc l29_tiling
l29_tiling:(.rodata+0x4): multiple definition of `_IO_stdin_used'
The middle line shouldnt be here.

Oh okay, sorry. ^^
Maybe I'll ask in the Ubuntu forum, I just fear that I know too less of C++/Linux to even describe my problem...
 
Last edited by a moderator:
Back
Top