Closed
Bug 1388008
Opened 7 years ago
Closed 7 years ago
bootstrap should not download clang.tar.xz when available on the distro
Categories
(Firefox Build System :: General, defect)
Firefox Build System
General
Tracking
(firefox57 affected)
RESOLVED
WONTFIX
Tracking | Status | |
---|---|---|
firefox57 | --- | affected |
People
(Reporter: Sylvestre, Unassigned)
References
Details
At least on Debian & Ubuntu, we should check if the packages are available on the system or not before downloading/installing it in bootstrap
We could also add it to the list of install.
For older Ubuntu & Debian, we could use:
https://apt.llvm.org/
(full disclosure, I am the maintainer of what I am mentioning above)
Comment 2•7 years ago
|
||
My preference is to keep things the way they are: we know the clang from our builds works, and we don't have the same guarantees about some random clang that gets installed from the distro's packages. People who want to work around this can work around this. And we'd like to move to a world where people are downloading all the supplemental code they need from us, anyway.
Flags: needinfo?(nfroyd)
Comment 3•7 years ago
|
||
I agree with Nathan: we've run into too many problems where the Clang isn't "just right." Then people file bugs or show up in #build and we have to spend time debugging problems that could be prevented if people used the same toolchain that CI uses.
Let's strive for making the local build experience as similar to automation as possible by default. But we should not prevent people from opting out, of course, because there are many legitimate scenarios calling for that. The correct place for that opt-out for this matter is mozconfigs. That keeps bootstrap streamlined and simple (which is important because the code is hard to test).
Status: NEW → RESOLVED
Closed: 7 years ago
Resolution: --- → WONTFIX
Reporter | ||
Comment 4•7 years ago
|
||
Not sure I understand or agree with the rational.
It is not different from the other libs or stuff that we install from the Debian or Ubuntu repo:
https://dxr.mozilla.org/mozilla-central/source/python/mozboot/mozboot/debian.py?q=debian.py&redirect_type=direct#49
but well, I won't fight/cry on this :)
Comment 5•7 years ago
|
||
> we've run into too many problems where the Clang isn't "just right."
On Mac and Windows, sure. But on Linux?
Comment 6•7 years ago
|
||
(In reply to Sylvestre Ledru [:sylvestre] from comment #4)
> Not sure I understand or agree with the rational.
> It is not different from the other libs or stuff that we install from the
> Debian or Ubuntu repo:
> https://dxr.mozilla.org/mozilla-central/source/python/mozboot/mozboot/debian.
> py?q=debian.py&redirect_type=direct#49
> but well, I won't fight/cry on this :)
libclang, which we're using, has an unstable API. This is pretty different from other libraries that we rely on. I sure don't want to field bug reports about such packages.
That being said, folks have put a tremendous amount of work into bindgen to try and make it work with multiple versions of libclang. But I'd still prefer to be conservative here.
Reporter | ||
Comment 7•7 years ago
|
||
Libclang is actually the only stable API in the llvm tool chain. The debian and Ubuntu packages have a list of every symbols and in which version it appeared.
Moreover,several versions of Libclang can coexist in parallel and you can force the exact version you need. So, no need to worry about aggressive change of version.
I understand that we want to limit the effort but distributions like debian and Ubuntu are going to rely on these packages which are used already a big range of software... Including rust upstream (a least last time I checked, maybe that changed).
Reporter | ||
Comment 8•7 years ago
|
||
noise |
Hmm, sorry, I am talking about the c library but this is probably not what we use currently in bindgen!
Reporter | ||
Comment 9•7 years ago
|
||
Seems that rust bindgen uses the C library: https://github.com/KyleMayes/clang-sys/blob/master/src/lib.rs#L1356 (thanks nox)
So, this lib API/ABI is stable and monitored though this file (5.0 and 6.0 are the same currently)
Example: https://anonscm.debian.org/viewvc/pkg-llvm/llvm-toolchain/branches/5.0/debian/libclang1-X.Y.symbols.in
Updated•7 years ago
|
Product: Core → Firefox Build System
You need to log in
before you can comment on or make changes to this bug.
Description
•