Open Development User Group/Archive/2011-04-06

13:01 	Oz Linden  	hi folks
  	Office Orb  	mail_to set to oz@lindenlab.com
  	  	Start transcription to oz@lindenlab.com
  	  	Transcript will be sent to: oz@lindenlab.com
  	Morgaine Dinova  	Hi Oz :-)
  	draconis.neurocam 	hello oz
  	Morgaine Dinova  	Hi Yuzuru :-)
  	  	Hi Draconis :-)
  	draconis.neurocam 	hello morgaine
  	Yuzuru  	Hi Morgaine.
13:02 	Oz Linden  	OPEN issues....
  	Morgaine Dinova  	How's autobuild coming along Oz?
13:03 	Oz Linden  	https://jira.secondlife.com/secure/IssueNavigator.jspa?reset=true&jqlQuery=project+%%3D+%%22Open+Development%%22+AND+assignee+is+EMPTY+AND+status+%%3D+%%22Awaiting+Review%%22++ORDER+BY+createdDate%%2C+priority+DESC
  	  	It's working pretty well
  	  	I think most people have adapted to it
  	  	I'm trying to get a few changes merged to better support VS Express edition devs
13:04 	draconis.neurocam 	woos
  	Oz Linden  	that's OPEN-50, and is coming along ok
  	Office Orb  	http://jira.secondlife.com/browse/OPEN-50
OPEN-50 As an Open Source developer I would like a single set of configurations, which work for both Visual Studio and Express version of VC.
  	Morgaine Dinova  	Is the new workflow given on the wiki? Or is it hidden behind the usual cmake .; make?
  	Oz Linden  	OPEN-57
  	Office Orb  	http://jira.secondlife.com/browse/OPEN-57
OPEN-57 As a developer, I want to be able to override the local platform for manipulating and testing the configuration
  	Oz Linden  	this is one I created, so I'll Accept it :-)
13:05 	  	that's really there for the autobuild devs to look at....
  	  	but I've been keeping them distracted with other things....
  	  	open-59
  	Office Orb  	http://jira.secondlife.com/browse/OPEN-59
OPEN-59 3p-google-breakpad does not build on suse linux
13:06 	Oz Linden  	autotools revision mismatch... an oil barrel full of worms
  	Morgaine Dinova  	Google needs a kick up the backside. Somehow they've got themselves into a position of using totally non-standard build tools for a long of things, and for some reaon nobody gives them a hard time over it.
13:07 	Oz Linden  	they're using a really old version?
  	  	am I reading that right?
  	draconis.neurocam 	they need their own version of oz, haha
  	Oz Linden  	now there's an idea....
13:08 	  	ahem..
  	Morgaine Dinova  	I notice a number of packages in Gentoo now that are being masked and 30-day removed with the stated reason "Lacks even a minimally reasonable build system". :P
  	Oz Linden  	I'm not sure what we'll be able to do about this one
13:09 	  	For autotools packages, we've taken the position that we should be able to start with the configure script rather than going all the way back to generating it from configure.ac....
  	  	but in this case that's a fail
13:10 	  	I'll Accept it for now, but I think we will probably just blame it on upstream and punt
  	Morgaine Dinova  	Agreed, most packages have perfectly fine ./configure, and don't need running autogen.sh even when it's present.
13:11 	  	Yep. You can't solve all the world's problems.
  	বরুনদাশ গুপ্তে  	What's the topic? (Sorry for being late.)
  	Morgaine Dinova  	Although finding an alternative is ... an alternative. :P
  	  	Hi Bor :-) Autobuild
  	Oz Linden  	now we're on open-54
  	Office Orb  	http://jira.secondlife.com/browse/OPEN-54
OPEN-54 Inconsistent CMake variable name for JsonCpp include dir(s)
13:12 	Oz Linden  	so you're just in time !
  	বরুনদাশ গুপ্তে  	Didn't we triage that one on Monday already?
  	Oz Linden  	apparently I didn't do anything with it
  	  	if I assign it to you will you do a patch, B?
  	বরুনদাশ গুপ্তে  	yep
13:13 	  	though, there's another issue with JsonCpp that's more important (I've noticed OPEN-54 while examining that other problem)
13:14 	  	wanted to write about that other problem on th ML, but didn't get to it, yet
  	Oz Linden  	well, if you want to add the bigger problem, feel free - list is probably a good idea
  	  	last is open-34
  	Office Orb  	http://jira.secondlife.com/browse/OPEN-34
OPEN-34 Handle empty files in install.cache gracefully
13:15 	বরুনদাশ গুপ্তে  	in short, we should not have json/include as include dir, because it contains a header that name-conflicts with a system header
  	Morgaine Dinova  	Uh oh.
  	Oz Linden  	what's the system header?
  	বরুনদাশ গুপ্তে  	features.h
13:16 	Oz Linden  	is it included as just "features.h" anywhere?
  	  	meaning the json version
  	বরুনদাশ গুপ্তে  	not in the viewer
  	  	I guess it's a standalone-only problem
  	  	dunno if json's features.h even gets packaged for the LL prebuilts
13:17 	Morgaine Dinova  	Bor, what's the workflow for a standalone build now, using autobuild? (Linux). I'll kick a build off now.
  	বরুনদাশ গুপ্তে  	the solution seems straight forward: use the parent dir as include dir and have the #includes for jsoncpp relative to that
  	Oz Linden  	yes
13:18 	বরুনদাশ গুপ্তে  	but ... the parent dir has changed names in the prebuilds recently, so I wonder what it's name is on various distributions
  	Oz Linden  	I consider standalone issues to be pretty low priority, but if you can come up with a fix that doesn't break our builds, I'm fine with it
  	বরুনদাশ গুপ্তে  	thus why I want to ask on the ML before proposing a fix
13:20 	Oz Linden  	it seems that there are some additional cases that open-34 needs to address (I had closed that)....
13:21 	  	which finishes the triage
  	  	Boroondas added a question about why STORM-968 was closed Won't Finish
  	Office Orb  	http://jira.secondlife.com/browse/STORM-968
STORM-968 An API to wrap objects for thread-safe access.
  	Oz Linden  	it's true that I should have put a comment on that... my apologies
  	বরুনদাশ গুপ্তে  	np
13:22 	Oz Linden  	Mostly because it's not worth the trouble in this case.
  	বরুনদাশ গুপ্তে  	ic
  	Oz Linden  	Especially given that Aleric has made clear that he's no longer interested in contributing
13:23 	  	It is a good problem to solve, but unless we're going to not only create a solution mechanism but also apply it everywhere, it doesn't add any value
13:24 	বরুনদাশ গুপ্তে  	How much work would it be to apply it everywhere?
  	Oz Linden  	everywhere that there _might_ be a threading issue?
  	Morgaine Dinova  	Wouldn't it make you develeopers' lives easier? And reduce bug rates, because a symmetric solution is adopted?
  	Oz Linden  	Years of work
13:25 	বরুনদাশ গুপ্তে  	And partial adoption would not lead to partial benefits already?
  	Oz Linden  	The problem with that is no threading/locking solution that is applied in only part of the code actually means anything
  	  	not really
  	বরুনদাশ গুপ্তে  	alright :-\
13:26 	Oz Linden  	Don't get me wrong... I do think it's a bullet we should bite, and the sooner the better
  	Morgaine Dinova  	That is true. But it's also true that hacky approaches to concurrency are a major cause of bugs. Don't defend them :P
  	Oz Linden  	but that patch is only the first 5%% of the solution, and didn't come with someone willing to even participate in the other 95%%
13:27 	  	there are many possible general solutions ... I'd rather let whoever takes on the whole problem decide what the solution should be
  	Morgaine Dinova  	Hard problem, if you're looking not only for code, but for devs who will maintain that code. They're not being paid after all.
  	বরুনদাশ গুপ্তে  	are the remaining 95%% difficult or just busywork? If the latter, maybe we could start a community hackatron
13:28 	Oz Linden  	Oh, that's not the sort of problem I expect open devs to solve
  	Morgaine Dinova  	Hehe, hackatron
  	Oz Linden  	no, they are most definitely not hackathon problems
13:29 	  	to do multithreaded code you have to get a real understanding of the big picture, or you can really mess things up
  	Morgaine Dinova  	I think Oz is right on that one. Concurrency issues really are a "Design authority knows best" thing.
  	বরুনদাশ গুপ্তে  	yeah
13:30 	Oz Linden  	There is no shortage of problems open devs can take on ....
  	Morgaine Dinova  	Not many things fall under that category, because not many things in software are the work of the devil. Concurrency + shared state is :P
13:31 	Oz Linden  	once rewrote unix pipe support for multiprocessors - did it with only one global lock that only had to be help briefly during accept....
  	Ima Mechanique  	sorry I'm late
  	বরুনদাশ গুপ্তে  	Work of the devil, hu? I guess that's why there are sometimes nasa demons?
13:32 	Morgaine Dinova  	Hi Mr Resident
  	  	chuckles
  	draconis.neurocam 	oz what would you say is the state of the documentation of autobuild on the wiki, does LL feel satisfied with it, or is there more to come?
  	Ima Mechanique  	please... call me Ima
  	  	I'm no one's mister
  	Morgaine Dinova  	lol
13:33 	Oz Linden  	I think we still need to update and simplify the environment docs, and the how-to-build-your-own-packages doc
  	Ima Mechanique  	could I get a nc of what I missed please? ;-)
  	Oz Linden  	mostly the individual platform how-to-build pages need to be trimmed down a _lot_
13:34 	  	I'll post a transcript when we're done, Ima
  	Ima Mechanique  	okay
  	Morgaine Dinova  	Because building is now simple, so previous levels of detail not needed? Or some other reason?
  	Oz Linden  	the Orb knows all.... :-)
  	  	yes, essentially
  	বরুনদাশ গুপ্তে  	They already got trimmed somewhat, didn't they?
13:35 	Oz Linden  	one of the major goals of autobuild is to make the commands for building simple and uniform
  	  	if you've got the tools installed correctly (which does differ by platform) the actual build is the same everywhere no matter what you're building
13:36 	Ima Mechanique  	it does that, but it can't make the setting up your environment simple and unifor :-( and that accounts for much of the wiki pages
  	Oz Linden  	I'm actually very big on linking in wikis - I hate pretty much any time something is duplicated
  	Ima Mechanique  	yeah, duplication leads to unsynced docs
  	বরুনদাশ গুপ্তে  	transclusions are sometimes useful, too, but tend to confuse unaware editors
  	Oz Linden  	I also want to rip out essentially everything about building old versions, and there's still a fair amount of that scattered around
13:37 	  	I use transclusions quite a bit
  	Ima Mechanique  	hmm shouldn't that just be archived somewhere
  	Oz Linden  	it's all archived... any time you edit a page, the old version is still there
  	Ima Mechanique  	I'm not a fan of destroying documntation, you never know when someone may need it again
13:38 	Oz Linden  	there's a tradeoff - if having the old stuff around makes it harder to find the current stuff, then it's a big net loss
  	Ima Mechanique  	true, but the wiki history requires a level of wiki-fu many do not have
  	Morgaine Dinova  	Nothing is ever destroyed in wiki. Although sometimes takes some finding
  	বরুনদাশ গুপ্তে  	Though, the page history isn't really the friendliest possible interface to get documentation for building past verions.
13:39 	  	because the documentation ususally lags behind the code, you can't really use the release dates as a code -> documentation version mapping.
  	Oz Linden  	I'm much more worried about current and new devs being able to quickly and easily become productive on what we're doing now than on preserving the ability to build something we stopped doing 2 years ago
  	Morgaine Dinova  	Is setuptools-0.6.15 goods enough for easy_install?
  	Ima Mechanique  	can wiki pages be renamed?
  	বরুনদাশ গুপ্তে  	Yup, making documentation of the current process good is a priority.
13:40 	Ima Mechanique  	or moved to another dir?
  	Oz Linden  	yes, they can
  	বরুনদাশ গুপ্তে  	Ima, yes
  	Ima Mechanique  	then creating a compl=ileing/archived is a possibility
  	  	that makes it obvious they're out of date
  	Oz Linden  	But, for example, if it were easy to do (it isn't), I'd just permanently delete how to build Snowglobe
13:41 	  	I would prefer to make that as hard to find as possible
  	Morgaine Dinova  	lol
  	Oz Linden  	but fortunately for those who want it, I'm too lazy to go to the requisite bother
  	Ima Mechanique  	okay compiling/in/some/difficult/to/guess/location/archived ;-)
  	Oz Linden  	I like that
13:42 	বরুনদাশ গুপ্তে  	:-P
  	Morgaine Dinova  	A page nice and clearly labelled Historic_Links solves all. Elegance isn't really required.
  	Ima Mechanique  	and ONLY have alink to it on the current docs
  	বরুনদাশ গুপ্তে  	You can't really control who links what from where.
  	  	It's a wiki
  	Oz Linden  	anyway... at the moment there are several things higher priority than fixing those pages
13:43 	Ima Mechanique  	true, but only officially create the one
  	Oz Linden  	The various pieces I've been waiting for to put together a build farm for open devs are coming together, so I'll be spending more time on that
13:44 	বরুনদাশ গুপ্তে  	:-)
  	Ima Mechanique  	nice
  	Oz Linden  	It's laziness again... I won't have to do so many builds for other people if they can do them on directly :-)
  	Morgaine Dinova  	God. "easy_install autobuild" ---> error: Sandbox Violation: mkdir("/var/tmp/root"). Fricking Pythonistas, they really like to scribble globally during installation.
13:45 	  	hacks around it
  	Oz Linden  	is not a Python fan, but LL likes it
  	Ima Mechanique  	hiya Robin witchey
13:46 	Morgaine Dinova  	It's not a Python problem, it's a Pythonista problem :P
  	বরুনদাশ গুপ্তে  	I like the language. Dunno yet whether I like their install system(s) ...
  	Robin Cornelius  	Hi, all
  	Morgaine Dinova  	Hiya Robin!
  	বরুনদাশ গুপ্তে  	hi Robin :-)
  	draconis.neurocam 	anything language that tries to be platform independant is good in my book
  	Ima Mechanique  	recently I've become an anti fan of the installing system ;-)
  	Oz Linden  	you don't really need to install autobuild
13:47 	Ima Mechanique  	I found it easier not to, installing on Windows is broke
  	Oz Linden  	if you just get the 'autobuild' main script into your path, you can run it right out of the hg working copy just fine
  	draconis.neurocam 	ah, well, that would be nice to have known
  	Ima Mechanique  	yup, that's what I do
  	draconis.neurocam 	haha
  	বরুনদাশ গুপ্তে  	could it also be run by using the full path the to executable as command? or would that break at recursive invocations?
  	Morgaine Dinova  	Oh, it's no problem, workarounds are plenty.
  	Oz Linden  	they've beeen working on that a lot, and claim to have made progress, but since I expect to be fiddling with it a lot, I just decided to always use my main working copy
13:48 	Ima Mechanique  	also easier to keep updated, just pull and update ;)
  	Oz Linden  	I have not tried, Boroondas
  	  	running it through a symlink worked (on MacOS)
  	বরুনদাশ গুপ্তে  	cool
13:49 	  	how do I uninstall something instealled by easy_install, btw?
  	Ima Mechanique  	cygwin has a few troubles with it
  	বরুনদাশ গুপ্তে  	(or update it, etc.?)
  	Ima Mechanique  	but I think that's connected to the install issues on windows
  	Oz Linden  	dunno
  	Morgaine Dinova  	looks for easy_remove
  	Oz Linden  	easy_nuke
13:50 	বরুনদাশ গুপ্তে  	ah, easy_install -m
  	  	http://thingsilearned.com/2009/04/13/easy_install-uninstalling/
13:51 	  	(dunno if manually removing the .egg is really required ... except using some disc space, it won't do anything when left behind, will it?)
13:52 	Oz Linden  	So... Ima.... we were discussing the VS edition-independent abstration problem
  	Ima Mechanique  	might hatch if kept warm
  	  	lol we were, but that's not what I was asking the ping for ;-)
  	  	but sure, love to talk about it more
  	Morgaine Dinova  	Bor, looks like different versions of easy_install take different flags then, because my -m is "make apps have to require a version" (it means "--multi-version")
13:53 	Oz Linden  	the question (I think) is: is it possible to create a shell function or a python wrapper or something that would work for both Pro versions with and without Incredibuild and also for Express users , with autodetection ?
  	  	that's the Holy Grail
13:54 	Ima Mechanique  	IO think so, the incredibuild case is already handled by those functions
  	  	if msbuild is used autodetection isn't really needed
  	Oz Linden  	if you can enhance those functions to cover the express case?
  	  	but is that compatible with incredibuild?
13:55 	Ima Mechanique  	msbuild works for both Full VS and Express *provided* the .NET 4 build framework is used
  	  	incredibuild is handled separately
  	  	those function check for an INCREDIBUILD env var
  	Oz Linden  	and is that what our current setup instructions say to do (I have not checked, since I don't use windows)
13:57 	Ima Mechanique  	I'm no expert on incredibuild, you'd have to talk to your devs about that, but moving to msbuild would do no harm, and it might allow them to expand on the incredibuild support. If as I guess those function were ritten for simplicities sake
  	Oz Linden  	Bronson... you're the second av I've seen today with a transparent midsection....
  	Morgaine Dinova  	With autobuild, has cmake disappeared completely, or merely disappeared from view, and is used underneath?
  	draconis.neurocam 	its the avatar physics stuff
  	  	it doesnt always like to load
  	Ima Mechanique  	um, you have no setup instruction concerning that part of autobuild, that I've seen at least
  	Oz Linden  	I'll discuss it with the windows devs when I get a chance
13:58 	  	cmake is still used inside
  	Ima Mechanique  	from view Morgaine
  	Morgaine Dinova  	kk, tnx
  	Ima Mechanique  	although not used on the libs so far as I have seen
  	Morgaine Dinova  	That explains why cmake .; make still works on Kokua then, which is just V2 repackaged for now.
13:59 	Ima Mechanique  	most if not all of those just use a build-cmd.sh
  	  	which confused the heck out of me ;-)
14:00 	Office Orb  	Your timer has expired!
  	Morgaine Dinova  	glares at Office Orb ... :P
  	Ima Mechanique  	you'll have to glare much harder to get it to be quiet
  	Morgaine Dinova  	Haha
14:01 	Oz Linden  	I've got quite a list of enhancements for the Orb....
  	বরুনদাশ গুপ্তে  	Morgaine, Kokua hasn't integrated the autobuild stuff, yet
  	Morgaine Dinova  	k Bor
  	Oz Linden  	if only I had time for fun scripting....
  	draconis.neurocam 	lsl isnt always fun, it is a lot of the time
  	বরুনদাশ গুপ্তে  	but yeah, using cmake and make manually should still work ... autobuild just calls those, too, after all
14:03 	Ima Mechanique  	Oz when you have time I have post-mortem from testing your open-50 repo ;-)
  	Office Orb  	http://jira.secondlife.com/browse/OPEN-50
OPEN-50 As an Open Source developer I would like a single set of configurations, which work for both Visual Studio and Express version of VC.
14:04 	Oz Linden  	send me email, please, Ima ... I am going to knock off for dinner soon
  	Ima Mechanique  	sure thing
  	বরুনদাশ গুপ্তে  	Morgaine, you asked about the current standalone build process
14:05 	Morgaine Dinova  	Oh yeah
  	বরুনদাশ গুপ্তে  	currently, I build viewer-dev like so:
  	  	patch -p1 < ../../../patches/autobuild-standalone.diff
patch -p1 < ../findjson_2.diff
autobuild install glh_linear
PATH="/usr/lib/ccache/bin:${PATH}" autobuild configure -c OpenSourceStandAloneDebug -- -DWORD_SIZE=64 -DGLH_INCLUDE_DIR=`pwd`/build-linux-i686/packages/include/
autobuild build -c OpenSourceStandAloneDebug --no-configure -- -j3
  	Morgaine Dinova  	lol @ patch. OK :-) Thanbks Bor
  	Robin Cornelius  	i've got less than that on my command line
  	বরুনদাশ গুপ্তে  	autobuild-standalone.diff is from OPEN-38
  	Office Orb  	http://jira.secondlife.com/browse/OPEN-38
OPEN-38 Fixes for viewer-autobuild for standalone
  	Robin Cornelius  	json and glh_linear are debinazed
14:06 	  	so i just need --standalone and -DWORD_SIZE
  	বরুনদাশ গুপ্তে  	"--standalone" ?
  	Morgaine Dinova  	-DWORD_SIZE coz you're on 64-bit?
  	বরুনদাশ গুপ্তে  	yep
14:07 	Robin Cornelius  	forgot i don't need standalone as thats implict in one of the targets
  	বরুনদাশ গুপ্তে  	it's hardcoded to 32 in the xml, so I have to override that
  	Robin Cornelius  	so just word size then ;-)
  	Oz Linden  	I'd be more interested to see 64 bit autobuild packages built for the dependencies and then a build of the viewer using them
  	Ima Mechanique  	that's something I want to do for Windows Oz
14:08 	  	however, seems a long way off just now :-(
  	Oz Linden  	If I had that in hand, it might be easier to sell the Lab on just picking it up
  	  	the "just" in there is still a big deal, of course
  	  	if you build it, you've gotta test it, etc....
  	  	but that's another bullet we'll have to bite eventually
14:09 	বরুনদাশ গুপ্তে  	yeah ... though building all dependencies from 3p-, potentially having to fix 64bit issues on them first is more work than just building standalone. don't have time for that, currently
  	Morgaine Dinova  	SO "autobuild build -c OpenSourceStandAloneRelease" would do it on 32-bit then>
  	Oz Linden  	Anyway... I need to wrap up.
  	বরুনদাশ গুপ্তে  	Morgaine, yes
  	Morgaine Dinova  	Cheers
  	Robin Cornelius  	Morg yes, but if you did that on a 64bit host expect fail
  	Office Orb  	End transcription
  	Ima Mechanique  	oz we figured you had when the orb went *ping* so to speak
  	Morgaine Dinova  	Thanks Oz, good meeting
  	Robin Cornelius  	you can build non standalone on 64bit fine, it builds as 32bit and does the right thing