mozilla :: #build

11 Aug 2017
01:19tedgps: nice!
01:23glandiumted: I wish sccache was faster to build. Have you tried splitting things in smaller crates?
01:24glandiumlike, most of the work on that argument parsing patch, I did it in a separate crate
01:24glandiumbecause even cargo check on sccache is like 5s
09:56heftigi think https://bugzilla.mozilla.org/show_bug.cgi?id=1320654 should depend on https://bugzilla.mozilla.org/show_bug.cgi?id=1342344
09:56firebotBug 1320654 NEW [meta] Build with gcc 7
09:56firebotBug 1342344 NEW GFX glitches when built with gcc7
10:00tedglandium: i haven't
10:00tedglandium: do you think there are parts that are usefully separable?
10:01glandiumted: I don't know. I guess splitting compiler/storage could help a bit?
10:01glandiumdon't have to be entirely separate crates as in separate repo and all
10:01tedthe problem is that you can't publish to crates.io with in-tree subcrates
10:01tedwe'd have to publish them to crates.io as well
10:03glandiumthe rust ecosystem really like to shoot itself in the foot
10:03tedheh
10:04glandiumbuild times suck, and you can't even work around it
10:04glandiumwithout additional pain
10:05glandiumchoose your pain
10:05tedtry enabling incremental compilation?
11:00glandiumted: btw. I've never watched the amount of cpu consumed by ccache, but sccache consumes what seems a lot... cumulatively, over the course of a build, it consumes more than 1:30 of cpu
11:02tedinteresting
11:03tedhuh, samsung has been using sccache.py with a memcached backend
11:04glandiumted: the python one?
11:04tedhttps://github.com/mozilla/sccache/pull/172
11:05glandiumwaw
11:06tedvlad setup sccache at his new job and he was asking about backends, he was talking about implementing his own data store
11:06tedi told him it would probably be simpler to implement a memcached backend, tons of software implements the memcached API
11:07tedvlad also has a huge set of sccache changes that he hasn't submitted...
11:07glandiumdamn vlad left? I hadn't realized
11:08tedyeah, he's at Unity now
11:08glandiumwhen did that happen?
11:09glandium(how long have I been under the rocks?)
11:09teda while ago
11:09tedi don't know that he announced it though
11:12tedapril
11:14tedunrelated: apparently there's a coroutines RFC for Rust and it's going to be merged soon, and they'll be available on nightly
11:15tedacrichto already has https://github.com/alexcrichton/futures-await
11:15tedand he had a patch kicking around to try it out with sccache
16:13jkratzercan anyone tell me how (if possible) to install clang via ./mach artifact toolchain ...
16:14jkratzerI'm not seeing a tooltool manifest which includes the clang archive and can't figure out if there's an appropriate --from-build argument I should be using
17:19mshaljkratzer: ./mach bootstrap should install clang in ~/.mozbuild/clang/bin
17:20mshalthe tooltool archives have been (mostly?) replaced by toolchain tasks that handle the toolchain dependencies automatically, so you won't find clang in those manifests anymore
17:22froydnj./mach bootstrap doesn't install clang on mac, note
17:22mshaloh
17:23mshalwhy's that?
17:23froydnjbecause for whatever reason, the mac clang we would cross compile for linux would crash or hang in bindgen
17:24froydnj*from linux, even
17:24mshaloh, fun
20:58mshalgps: what was the bug you mentioned that changes things in install manifests? I can't seem to find it
21:08gpsmshal: bug 1382697
21:08firebothttps://bugzil.la/1382697 ASSIGNED, gps@mozilla.com Detect filesystem and link support in configure
21:08gpsted: https://github.com/oconnor663/peru
21:08mshalty
21:11mshal\o/ not having two nsinstalls
21:12mshaldoesn't look like any of those manifest changes will impact what I need
21:46gpsi reckon moz.build processing would speed up significantly with python 3.6
21:46tedgps: huh, that's interesting (peru)
21:47gpsted: i can haz review on bug 1297153? should be easy
21:47firebothttps://bugzil.la/1297153 ASSIGNED, gps@mozilla.com Detect and recover from active locks and transactions
21:47glandiumted: btw, did you look at the new patch series for sccache?
21:47tedgps: can't right this moment, trying to get dinner made for my sugared-up kids
21:47tedglandium: i did not, sorry
21:48glandiumgps: I wonder how much of our code doesn't work in python 3
21:48tedglandium: do you think it needs another once-over?
21:48gpsted: no worries. i'll track down a victim not in MFBT yet
21:48glandiumted: I changed a lot of things
21:48gpsglandium: most of it probably
21:48gpsmoz.build itself is likely mostly fine. but reader, emitter, and backend aren't
21:48gpsas well as all the dependency packages :/
21:49glandiumI'm more worried about all the sandbox stuff
21:49gpsi wrote that stuff with python 3 in mind
21:49gpsthe actual sandbox uses unicode_literals
21:49gpsfor better or worse
21:49glandiumI'm not thinking strings here
21:50glandiumI'm thinking, like, the tricks used for templates
21:50gpsahhh
21:50gpsi dunno
22:05rillianfroydnj: I think my giant stack of patches on bug 1380118 finally confused reviewboard. It set a new r? for you on the second patch, but I think that should be the first one instead, which is new.
22:05firebothttps://bugzil.la/1380118 NEW, giles@thaumas.net Update aom
22:10* gps wonders if we can have a Docker image building job depend on an artifact from a previous task
22:10glandiumgps: why not?
22:10gpsi need to update the Mercurial rpm and deb packages. right now they are in tooltool.
22:11gpsunless it's trivial to do, probably a bit too much of a rabbit hole for right now
22:11glandiumgps: you're on your own to pull the artifact
22:11glandiumother than that, it's just a matter of adding dependencies
22:12gpsif a URL/hash is passed in through environment variables, that doesn't seem too bad
22:12gpsi could at least put the package building as a toolchain task
22:13gpsi may do that
22:13gpsfeels good to have the process reproducible since this is something i'm doing as a one-off every 3 months
22:14glandiumgps: so one thing is that if you eventually want it to be a dep of a docker image, you'll have to create a new kind for it
22:14gpsright
22:14glandiums/it/them/
22:14gpsthat's the rabbit hole I don't want to go down :)
22:14glandiumnote there's precedent building stuff in the docker image jobs themselves
22:14glandiumlike valgrind
22:15gpswe have an install-mercurial.sh. right now that just does tooltool stuff
22:15gpsa downside to building in the image is you have to install a toolchain
22:15gpswhich many images don't need
22:15gpsthis inevitably creates image bloat
22:15glandiumwell, everything needs gt and mercurial
22:15gpsbut they don't need a toolchain
22:17rilliangps: can't you use a build image to build and package it, and then install the artifacts in produces in other images which don't have a toolchain?
22:17gpsthat's what i'm talking about
22:17nalexanderglandium: you see the failing Windows build jobs in https://treeherder.mozilla.org/#/jobs?repo=try&revision=c67deac440d5
22:18gpsbut you then need to create task dependencies for docker image building
22:18nalexanderglandium: they look like sccache issues, but maybe those jobs don't run by default anymore and my try job (with -p all or whatever) triggered too much?
22:18nalexanderglandium: known, or something I should worry about?
22:18glandiumnalexander: 1385053
22:19nalexanderglandium: ta.
22:21gpshmmm. Mercurial supports building manylinux wheels now. tempting.
22:41gps`mach try fuzzy` is so nice
12 Aug 2017
No messages
   
Last message: 10 days and 22 hours ago