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

From Second Life Wiki
Jump to navigation Jump to search
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