Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

PandaBoard bring up guide #108

Open
pizthewiz opened this issue Jan 9, 2013 · 27 comments
Open

PandaBoard bring up guide #108

pizthewiz opened this issue Jan 9, 2013 · 27 comments

Comments

@pizthewiz
Copy link

to help get our PandaBoard comrades up and running on the RPi branches, i started noting the steps i followed in the PandaBoard Getting Started to get everything up and running. it is far from complete and along the way i hit a few snags and inconsistencies with the RPi bring-up and thought it might be worth seeking some help from @arturoc and @kalwalt.

granted i guessed the build steps, i had a few questions:

@arturoc
Copy link

arturoc commented Jan 9, 2013

we are going to remove that step from install dependencies since the new makefiles compile the library themselves when you compile the first project or whenever there are changes to any dependency. might be good though to note in the setup guide that you can use make -j2 (or even 3 or 4) to get faster compiles

@kalwalt
Copy link

kalwalt commented Jan 9, 2013

@pizthewiz Project Generator is not working at the moment for the Pandaboard . i m working on it https://github.com/kalwalt/openFrameworks/tree/bugfix-kalwalt-projectGenerator and the issue #3 i have to update this basically because i don't understand why i can't get it to works.
Also me and @Meach are working on setup guide for the sd-card so i think we can collaborate.

@arturoc
Copy link

arturoc commented Jan 9, 2013

perhaps for e-linux we can do a simple script that just copies the makefile, config.make and src and bin foldersfrom the templates folder to the project location passed as an argument. since most development is going to be done from the console, at least the project creation, this could be easier and even more useful than the graphical project generator

@kalwalt
Copy link

kalwalt commented Jan 9, 2013

@arturoc i remember that this kind of script was already for previous OF version for 'standard' platform. Would be useful this script until we have or not PG.

@danzeeeman
Copy link
Member

At the last IRC meeting Zach was talking about creating a command line PG.
Maybe we can start that? But the project generation is rather simple for
this platform basically just copying files into a new directory.

On Wed, Jan 9, 2013 at 8:03 AM, Walter Perdan [email protected]:

@arturoc https://github.com/arturoc i remember that this kind of script
was already for previous OF version for 'standard' platform. Would be
useful this script until we have or not PG.


Reply to this email directly or view it on GitHubhttps://github.com//issues/108#issuecomment-12043392.

"I believe in science. Unlike mathematical theorems, scientific results
can't be proved. They can only be tested again and again, until only a fool
would not believe them.

I cannot prove that electrons exist, but I believe fervently in their
existence. And if you don't believe in them, I have a high voltage cattle
prod I'm willing to apply as an argument on their behalf. Electrons speak
for themselves."

-- Seth Lloyd: Quantum Mechanical Engineer, MIT

/.

@pizthewiz
Copy link
Author

great, thanks for the discussion guys it really helps to get an idea of how this is coming together. let me know if and how i can help and i'll be there, in the interim i'll update the PandaBoard Getting Started page with some of the comments here and wait until the new Makefile stuff lands to provide more specifics.

@pizthewiz
Copy link
Author

after copying the template Makefile into the emptyExample via cp ~/sandbox/openFrameworks/scripts/linux/template/linuxarmv7l/Makefile . it looks like export/linuxarmv7l/libs must be created explicitly or make Debug fails:

piz@pandaboard:~/sandbox/openFrameworks/examples/empty/emptyExample$ make Debug
Linking bin/emptyExample_debug for linuxarmv7l
mkdir -p bin
g++ -o bin/emptyExample_debug obj/linuxarmv7l/Debug/src/main.o obj/linuxarmv7l/Debug/src/testApp.o  -Wl,-rpath=./libs -L../../../libs/kiss/lib/linuxarmv7l -L../../../libs/poco/lib/linuxarmv7l -L../../../libs/rtAudio/lib/linuxarmv7l -L../../../libs/tess2/lib/linuxarmv7l ../../../libs/openFrameworksCompiled/lib/linuxarmv7l/libopenFrameworksDebug.a   -lfreeimage  ../../../libs/kiss/lib/linuxarmv7l/libkiss.a ../../../libs/poco/lib/linuxarmv7l/libPocoNetSSL.a ../../../libs/poco/lib/linuxarmv7l/libPocoNetSSLd.a ../../../libs/poco/lib/linuxarmv7l/libPocoCrypto.a ../../../libs/poco/lib/linuxarmv7l/libPocoCryptod.a ../../../libs/poco/lib/linuxarmv7l/libPocoData.a ../../../libs/poco/lib/linuxarmv7l/libPocoZipd.a ../../../libs/poco/lib/linuxarmv7l/libPocoUtil.a ../../../libs/poco/lib/linuxarmv7l/libPocoXMLd.a ../../../libs/poco/lib/linuxarmv7l/libPocoDatad.a ../../../libs/poco/lib/linuxarmv7l/libPocoNetd.a ../../../libs/poco/lib/linuxarmv7l/libPocoNet.a ../../../libs/poco/lib/linuxarmv7l/libPocoFoundationd.a ../../../libs/poco/lib/linuxarmv7l/libPocoXML.a ../../../libs/poco/lib/linuxarmv7l/libPocoUtild.a ../../../libs/poco/lib/linuxarmv7l/libPocoDataSQLite.a ../../../libs/poco/lib/linuxarmv7l/libPocoFoundation.a ../../../libs/poco/lib/linuxarmv7l/libPocoDataSQLited.a ../../../libs/poco/lib/linuxarmv7l/libPocoZip.a ../../../libs/rtAudio/lib/linuxarmv7l/libRtAudio.a ../../../libs/tess2/lib/linuxarmv7l/libtess2.a  -pthread -lz -lgstapp-0.10 -lgstvideo-0.10 -lgstbase-0.10 -lgstreamer-0.10 -lgmodule-2.0 -lgthread-2.0 -lxml2 -ludev -lrt -lsndfile -lopenal -lGLESv1_CM -lGLESv2 -lEGL -lportaudio -lasound -lm -lpthread -lX11 -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgio-2.0 -lpangoft2-1.0 -lpangocairo-1.0 -lgdk_pixbuf-2.0 -lcairo -lpango-1.0 -lfreetype -lfontconfig -lgobject-2.0 -lglib-2.0 -lmpg123   
cp -r ../../../export/linuxarmv7l/libs bin/
cp: cannot stat `../../../export/linuxarmv7l/libs': No such file or directory
make: *** [after] Error 1

and oddly make (which is just a make Release i think) blows up on something else entirely, the output is really long so here is a gist

@pizthewiz
Copy link
Author

currently g++ is fed -mtune=cortex-a8, the PandaBoard is cortex-a9 no?

@kalwalt
Copy link

kalwalt commented Jan 9, 2013

yes this happens because it doesn't find the ./../../export/linuxarmv7l/libs. if you create that folder the issue disappear(at list worked for me)

also this is an issue.

@pizthewiz
Copy link
Author

is that something generic the Makefiles or build process should do, or something we just need to setup in the raspberrypi-develop branch?

@kalwalt
Copy link

kalwalt commented Jan 9, 2013

I hope that this is temporary! this not happens with linux64 or linux in general , but i think we are in a develop stage...

@bakercp
Copy link
Member

bakercp commented Jan 9, 2013

@pizthewiz and @kalwalt just pushed these files into the develop-rapsberrypi branch. This is an odd issue, but that should prevent the issue for others until we figure out what to do about shared libs.

@kalwalt
Copy link

kalwalt commented Apr 2, 2013

hi @bakercp @arturoc @pizthewiz i have updated the wiki doc with our job (mine and of @Meach) , please check if they are English grammatical errors(will be..) or other and if we can improve it.

@damian0815
Copy link

The experienced Beagle/Panda developer in me squirms at the mention of apt-get dist-upgrade in https://github.com/openFrameworks-RaspberryPi/openFrameworks/wiki/PandaBoard-Getting-Started. In my experience certain things like sound and 3d acceleration are extremely release-specific, which makes apt-get dist-upgrade a bad idea. It will make the guide likely out of date very soon.

@kalwalt
Copy link

kalwalt commented Apr 3, 2013

so you does not recommend this? You have had bad experiences doing the upgrade @DamianNZ ?

@Meach
Copy link

Meach commented Apr 4, 2013

The reason why we put the 'apt-get dist-upgrade' is because it is recommended before installing the TI OMAP PPA (https://groups.google.com/forum/?fromgroups=#!topic/pandaboard/vKunvhMNV8k)
But if you think it would bring some trouble soon, we can omit this step and instead add a comment for the user to be sure that he is using Ubuntu 12.04 version?

@damian0815
Copy link

The problem with dist-upgrade is that once Ubuntu 12.10 or 13.04 comes out, dist-upgrade will upgrade the whole system to the latest version, which will possibly break everything else in the guide. I think the issue is that given the lack of documentation elsewhere, time-specific forum posts (like the one you link to) that are supposed to have a short lifetime, become tutorials or bring-up guides that stick around for years, meaning some poor bastard in the future goes and downloads Ubuntu 12.04 because the guide told them it worked against that, runs apt-get dist-upgrade and suddenly finds themselves using Ubuntu 14.04, with everything broken.

TL;DR: yes. If the purpose of dist-upgrade in that post is to make sure the user has 12.04, then tell them at the start of the guide to install a fresh copy of 12.04, and omit the dist-upgrade step. (You should verify that that works, though). This will ensure that this guide will work at least until you can no longer download 12.04.

DO NOT try and write for flexibility, as flexibility=fuckup, especially for people who've a) never worked with an ARM board, b) never worked with a computer that doesn't have a hard disk and c) are not very familiar with Terminal. Make a single, as short as possible list of steps to make stuff work from zero (ie blank SDcard) that DOES NOT rely on the state of external dependencies (dist-upgrade is such an external dependency). I would suggest that the guide is overly long, and could be shortened -- the discussion at the top about versions is confusing at best, it should just say YOU MUST USE UBUNTU 12.04 OR ELSE, without going into detail why.

For reference, here's my bring-up guide for my linux-pandaboard branch: https://github.com/damiannz/openFrameworks/blob/damian_linuxarm7_softfp/readme.arm.pandaboardubuntu That is the shortest set of steps I came up with that was 100% reliable, and I reached it by fucking up with all sorts of other versions. (At the time there were no hardfloat graphics drivers).

@arturoc
Copy link

arturoc commented Apr 5, 2013

actually dist-upgrade in ubuntu doesn't change the version, only upgrades all the packages to the latest version in the current OS version, the one you have configured in /etc/apt/sources if you change that and then do a dist-upgrade then it'll update to the next version but it's safe to do it if you don't change that config file

@underdoeg
Copy link

@arturoc doesn't that also depend on your settings how dist-upgrade behaves? By default ubuntu does not automatically upgrade to a new distro but you can by enabling it in the update settings?

@damian0815
Copy link

hmm, I'm 99% certain I've run dist-ugrade and had my 11.10 replaced with 12.04 thereby breaking my pandaboard.

@damian0815
Copy link

Actually come to think of it, if you log in with a terminal and there's a new Ubuntu version available, the terminal says on login 'There's a new Ubuntu version available! Run sudo apt-get dist-upgrade to install it'.

@kalwalt
Copy link

kalwalt commented Apr 5, 2013

@DamianNZ i remove that line "dist-upgrade" if think it's not necessry at all.

@underdoeg
Copy link

Though, now that I think of it, isn't the command to do a release upgrade the following: sudo do-release-upgrade

@kalwalt
Copy link

kalwalt commented Apr 5, 2013

for clarification look at this for dist upgrade:

http://www.linuxquestions.org/questions/fedora-35/apt-get-question-dist-upgrade-vs-upgrade-219920/

and seems that you are right @underdoeg do-release-upgrade do the upgrade from one version to one higher:

http://www.ubun2.com/question/1266/how_upgrade_ubuntu_1110_1204

@damian0815
Copy link

@kalwalt cool, did you verify that it works?

@arturoc / @kalwalt / @underdoeg right, seems I was confusing do-release-upgrade with dist-upgrade, sorry, my bad.

@kalwalt
Copy link

kalwalt commented Apr 5, 2013

No worry @dammianz i want verify this . i will do a fresh install of everythingh in a new sdcard . For safety, I will not try with the sdcard that actually am using. Aniway i think that the wiki can shotened a bit and improved in clarity. I m sorry this is my first time that i collaborate for a wiki page!

@damian0815
Copy link

Hey, no problem, thanks for contributing!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

8 participants