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 |