IRCMeetings/october2010/6th october

Back to IRC Meetings

Scheduled : IRC meeting with students from Worcester State University.

Agenda:


 * A point about the first OOo4Kids build;
 * Present next steps : build libs including debug;
 * Prepare a ClassRoom about diff and patch;
 * (postponed next meeting) First steps with the work in progress : present the current patch
 * The WSU page
 * Misc questions

Attendees :
 * Eric Bachard dev, OpenOffice.org Education Project
 * Paul Szymborski - WSU Student.
 * Matt - WSU Student.
 * James Smith - WSU Student.

Log

[20:43] ericb2: we are ready, when ever you are.

[20:48] * ericb2 finishing the new wiki entry .. one minute

[20:52] The agenda : http://wiki.ooo4kids.org/index.php/IRCMeetings/october2010/6th_october

[20:53] thats ok

[20:53] let's start ?

[20:53] ericb2: ok

[20:54] ericb2: yes

[20:54] Next time, we'll prepare the next meeting earlier, means the agenda will be defined more early

[20:54] Point 1 : a point about the first OOo4Kids build

[20:55] Before to start, the log will be available here : http://wiki.ooo4kids.org/index.php/IRCMeetings/october2010/6th_october

[20:55] and I updated the agenda with two items : the WSU page, and Misc questions, including the next meeting date

[20:56] Who completed the build, who didn't  ?

[20:56] ericb2: we have all completed the build.

[20:56] We've all built the source.

[20:56] wow, nice. Including thre Windows build ?

[20:57] ericb2: all of our build were done on linux operating systems.

[20:57] paulsz ok

[20:58] So, the next step will be to rebuild libs including symbols, and start debugging

[20:59] then, we'll verify everyone is handy using diff and patch

[20:59] ericb2: okay

[20:59] Maybe someone has questions ?

[21:00] ericb2: could you explain what you mean by rebuilding the libs ?

[21:00] paulsz sure

[21:00] paulsz when you build OOo or OOo4Kids, the libs do not include usefull symbols helpfull for debugging purpose

[21:01] paulsz the libs are binaries, the office uses at runtime

[21:01] these binaries are a part of OOo4Kids, and every has a role

[21:02] ericb2: is there a command that needs to be run inorder to keep the symbols table?

[21:02] e.g. some are there for the visual graphic layer, some are Writer only; some are system abstraction layer (low level like file, socket, IO handling e.g.)

[21:03] paulsz first, your shell must now the build environment

[21:03] so first over all, you'll need to do :

[21:03] source LinuxX86_64Set.Env.sh

[21:03] or

[21:03] source LinuxX86Set.Env.sh   (32 bits case)

[21:04] then you'll have to go into the module containing the libs you want to modify

[21:04] for instance, you'll probably have to rebuild framework, sfx2 and sw

[21:04] include symbols, means the libs will contain the code + other stuff, allowing to trace line per line in runtime

[21:05] We'll use gdb as default, but DDD may be used

[21:05] ericb2: ok i have used gdb a little for C programs.

[21:06] paulsz that's the same tool, with the limitation : everything is public, means any method is reachable, unlike in the code, where they can be protected or private

[21:07] the most simple is to play with gdb using a simple C program, to verify everybody see how to use it

[21:07] we mostly will have to set breakpoints, including conditional breakpoints

[21:08] ericb2: ok sounds good.

[21:08] Proposed Action Item : make a ClassRoom about gdb

[21:08] First part : basics with a simple C or C++ program

[21:08] Second : build libs including symbols

[21:09] Third: run OOo4Kids in gdb per see, and familarize

[21:09] paulsz to answer the question about include symbols in a lib, the steps are :

[21:09] 1) know the lib you want to add symbols

[21:10] e.g. : libvcl

[21:10] this lib includes the "graphical and visual system layer"

[21:10] the cookbook :

[21:10] cd vcl

[21:11] mv unxlngi6.pro unxlngi6.pro_back  (make a backup of the stripped one)

[21:11] build debug=t

[21:11] Remark : debug="something but not empty", so you can put whatever, but not an empty string

[21:11] At the end, you should find, in unxlngi6.pro/lib, and new libvcl*.so

[21:12] the size will be around 100 MB, instead of around 5 MB by default

[21:12] Next step : add the lib in the set, the one you run

[21:12] To make things easier, you can proceeed as follow :

[21:13] use the pre-installed package format, say

[21:13] and fake the install in the instsetoo_native directory

[21:14] the need is to use PKGFORMAT environment varible, set as "installed"

[21:14] So :

[21:14] cd instsetoo_native

[21:14] mv unxlngi6.pro unxlngi6.pro_back

[21:15] export PKGFORMAT=installed

[21:15] build

[21:16] At the end, you'll find a preinstalled OOo4Kids in the instsetoo_native/unxlngx6.pro/OOo4Kids/installed/install /en-US

[21:16] ls will return you :

[21:16] ooo4kids1.0

[21:16] to launch OOo4Kids, just do :

[21:16] cd ooo4Kids1.0/program

[21:17] ./soffice

[21:17] The libvcl will be found in :=

[21:17] instsetoo_native/unxlngx6.pro/OOo4Kids/installed/install/en-US/ooo4kids1.0/basis1.0/program

[21:19] rename the libvcllx.so (or libvcli.so) in respectively libvllx.so_back (libvclli.so_back)

[21:19] and copy the one including symbols from vcl/unxlngx6.pro/lib in the current dir

[21:19] next launch, you should be able to run OOo4Kids and set breakpoints in vcl

[21:21] Any questions ?

[21:22] Of course, I'll help you to start

[21:24] ericbe: do you know any good gdb tutorials ?

[21:25] paulsz a lot are on the web, but maybe try together could help ?

[21:25] ericb2: okay.

[21:25] paulsz and if ok, you'll start writing a little documentation, for the next, including examples

[21:27] Do you want us to document what you just explained?

[21:28] dashboard5432: yes, good idea

[21:29] dashboard5432: the most simple is to use the log (it will be online) and experiment, notice everything, and ask if something goes wrong

[21:29] dashboard5432: question after question, I'll try to answer and help you to reach some autonomy

[21:30] dashboard5432: the goal is to teach you enough, that you can continue alone. Would be a great success if so

[21:32] ericb2: anything else we should know ?

[21:32] paulsz I don't know: you need to try and we'll see :)

[21:32] ericb2: ok.

[21:33] paulsz as you probably understood, the most simple is to set a breakpoint in a file you know, e.g. a control you'll hit, for sure

[21:33] paulsz I'll provide you examples, and we'll play with framework too

[21:33] ericb2: yes that would be a good starting point.

[21:33] paulsz at the end, we'll add libsw

[21:34] the problem is that libsw including debug is around 650 MB

[21:34] maybe a bit more

[21:34] so, this will slow down a but the runtime, but this will be harmless for us

[21:35] Next item ?

[21:39] ericb2: yes, lets continue.

[21:39] * ericb2 noticed WSU students use emacs ^^

[21:39] * ericb2 not :-)

[21:39] Next item is : prepare a ClassRoom about diff and patch

[21:42] diff and patch are tools you'll need to use very often. and I think a 30 minutes ClassRoom about them could help

[21:42] + some svn tips

[21:42] The goal : wrtie a wiki page for the next

[21:42] ericb2: yes that would help us greatly.

[21:43] Remains to find a date for the ClassRoom

[21:44] Count 30 minutes, for diff, and 30 min for patch ( both applied to the tree)

[21:44] ericb2: we suggest 2pm (our time) on next wednesday, if that is good for you.

[21:45] paulsz  Will be 8:00pm for me. Ok, let's try

[21:46] ericb2: is the classroom meeting going to be on this channel ?

[21:47] paulsz yes

[21:47] paulsz other students can join

[21:47] paulsz and play with us, but we'll play with the code, so the one interested to participate, will have to download the sources first

[21:51] paulsz next point ?

[21:51] paulsz can this point be postponed ?

[21:51] First steps with the work in progress : present the current patch

[21:51] paulsz imho this is too early

[21:51] eric2: yes we can skip.

[21:52] paulsz ok -< postponed to next week, or the next one maybe

[21:52] Next item : The WSU page

[21:52] Currently a draft, say work in progress :)

[21:52] http://wiki.ooo4kids.org/index.php/Applications/WorcesterStateUniversity

[21:53] but we'll improve progressively, and use this page to show what you did

[21:54] I firstly wrote a lot of items, and maybe we'll have to centralize them elsewhere, and add simple links in the WSU page, and concentrate on something closer to your work

[21:55] Questions around the WSU page ?

[21:56] I forgot:  all shools contributing will have its own page

[21:56] FYI, tomorrow, I'll start a new page with Seneca College from Toronto. Two students expected too, and the hour is the same as you. Maybe a neat thing :)

[21:57] ericb2: sounds like ooo4kids is growing fast.

[21:58] paulsz this is not the essential : more students and schools join, and more we'll have new devs joining

[21:58] paulsz I hope a day, students will know more than me, and replace me (why not :)

[21:59] Last item : Misc questions  ?

[21:59] ericb2: you have answered all of our questions for now.

[21:59] Ok, so next meeting ?

[22:00] ericb2: same time next week ?

[22:00] paulsz + the ClassRoom just before ?

[22:00] ericb2: yes if that is ok with you.

[22:01] paulsz I got Wednesday 13rd October, 2:00pm -> ClassRoom about gdb

[22:01] paulsz + IRC meeting one hour later, say 3:00pm  ?

[22:01] ericb2: yes.

[22:02] Ok, so I'll prepare the content on the wiki

[22:02] to save time and help you to prepare

[22:02] Other questions ?

[22:02] ericb2:  which wiki page are you talking about ?

[22:04] paulsz I'll add one : "next IRC meeting"

[22:04] paulsz + I'll add ClassRooms outlines and links

[22:05] ericb2: ok

[22:07:56]       Meeting over ?

[22:08:12]       ericb2:  yes thank you for your time.

[22:08:15] ericb2: thank you

[22:08] @all, the log of the meeting is available at : http://wiki.ooo4kids.org/index.php/IRCMeetings/october2010/6th_october