OF on BeagleBone

#1

Hey all,

so im trying to get codeblocks + OF running on my beaglebone ( http://beagleboard.org/ ). The codeblocks install script works just fine but the install_dependencies script fails with:

  
make: Nothing to be done for `Debug'.  
compiling object for  ../../../openFrameworks/graphics/ofTessellator.cpp  
mkdir -p obj/Release/openFrameworks/graphics  
g++ -march=native -mtune=native -finline-functions -funroll-all-loops  -Os -Wall -fexceptions -I../../../FreeImage/include -I../../../assimp/include -I../../../assimp/include/Compiler -I../../../cairo/include -I../../../cairo/include/libpng15 -I../../../cairo/include/pixman-1 -I../../../cairo/include/cairo -I../../../fmodex/include -I../../../freetype/include -I../../../freetype/include/freetype2 -I../../../freetype/include/freetype2/freetype -I../../../freetype/include/freetype2/freetype/internal -I../../../freetype/include/freetype2/freetype/internal/services -I../../../freetype/include/freetype2/freetype/config -I../../../glew/include -I../../../glew/include/GL -I../../../kiss/include -I../../../portaudio/include -I../../../rtAudio/include -I../../../tess2/include -I../../../poco/include -I../../../glu/include -I../../../openFrameworks/ -I../../../openFrameworks/graphics -I../../../openFrameworks/events -I../../../openFrameworks/math -I../../../openFrameworks/sound -I../../../openFrameworks/communication -I../../../openFrameworks/gl -I../../../openFrameworks/utils -I../../../openFrameworks/video -I../../../openFrameworks/3d -I../../../openFrameworks/app -I../../../openFrameworks/types -pthread -I/usr/include/glib-2.0 -I/usr/lib/arm-linux-gnueabi/glib-2.0/include -I/usr/include/gstreamer-0.10 -I/usr/include/libxml2   -pthread -I/usr/include/gtk-2.0 -I/usr/lib/arm-linux-gnueabi/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/pango-1.0 -I/usr/include/gio-unix-2.0/ -I/usr/include/glib-2.0 -I/usr/lib/arm-linux-gnueabi/glib-2.0/include -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng12   -DOF_USING_GTK  -MMD -MP -MFobj/Release/openFrameworks/graphics/ofTessellator.d -MTobj/Release/openFrameworks/graphics/ofTessellator.d -o obj/Release/openFrameworks/graphics/ofTessellator.o -c ../../../openFrameworks/graphics/ofTessellator.cpp  
cc1plus: error: bad value (native) for -march switch  
cc1plus: error: bad value (native) for -mtune switch  
make: *** [obj/Release/openFrameworks/graphics/ofTessellator.o] Error 1  
there has been a problem compiling Release OF library  
please report this problem in the forums  
  

Im guessing the arm architecture is not supported. Anyone know what it would take to get it to work?
I could also try cross compiling, but in my experience that has been more of a hassle than it was worth.

PandaBoardES and Openframework
#2

Are you using the angstrom distribution? I got OF to work with a Beaglebone and Arturo/Damian’s headless branch that you can find here:

https://github.com/arturoc/openFrameworks/tree/damian-linuxarm7

I am using this distro however:
http://elinux.org/BeagleBoardDebian#Debian-armhf-port

I could upload the disk image somewhere if you want to try it that way. I really am trying to get OpenNI (got it compiled and installed) /Kinect to work with it but I am having USB issues

#3

Thanks for the tip- still banging my head on this one though…
now its :

  
  
In file included from ../../../openFrameworks/graphics/ofTessellator.h:3:0,  
                 from ../../../openFrameworks/graphics/ofTessellator.cpp:1:  
../../../openFrameworks/utils/ofConstants.h:157:22: fatal error: GLES/gl.h: No such file or directory  
compilation terminated.  
  

and im running the beaglebone ubuntu distro btw.
I also tried copying the contents of my usr/include/GL folder to utils/GLES/ , which solved the above problem, but lead to others…
did it build out of the box under debian?

that would be AWESOME.
I might give android a try too, as for my purpose it shouldn’t make much of a difference.

#4

Did you run the install_dependencies script? That helped out a lot. I’ll upload the image now and post back here when it is up with a few notes

#5

Just uploaded the image. Details are here:

https://gist.github.com/1813851

#6

sorry i was unclear- those errors were produced when running the install_dependencies script

thanks for posting your image, I’ll give that a shot

#7

Ok! got your image up and running,
so i guess you are just using OF for the interface libraries? (no display)
what are you making, out of curiosity?

I installed xfce4 and tightvncserver with aspirations of actually rendering something…
as you noted the default ofGlutWindow is a nOgO. replacing it ofBaseWindow will get it to compile & run, but still nothing is displayed.
perhaps I’m missing some dependency…?
i’ll check into this more in the morning

#8

i’m really interested in working with oF on the beaglebone as well! do you know some people or blogs i could follow on the matter? i’m especially interested in hooking up the kinect with the beaglebonde

#9

@xach - mostly just experimenting with trying to get the kinect working with it as well as a few USB devices (an NFC reader/writer). But yeah - OF is a great interface to the libs and would like to get something going like Bonescript as an addon.

@panopticon - I have a few saved bookmarks here and my disk image in the above post
http://www.delicious.com/jvcleave/beaglebone

#10

After fighting with libusb I got the Kinect to work!

This video is just running libfreenect’s tiltdemo but I just tested my ofxKinect app and it is now running

https://vimeo.com/36948168

#11

jvcleave that’s awesome! I’ve been looking at trying to get my Pandaboard to work with my Kinect, but really haven’t had much time to play with it yet. I have OF more or less up and running, but I haven’t really dug into interfacing any camera with it yet. Any thoughts on how you might do graphics output?

#12

Thanks Joshua, I was thinking of using it to measure distance changes being headless.

OpenNI is next for me, I had it compiled previously but the libusb problems still plagued me from connecting to the camera.

I have seen these demos of graphics with DVI addons (capes)

http://www.youtube.com/watch?v=-1VW3ObVJAw

And this one looks awesome (but out of stock) http://tigal.com/product/2410

http://www.youtube.com/watch?v=-KAD-Oqpi14

another cheap way would be to maybe go web based with a nodejs module?

#13

jvcleave this sounds suitable:

http://blog.mackerron.com/2012/02/03/depthcam-webkinect/
https://github.com/jawj/websocket-kinect

#14

How big was that SD Card that you installed Debian on and as a secondary q, why is it so huge?

base@factoryfactory ~/Downloads $ zcat beaglebone_debian_of_cloud9_no_FIBERS.img.gz | sudo dd of=/dev/mmcblk1p1 bs=64M
dd: writing `/dev/mmcblk1p1’: No space left on device
0+117255 records in
0+117254 records out
3903848448 bytes (3.9 GB) copied, 1469.91 s, 2.7 MB/s

Did I do something wrong or does it just require a 8GB microSD?

#15

I am pretty sure I have it on some 4GB cards but I did buy some 8GB ones later. I was running out of space at one point as I was pulling OF from github. There may be a lot of build files as I was also compiling a bunch of NFC stuff, building Cloud9/node from scratch…

#16

Actually, I think this crapped my sd card, as I see this when I stat it now:

stat /dev/mmcblk1
File: `/dev/mmcblk1’
Size: 0 Blocks: 0 IO Block: 4096 block special file
Device: 5h/5d Inode: 23308 Links: 1 Device type: b3,8
Access: (0660/brw-rw----) Uid: ( 0/ root) Gid: ( 25/ floppy)
Access: 2012-03-07 07:56:10.156049959 -0800
Modify: 2012-03-07 07:56:10.156049959 -0800
Change: 2012-03-07 07:56:10.156049959 -0800

Oops. GParted won’t let me partition it and errs out trying to erase it. Ouch.

#17

That sucks :frowning:

@xach (hope you are on notify) - what size card did you use?

#18

Hi Jvcleave, i m trying to use OF within a Pandaboard. Actually i’ve installed Ubuntu server 11.10 on my PandaboardES, following these instructions https://sites.google.com/site/andrewssobral/pandaboard ; but i i had a lot of troubles . I have used Damianz armv7 version of Openframework from Arturo github repo. I had issue with OpenGLES because i had omap sgx opengles lib installed instead of libgles-mesa. Running the script install_dependencies.sh was succesful. But when i create a new codeblocks project with the python script (that in path_to_openframeworks007/scripts/linux) and compiled the project, i receive error about vfp not matching . maybe it’is not a good idea run the python script for create projects…? And maybe the linux distro that you used(this: http://elinux.org/BeagleBoardDebian#SGX-Video-Acceleration ) is also suited for the PandaBoardES? this shuold helpme a lot. Maybe someone else has working with a Pandaboard and can give me some more hints…

Cheers

#19

Actually the one I used was this one (but for squeeze I believe)
http://elinux.org/BeagleBoardDebian#Debian-armhf-port

I wonder if the libraries provided in the linuxarm7 branch are compiled using these flags
-mfloat-abi=hard -mfpu=vfp

that don’t match up with your system?

#20

thanks for the info.

I wonder if the libraries provided in the linuxarm7 branch are compiled using these flags
-mfloat-abi=hard -mfpu=vfp

yes linuxarm7 use this flags . looking at elinux link i can see:

Port Details: http://wiki.debian.org/ArmHardFloatPort
Status: [http://wiki.debian.org/ArmHardFloatTodo

](http://wiki.debian.org/ArmHardFloatTodo)

maybe i have to use this .