Open Source Meeting/2010-05-25

== Agenda Tuesday, 25 May 2010 ==
# Weekly Snowglobe update - Merov Linden
# Source_contributions wiki page needs to be updated.
# Possible future building problem, llqtwebkit API is going to change. media_plugin_webkit.cpp revision 3376
# Should llqtwebkit be merged into snowglobe?
#* It would solved the 1.x and 2.0 version problems.
#* Only need to convert qmake files to cmake.
#* Add "llqtwebkit" under indra directory
=== Jira Issues ===
# After discussion, r3349 was reverted. Do these still need discussion (e.g. for viewer-external)?:
## Changeset 3349 added unit test to llplugin but forgot LL_TESTS, resulting in a build failure in lltut.cpp
## Tries to build pulseaudio when pulseaudio not found.
## Standalone build failure r3349, cmake error on SLPlugin
## Bulding of integration_tests when not needed
## Notifier Issue Since [sldev-commits] r3349
# Unscheduled SNOW issues triage: would be good to go with the community through those and decide for some what we should take immediately (2.0 or 1.4) or later.
== Transcript ==
[14:00]	:	hello everyone
[14:00]	:	Hmmm...where is Oz...*snifs the air*
[14:00]	:	Hi merovl
[14:00]	:	hello poople
[14:00]	:	people
[14:00]	:	hmm
[14:01]	:	I see that someone wrote an agenda
[14:01]	:	http://wiki.secondlife.com/wiki/Open_Source_Meeting/Agenda
[14:01]	:	/me tries to look insoent...
[14:01]	:	:-)
[14:01]	:	"insolent"?
[14:02]	:	"insolvent"
[14:02]	:	Innocence
[14:03]	:	can't spell today
[14:03]	:	o "innocent" ... that's *very* different :)
[14:03]	:	/me chuckles
[14:03]	:	"Why do you have sug big eyeglasses, Techwolf?"
[14:03]	:	see where typos can lead you... :)
[14:03]	:	"The better to see you with my dear". :-D
[14:03]	:	k, I can't seem to find Oz on IRC
[14:04]	:	so, let's start
[14:04]	:	My status: 100% of my time on making SG2.0 better by porting things
[14:05]	:	Thickbrick, in one day, I missed seeing some text three times....it was time to get my eyes check.
[14:05]	:	thanks *a lot* to those who contributed patches and updated the matrix
[14:05]	:	/me msiels
[14:05]	:	I haven't reviewed/committed them yet but that hasn't gone unnoticed :)
[14:05]	:	I threw 10 or so your way Merov.
[14:06]	:	I'm trying to get all the small and easy one that no ne wants out so we have a smaller and cleaner view
[14:06]	:	going fine so far
[14:06]	:	I saw Techwolf, thanks a lot
[14:06]	:	this helps
[14:07]	:	I added 2 "big" tasks to the list though:
[14:07]	:	- Easybuild
[14:07]	:	Also still listed is the ones for 2.0.2. You might want to see if those can get commited to viewer-public so we don't have to re-do them again when the next big merge comes up.
[14:07]	:	What's Easybuild?
[14:07]	:	- lltexturefetch/cache qudit
[14:07]	:	*audit*
[14:07]	:	/me fishes the JIRA records
[14:08]	:	/me searches WIKI
[14:08]	:	easybuild was a project that imporve the downloading of prebuilds. I *think* what happen was a lot of code got moved around and cmake handle more of that function.
[14:08]	:	easy build is a some-time-ago attemp to cmakeify the build process
[14:08]	:	- Easybuild: SNOW-674
[14:08]	:	http://jira.secondlife.com/browse/SNOW-674 [#SNOW-674] Merge Easybuild back into Snowglobe 2.0
[14:09]	:	easybuild was merged in all code...or so I thought?:?????
[14:09]	:	yeah
[14:09]	:	- texture audit: SNOW-688
[14:09]	:	http://jira.secondlife.com/browse/SNOW-688 [#SNOW-688] Port of lltexturefetch changes to SG 2.0 : Stability and performance of texture fetching
[14:10]	:	so, on easybuild: the goal was to get rid of develop.py as much as possible, making it possible to build the viewer using cmake only
[14:10]	:	we never really got there but develop.py wasn't doing much
[14:11]	:	that was merged into Snowglobe in July last year and, internally, more was done by some folks but the project sort of stalled
[14:11]	:	so it never made it into viewer which is a shame
[14:11]	:	I don't use devolopy.py on my builds. To get rid of it, just need to improve cmake with sane defaults and let the LL build system pass any customazing parameters.
[14:12]	:	Techwolf: even to build SG2.0?
[14:12]	:	Yes.
[14:12]	:	I don't use develop.py, either
[14:12]	:	I build 2.0 without it.
[14:12]	:	you just use cmake to create the project then and build?
[14:12]	:	I thought running cmake caused it to run develop.py first
[14:12]	:	yep ... after patching a bit
[14:12]	:	Yep. cmake configure then "make"
[14:13]	:	The "make" part is a cmake build marcro on gentoo.
[14:13]	:	(all the dependencies are coded in CMakeLists.txt files)
[14:13]	:	OK, I see
[14:13]	:	just configure then make
[14:14]	:	I still patch about 1 to 6 build issues however. Most are related to upgraded lib packages.
[14:14]	:	well, no one internally looked too deeply into easybuild so I took over the task of making an assessment and, eventually, port it internally in viewer-public
[14:14]	:	but I think those have to be patched whether one's using develop.py or not
[14:14]	:	so it can make its way to viewer-external and SG2.x
[14:15]	:	Correct boroondas, they are build issues with all version of the code.
[14:15]	:	I'd like to have al those build issues fixes in the trunk
[14:16]	:	so that I don't stomp all over them *again* when doing that easybuild work
[14:16]	:	well, the patches are on jira ...
[14:16]	:	one question to you guys though: do you think it's a good use of my time?
[14:16]	:	My "cmake configure" is: cmake -C /var/tmp/portage/games-simulation/emerald-1.3.2.2006/temp/gentoo_common_config.cmake -DCMAKE_INSTALL_PREFIX=/usr -DSTANDALONE:BOOL=TRUE -DAPP_SHARE_DIR:STRING=/usr/share/games/emerald -DAPP_BINARY_DIR:STRING=/usr/share/games/emerald/bin -DOPENAL=ON -DGSTREAMER=ON -DDBUSGLIB=ON -DUSE_GOOGLE_PERFTOOLS=OFF -DFMOD:BOOL=FALSE -DGCC_DISABLE_FATAL_WARNINGS:BOOL=TRUE -DPACKAGE:BOOL=FALSE -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_DO_STRIP=OFF -DCMAKE_USER_MAKE_RULES_OVERRIDE=/var/tmp/portage/games-simulation/emerald-1.3.2.2006/temp/gentoo_rules.cmake /var/tmp/portage/games-simulation/emerald-1.3.2.2006/work/linden/indra
[14:16]	:	Overkill yes, but this is withen a build system.
[14:16]	:	i.e. will it make building that much easier? (that's my overall goal)
[14:16]	:	Well, I don't know what of easybuild might be missing ....
[14:17]	:	doesn't sound like a great endorsment of that effort ;)
[14:17]	:	whenever I look at the build system I get quickly lost, so no opinion if easybuild help or not, but generaly I think making building easier is a very high priority.
[14:17]	:	well, looks like a good idea to assess where it stands then
[14:18]	:	what I'd like in the future (not a pressing issue) is keep the source tree completely pristine, i.e. unpack artwork and prebuild stuff to somewhere else
[14:18]	:	Heh, "develop.py -G vc80 configure" isn't too painful.
[14:18]	:	Boroondas +1 on this
[14:18]	:	One just need to look at devolop.py and make sure the cmake will default to that when not using devolop.py
[14:19]	:	well, the prebuilt stuff isn't in indra/
[14:19]	:	but the artwork is
[14:19]	:	the prebuilt stuff being: the 3rd party libs?
[14:19]	:	yeah
[14:19]	:	whatever the build system downlaods
[14:19]	:	The artwork needs to stay in unfortully if they ever going to get cpack working.
[14:19]	:	that's what the autobuild project is all about (building the 3rd party libs in a clean open way)
[14:20]	:	Really?!?!! That what I've been thinking about for the past week.
[14:20]	:	well, artwork can be unpacked to a folder outside of indra and copied at the packaging stage into packaged/
[14:20]	:	yeah, something like that
[14:20]	:	I told about it some meetings ago Techwolf
[14:20]	:	One project to put forth was to down the third party software source code and build it as part of th ebuild process.
[14:21]	:	the idea is, that I can run `hg status` in the source tree (or equivalent svn command until we use mercurial) and see only my uncommited changes, nothing else.
[14:21]	:	(hi)
[14:21]	:	Would make testing upgraded liberies a lot easer. No more having to wait for LL to put out upgraded prebuild libs.
[14:21]	:	Techwolf: last time I told you about it, you said you don't care as you want to use the OS libs
[14:22]	:	I'm sort of confused now
[14:22]	:	/me quickly drowns.
[14:22]	:	(hi Aleric)
[14:23]	:	/me was on the phone for a sec...
[14:23]	:	k, back up a bit
[14:23]	:	Umm....If I did comment on something like that, I think it was in reference to the current build system. Right now, standalone works for Linux. However, for windows builders, having to auto-build the liberieas would be nice for them.
[14:24]	:	s/to/it
[14:24]	:	ah, OK, I understand now
[14:24]	:	WHy you want Windows users to build the libraries?
[14:24]	:	We want to give them choice
[14:24]	:	Upgraded liberies can be injected into the build.
[14:25]	:	so that if something goes wrong (new compiler, new OS, old one we don't support) they have a standing chance of building a working viewer
[14:25]	:	Current way. Build liberies seperate, then patch some cmake files to pick it up and not download the one from LL.
[14:26]	:	right now it's a little "hail mary" if you don't use our prebuild libs :/
[14:26]	:	Hmm.. I was thinking kibrary debugging but, okay.
[14:26]	:	for no good reason really
[14:26]	:	lib debugging also, absolutely
[14:26]	:	one example of why this is useful is the dependancy on VS2005 (boost issues)
[14:26]	:	OH....and have a FULL debugging setup. No half debug where the sl bin is debug and the lib are not.
[14:26]	:	Yeah
[14:27]	:	+1
[14:27]	:	Merov, better crash reports too as a side effect.
[14:27]	:	yeap, that's all quite a bit of work to get there with autobuild
[14:27]	:	Just worried about losing ability to use Express Editions
[14:28]	:	I threw easybuild in there as well and wondering if I'm making things mor complicated...
[14:28]	:	Well, before we can answer that, we have to know what if easybuild didn't already make it into 2.0 (if anything)
[14:29]	:	s/if/of/
[14:29]	:	From someone who just built the viewer for the first time my sticking points were poor/missing instructions and illustrations
[14:29]	:	(Programming isn't my life, it's an interest.)
[14:29]	:	Well, I think on that jira, more info on what easybuild was about and what it current status is. Right now, all I know about easybuild is I though it was one open source congrubitro doing some changes to the build system. What they was I wasn't sure. Now I'me learning it was a outsource project of LL that got half-way done. Am I correct?
[14:30]	:	k, looks like me digging through this Easybuild story and get a clean picture is useful to us
[14:30]	:	I'll propose a path then and we'll decide what to do
[14:30]	:	sounds good
[14:30]	:	Techwold, I think they outsourced it to Kitware (the makers or CMake)
[14:31]	:	next new "big" task is SNOW-688
[14:31]	:	Merov. +1. Find out what easybuild was and its history.
[14:31]	:	Ardy, why/how would autobuild break compatibility to Express editions?
[14:31]	:	hi all
[14:31]	:	SNOW-688
[14:31]	:	Oh, its way past 10 minutes after the hour. *marks Oz tardy*
[14:31]	:	where's that bot when you need it...
[14:31]	:	:-)
[14:31]	:	I don't know what is creating the solution files I get after running develop.py.
[14:32]	:	http://jira.secondlife.com/browse/SNOW-668
[14:32]	:	[#SNOW-668] Port of SNOW-352 to SG 2.0 : Add optional double-click teleport
[14:32]	:	Ardy: it's cmake
[14:32]	:	OKay then. :-)
[14:32]	:	called by develop.py
[14:33]	:	k, SNOW-688 is hinging on what we discussed at this meeting last week
[14:33]	:	I think that was big advantage of cmake. With one file, all required files to build are generated. I don't think automake could do that.
[14:33]	:	I really looked at all this code (mostly Aleric's) and some was co-opted by Bao, some not and it's a mess :/
[14:34]	:	oh, I pasted the link to the wrong one...
[14:34]	:	I'm wary of porting wholesale as I said last week but I really feel this threaded code needs analysis
[14:35]	:	http://jira.secondlife.com/browse/SNOW-688
[14:35]	:	[#SNOW-688] Port of lltexturefetch changes to SG 2.0 : Stability and performance of texture fetching
[14:35]	:	That one needs a C/C++ guru.
[14:36]	:	Merov, did some of it fail a review by Bao, or it's just that he never got to it?
[14:36]	:	Thickbrick: some he did diferently, some he disagreed with, some he was wory of taking late (?) in the project
[14:37]	:	but in the end, as Aleric said on list, there's a very ugly way in how we handle threads and mutexes and that was the cause of countless bugs
[14:37]	:	really bad ones...
[14:37]	:	agreed
[14:38]	:	You can hire me if you want :/
[14:38]	:	Pay Aleric to redo/refactor that code. Would fix numerious bugs and resednet compaints.
[14:38]	:	resendents
[14:38]	:	I guess I can't answer that question on the spot :)
[14:39]	:	Imprudence took the http-texture code from snowglobe 1.3 for their 1.3 release, and they are having a lot of bugs in it that we didn't see in Snowglobe - I'm guessing they are just tickling this fragile code different than us
[14:39]	:	Inprudunce is using 1.23 code base.
[14:40]	:	I think that's the crux of it: tinkering with that code without doing a complete analysis is crazy, it's too fragile...
[14:40]	:	we know that all too well
[14:40]	:	Techwolf yes, but with http-texture pipeline ported in to it
[14:41]	:	k, well, I note the interest hinging on proper incentives
[14:41]	:	/me is not sure how to say that
[14:42]	:	we discussed it last Thursday and it's not off the table,
[14:42]	:	Its call "incentive to redo work i've allready done"
[14:42]	:	I'd say it's fair considering how hard it is...
[14:43]	:	Oz working/thinking on this so I think we should move on
[14:44]	:	time check: I've a hard stop @ 3pm today guys (child duty)
[14:44]	:	so forgive me in advance if I bail out a tad fast
[14:44]	:	about the texture pipeline patches, can you get Bao to comment on the relevant jiras (or the central 2.0 jira) on what he thinks needs to be done differently?
[14:45]	:	considering the goal here is to have something that can be taken upstream
[14:45]	:	Thickbrick: yes, +1, good idera
[14:45]	:	*idea*
[14:46]	:	llqtwebkit: change in API
[14:46]	:	that's what tags are for
[14:46]	:	hmm, I didn't noticed that change
[14:47]	:	but, anyway, a plugin system should be resilient to API versioning
[14:47]	:	Its commented out for now....but look at the commet.
[14:47]	:	http texture code is b0rked in 1.3 anyway
[14:47]	:	also, I'm not in favor of putting plugin codes in the same repo as the viewer as the goal of a plugin architecture is to decorrelate things
[14:47]	:	very crashy
[14:48]	:	and since 1.40 sim is going to enable them, it's not going to be fun for sg 1.x
[14:48]	:	All the other media plugins are in the source. Just llqtwebkit issn't.
[14:49]	:	it's because it's under gitorous
[14:49]	:	/me needs to fish for the URL
[14:49]	:	http://hg.secondlife.com/llqtwebkit/
[14:49]	:	actually, the problem is that the webkit plugin *is* in the source, but not the llqtwebkit library it links against
[14:49]	:	if you want to decorrelate them, you have to keep the API stable. Seperate repositories don't help too much there, when upstream can easily change them in-sync.
[14:50]	:	(or maybe I misunderstood Techwolf?)
[14:50]	:	Thick, nope. you put it better in words then I did.
[14:50]	:	is it a change in the plugin api, or change in the llqtwebkit api?
[14:51]	:	I do not know Thickbrick, I need to ask
[14:51]	:	I don't know what this "WOB" is about
[14:52]	:	Right now, llqtwebkit has no versiing, so a cmake check for what version the llqtwebit lib is and set some defines is not possaible now.
[14:52]	:	I guess "WOB" is short for "indow open behavior"
[14:52]	:	*window
[14:53]	:	This?: 5 days monroe_linden monroe_linden Added a way to handle javascript window.open() reasonably.
[14:53]	:	I see that much in the "setWin<etc>" name
[14:53]	:	but what it covers, don't know
[14:53]	:	Eeek....sounds like making it popup compatiable. Watch otu for the ads. :-)
[14:54]	:	k, I'll investigate but please, do ask on opensource-dev!
[14:54]	:	so that I don't play the role of the stupid messenger... (getting shot in the process...)
[14:55]	:	/me grins
[14:55]	:	thanks :)
[14:55]	:	But this _is_ your role. Liasion for LL and open source folk.
[14:55]	:	:-)
[14:55]	:	lol
[14:56]	:	it's my role to help the communication flow *freely*, not to be the bottleneck for comm...
[14:56]	:	:-P
[14:56]	:	I'd happily stay out of the comm flow as much as possible...
[14:57]	:	so that people talk directly with each other (that scales, me in the middle doesn't)
[14:57]	:	/me ndos
[14:57]	:	did we skipped "Source_contributions wiki page needs to be updated."?
[14:58]	:	k, I've a couple of minutes left :/
[14:58]	:	can we tab the rest for Thursday?
[14:58]	:	Won't be here thursday.
[14:58]	:	I won't that is.
[14:58]	:	Lots of "corrupted assets" crashing viewers over the weekend. Including SG1.4.0 and V2.0.1 - SNOW-493 might help
[14:58]	:	http://jira.secondlife.com/browse/SNOW-493 [#SNOW-493] LLDataPackerBinaryBuffer::unpack*() check for buffer overflow, then read buffer regardless
[14:59]	:	I'll be on my way to Huntsville, AL.
[15:01]	:	I am using that patch in SG1.4.0 now. Had to edit it some.
[15:01]	:	Don't think I have been exposed to the bad assets sence I rebuilt though.
[15:01]	:	animations?
[15:02]	:	I may try exposing myself. I have logs.
[15:02]	:	There was a call for stability patches/issues on opensource-dev, might want to mention it there.
[15:02]	:	I think so, yes.
[15:02]	:	I think Robin's method of testing this is idling at Ahern
[15:02]	:	Ahern is a good place for such exposure.
[15:02]	:	They usually hit Ahern then Lusk.
[15:03]	:	Help Island Public, works too, I heard.
[15:03]	:	Whats Ahern?
[15:03]	:	A welcome area Region.
[15:03]	:	When they hit Lusk they do get lots of abuse reports and then suspended.
[15:03]	:	one of the oldest still in use
[15:04]	:	I think merov bailed.
[15:04]	:	ahern/morris
[15:04]	:	he did say he had a hard time limit
[15:04]	:	around that area
[15:05]	:	Aleric, do you think the lack of the fix for SNOW-103 could be causing this crash in Imprudence? http://redmine.imprudenceviewer.org/issues/293
[15:05]	:	http://jira.secondlife.com/browse/SNOW-103 [#SNOW-103] Assertion 'bytes_read == sizeof(Entry)' fails
[15:05]	:	Would like if those crashfixes patches include a llinfo UUID in there somewhere so an admin can AR them.
 
Generated with SLog Wikifier