Use CIPD gn packages |
||||||||||||||||||||||
Issue descriptionI'd like to switch to pulling GN from cipd packages. Dirk and I talked about this for a while. It's a fairly awkward because we want GN pinned for chromium, so it shouldn't live in depot_tools. But there's forwarding scripts in depot_tools that need to find the binary. Additionally, buildtools holds the gn.sha1 files, but DEPS entries in projects (i.e. src.git) are what actually download the binaries. Here's my summary of the plan: - remove gn.sha1s from buildtools - add a DEPS hook in buildtools that will delete stale gn binaries (so that places that are accidentally calling those locations will fail rather than quietly use old gns) - add a pull of the gn cipd package in src/DEPS into src/third_party/gn - update depot_tools/gn.py to look in src/third_party/gn before falling back to the old buildtools behaviour (fallback is necessary because depot_tools autoupdates, so until all projects have moved to this way of getting GN they'd otherwise fail). - update src/tools/mb/mb.py to look in third_party rather than buildtools (it doesn't use the wrapper in depot_tools) I'm not sure if there's other places that will need to be fixed, but hopefully there's not too many more and we'll notice quickly because the buildtools locations will have been deleted. I've tested this locally with the old infra/tools/gn cipd package, and I think it should work, so once the gn/gn package exists I'll give this a whirl. ⛆ |
|
|
,
Jun 23 2018
Yeah, it seems that subrepo hooks run in the root projects cwd and the path to them is relative to that also, so I don't think there's really a way to usefully have a hooks in a sub-deps unless all projects happen to have it in the same place (which isn't true for buildtools; Crashpad has it beside "crashpad", rather than inside it). I think what I'll do then is have chromium src/DEPS delete old versions of gn binaries which will take care of the edge cases for Chromium. Other projects will know that GN has moved when they roll buildtools because the .sha1 files will be gone, and if they are complicated enough to not know if they're directly calling the gn binaries in buildtools rather than using depot_tools's forwarding, then they can also add gn binary cleanups in their DEPS. Yucky, but oh well.
,
Jun 23 2018
Alright, here's the 3 sided change: 1. https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/1112817 2. https://chromium-review.googlesource.com/c/chromium/buildtools/+/1112818 3. https://chromium-review.googlesource.com/c/chromium/src/+/1112840 If we agree this looks OK, then I will land them in that order, depot_tools can be any time, and the buildtools roll will need to be included in the third CL.
,
Jun 26 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromium/tools/depot_tools/+/a991ac69eb052dfbd460459203d4946168622385 commit a991ac69eb052dfbd460459203d4946168622385 Author: Scott Graham <scottmg@chromium.org> Date: Tue Jun 26 23:19:51 2018 gn: Look in src for gn binaries before trying old buildtools location Bug: 855791 Change-Id: I964df1a781da4335e9b77192faf7913d3546de13 Reviewed-on: https://chromium-review.googlesource.com/1112817 Reviewed-by: Dirk Pranke <dpranke@chromium.org> Commit-Queue: Scott Graham <scottmg@chromium.org> [modify] https://crrev.com/a991ac69eb052dfbd460459203d4946168622385/gn.py
,
Jun 27 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromium/buildtools/+/f45682622e92e65482b3568bd15f39d227b5e078 commit f45682622e92e65482b3568bd15f39d227b5e078 Author: Scott Graham <scottmg@chromium.org> Date: Tue Jun 26 18:43:52 2018 Remove GN from buildtools GN should be pulled via CIPD in the project now. depot_tools's gn.py will look in third_party/gn for the binary, for projects that use depot_tools. Bug: 855791 Change-Id: I64df23837166cbc8974357ddabbad36ee363d3c2 [delete] https://crrev.com/9c9fd97928dd45a0d9738af90f7c03b082f1216f/win/gn.exe.sha1 [delete] https://crrev.com/9c9fd97928dd45a0d9738af90f7c03b082f1216f/linux64/gn.sha1 [delete] https://crrev.com/9c9fd97928dd45a0d9738af90f7c03b082f1216f/mac/gn.sha1 [modify] https://crrev.com/f45682622e92e65482b3568bd15f39d227b5e078/README.txt [modify] https://crrev.com/f45682622e92e65482b3568bd15f39d227b5e078/.gitignore
,
Jun 27 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/981b006d84d3ed95fee1f2aa612b4ddca05c9af3 commit 981b006d84d3ed95fee1f2aa612b4ddca05c9af3 Author: depot-tools-chromium-autoroll <depot-tools-chromium-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com> Date: Wed Jun 27 02:35:03 2018 Roll src/third_party/depot_tools 1d5659c89760..a991ac69eb05 (1 commits) https://chromium.googlesource.com/chromium/tools/depot_tools.git/+log/1d5659c89760..a991ac69eb05 git log 1d5659c89760..a991ac69eb05 --date=short --no-merges --format='%ad %ae %s' 2018-06-26 scottmg@chromium.org gn: Look in src for gn binaries before trying old buildtools location Created with: gclient setdep -r src/third_party/depot_tools@a991ac69eb05 The AutoRoll server is located here: https://depot-tools-chromium-roll.skia.org Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+/master/autoroll/README.md If the roll is causing failures, please contact the current sheriff, who should be CC'd on the roll, and stop the roller if necessary. BUG=chromium:855791 TBR=agable@chromium.org Change-Id: Ib04195c40fab284b947011a2c173759ab11d11b6 Reviewed-on: https://chromium-review.googlesource.com/1116081 Reviewed-by: depot-tools-chromium-autoroll <depot-tools-chromium-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com> Commit-Queue: depot-tools-chromium-autoroll <depot-tools-chromium-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com> Cr-Commit-Position: refs/heads/master@{#570640} [modify] https://crrev.com/981b006d84d3ed95fee1f2aa612b4ddca05c9af3/DEPS
,
Jun 27 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/0895c7977a5c312aca132b23a3a9d46f78f77ee4 commit 0895c7977a5c312aca132b23a3a9d46f78f77ee4 Author: Scott Graham <scottmg@chromium.org> Date: Wed Jun 27 16:10:36 2018 Pull GN via CIPD package The gn binary will be downloaded into third_party/gn. This CL rolls buildtools forward to a revision where gn is no longer in buildtools. Because buildtools has no way to cleanup after itself, add build/util/gn_cleanup.py to delete the old binaries so that we don't accidentally depend on them. Update mb.py to use the new location. Update explicit location in ios/web_view/BUILD.gn for the new location. Update explicit location in tools/traffic_annotation/auditor/traffic_annotation_auditor.cc for the new location. Update explicit location in tools/licenses.py with for the new location. Bug: 855791 Bug: 794764 Bug: 856883 Bug: 856884 Bug: 856878 Bug: 856899 Cq-Include-Trybots: luci.chromium.try:ios-simulator-full-configs;master.tryserver.chromium.mac:ios-simulator-cronet Change-Id: I92c908faf4f868850eafa1b4adf6e7c33c365116 Reviewed-on: https://chromium-review.googlesource.com/1112840 Commit-Queue: Scott Graham <scottmg@chromium.org> Reviewed-by: Dirk Pranke <dpranke@chromium.org> Cr-Commit-Position: refs/heads/master@{#570792} [modify] https://crrev.com/0895c7977a5c312aca132b23a3a9d46f78f77ee4/DEPS [add] https://crrev.com/0895c7977a5c312aca132b23a3a9d46f78f77ee4/build/util/gn_cleanup.py [modify] https://crrev.com/0895c7977a5c312aca132b23a3a9d46f78f77ee4/ios/web_view/BUILD.gn [modify] https://crrev.com/0895c7977a5c312aca132b23a3a9d46f78f77ee4/tools/licenses.py [modify] https://crrev.com/0895c7977a5c312aca132b23a3a9d46f78f77ee4/tools/mb/mb.py [modify] https://crrev.com/0895c7977a5c312aca132b23a3a9d46f78f77ee4/tools/mb/mb_unittest.py [modify] https://crrev.com/0895c7977a5c312aca132b23a3a9d46f78f77ee4/tools/traffic_annotation/auditor/traffic_annotation_auditor.cc
,
Jun 27 2018
,
Jun 27 2018
,
Jun 27 2018
,
Jun 27 2018
,
Jun 27 2018
,
Jun 27 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/35383539aa83f27185a661215773ece946535676 commit 35383539aa83f27185a661215773ece946535676 Author: Scott Graham <scottmg@chromium.org> Date: Wed Jun 27 16:27:35 2018 Revert "Pull GN via CIPD package" This reverts commit 0895c7977a5c312aca132b23a3a9d46f78f77ee4. Reason for revert: Missed a hardcoded gn location: https://crbug.com/857107. Original change's description: > Pull GN via CIPD package > > The gn binary will be downloaded into third_party/gn. This CL rolls > buildtools forward to a revision where gn is no longer in buildtools. > > Because buildtools has no way to cleanup after itself, add > build/util/gn_cleanup.py to delete the old binaries so that we don't > accidentally depend on them. > > Update mb.py to use the new location. > > Update explicit location in ios/web_view/BUILD.gn for the new location. > > Update explicit location in > tools/traffic_annotation/auditor/traffic_annotation_auditor.cc for the new > location. > > Update explicit location in tools/licenses.py with for the new location. > > Bug: 855791 > Bug: 794764 > Bug: 856883 > Bug: 856884 > Bug: 856878 > Bug: 856899 > Cq-Include-Trybots: luci.chromium.try:ios-simulator-full-configs;master.tryserver.chromium.mac:ios-simulator-cronet > Change-Id: I92c908faf4f868850eafa1b4adf6e7c33c365116 > Reviewed-on: https://chromium-review.googlesource.com/1112840 > Commit-Queue: Scott Graham <scottmg@chromium.org> > Reviewed-by: Dirk Pranke <dpranke@chromium.org> > Cr-Commit-Position: refs/heads/master@{#570792} TBR=dpranke@chromium.org,scottmg@chromium.org Change-Id: I89e180710b5ce483106fa3b4ff6e8dec06780c07 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: 855791, 794764 , 856883, 856884 , 856878, 856899 Cq-Include-Trybots: luci.chromium.try:ios-simulator-full-configs;master.tryserver.chromium.mac:ios-simulator-cronet Reviewed-on: https://chromium-review.googlesource.com/1117219 Reviewed-by: Scott Graham <scottmg@chromium.org> Commit-Queue: Scott Graham <scottmg@chromium.org> Cr-Commit-Position: refs/heads/master@{#570799} [modify] https://crrev.com/35383539aa83f27185a661215773ece946535676/DEPS [delete] https://crrev.com/d0ed5774569fc56f4a0c74affafda8a7ad2a02aa/build/util/gn_cleanup.py [modify] https://crrev.com/35383539aa83f27185a661215773ece946535676/ios/web_view/BUILD.gn [modify] https://crrev.com/35383539aa83f27185a661215773ece946535676/tools/licenses.py [modify] https://crrev.com/35383539aa83f27185a661215773ece946535676/tools/mb/mb.py [modify] https://crrev.com/35383539aa83f27185a661215773ece946535676/tools/mb/mb_unittest.py [modify] https://crrev.com/35383539aa83f27185a661215773ece946535676/tools/traffic_annotation/auditor/traffic_annotation_auditor.cc
,
Jun 27 2018
,
Jun 27 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromium/buildtools/+/506ae1c7367053eaa6bc9c8d956c2f6fd765940d commit 506ae1c7367053eaa6bc9c8d956c2f6fd765940d Author: Scott Graham <scottmg@chromium.org> Date: Wed Jun 27 23:16:41 2018 Add gn-has-moved binary in old gn location Linux and Mac built from moved.c: ----- #include <stdio.h> int main() { printf("The gn binary has moved, please re-run `gn gen <your-out-dir>`.\n"); return 1; } ----- $ clang -Os -Wall -Werror -pedantic moved.c -o gn && strip gn Windows (the above is 130k, this one is 3k): ----- #include <Windows.h> int mainCRTStartup(void) { char msg[] = "The gn binary has moved, please re-run `gn gen <your-out-dir>`.\n"; HANDLE out = GetStdHandle(STD_OUTPUT_HANDLE); WriteFile(out, msg, sizeof(msg), (DWORD[]){0}, NULL); return 1; } ----- > cl /Os /Gy /GS- /nologo /DNDEBUG /W4 /WX moved.c /link /opt:ref /opt:icf /nodefaultlib /subsystem:console kernel32.lib /out:gn.exe Bug: 855791 Change-Id: Idfd9f7d030b29346a02bd2061b5637e4e1443cff [add] https://crrev.com/506ae1c7367053eaa6bc9c8d956c2f6fd765940d/linux64/gn.sha1 [add] https://crrev.com/506ae1c7367053eaa6bc9c8d956c2f6fd765940d/mac/gn.sha1 [add] https://crrev.com/506ae1c7367053eaa6bc9c8d956c2f6fd765940d/win/gn.exe.sha1
,
Jun 28 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/fed0e8ec393c317037a824b63b3e9690b8b0a4fc commit fed0e8ec393c317037a824b63b3e9690b8b0a4fc Author: Scott Graham <scottmg@chromium.org> Date: Thu Jun 28 05:02:14 2018 Pull GN via CIPD package This is a reland of https://chromium-review.googlesource.com/c/chromium/src/+/1112840. The gn binary will be downloaded into third_party/gn. This CL rolls buildtools forward to a revision where the gn binary is a stub that prints an error message and returns 1. This is to avoid depending on the old location, and helping users relying on gn auto regen. Update mb.py to use the new location. Update explicit location in ios/web_view/BUILD.gn for the new location. Update explicit location in tools/traffic_annotation/auditor/traffic_annotation_auditor.cc for the new location. Update explicit location in tools/licenses.py with for the new location. Update explicit location in testing/libfuzzer/gen_fuzzer_owners.py. Bug: 855791 Bug: 856883 Bug: 856884 Bug: 856878 Bug: 856899 Bug: 857107 Bug: 857110 Change-Id: Iedaa29161e56cc90beafd802efca3a6c12859c58 Cq-Include-Trybots: luci.chromium.try:ios-simulator-full-configs;master.tryserver.chromium.mac:ios-simulator-cronet Reviewed-on: https://chromium-review.googlesource.com/1117264 Commit-Queue: Scott Graham <scottmg@chromium.org> Reviewed-by: Dirk Pranke <dpranke@chromium.org> Cr-Commit-Position: refs/heads/master@{#571031} [modify] https://crrev.com/fed0e8ec393c317037a824b63b3e9690b8b0a4fc/DEPS [modify] https://crrev.com/fed0e8ec393c317037a824b63b3e9690b8b0a4fc/ios/web_view/BUILD.gn [modify] https://crrev.com/fed0e8ec393c317037a824b63b3e9690b8b0a4fc/testing/libfuzzer/gen_fuzzer_owners.py [modify] https://crrev.com/fed0e8ec393c317037a824b63b3e9690b8b0a4fc/tools/licenses.py [modify] https://crrev.com/fed0e8ec393c317037a824b63b3e9690b8b0a4fc/tools/mb/mb.py [modify] https://crrev.com/fed0e8ec393c317037a824b63b3e9690b8b0a4fc/tools/mb/mb_unittest.py [modify] https://crrev.com/fed0e8ec393c317037a824b63b3e9690b8b0a4fc/tools/traffic_annotation/auditor/traffic_annotation_auditor.cc
,
Jun 28 2018
,
Jun 28 2018
This broke building Chrome on Chrome OS. The ebuilds are still looking for gn in buildtools/linux64/gn. I wrote a naive CL that switches this over tothird_party/gn/gn (http://crrev.com/c/1118162) but the new binary is dynamically linked against a library that cannot be found: /home/bartfab/chrome_root/src/third_party/gn/gn: error while loading shared libraries: libatomic.so.1: cannot open shared object file: No such file or directory I have two copies of this library, but my Chrome OS foo is not strong enough to know how to pick the right one automatically and how to point the ebuild at it: /home/bartfab/chrome_root/src/build/linux/debian_sid_i386-sysroot/usr/lib/i386-linux-gnu/libatomic.so.1 /home/bartfab/chrome_root/src/build/linux/debian_sid_amd64-sysroot/usr/lib/x86_64-linux-gnu/libatomic.so.1
,
Jun 28 2018
Re Comment #18: That's weird, gn seems to have been using libatomic since https://codereview.chromium.org/2064513002 for reasons I don't understand (and which seem to be unrelated to that CL descritpion :? ) Anyway, when I run ldd third_party/gn/gn in ~/chromium/src, I get: libatomic.so.1 => /usr/lib/x86_64-linux-gnu/libatomic.so.1 (0x00007f1c0ec46000) Maybe libatomic.so.1 is missing from the cros_sdk chroot? But that wouldn't explain why it worked before.
,
Jun 28 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/b4a8afc78e0421fcf99c558f57ec7998c6cc9bed commit b4a8afc78e0421fcf99c558f57ec7998c6cc9bed Author: Greg Kraynov <kraynov@chromium.org> Date: Thu Jun 28 13:43:04 2018 GN: gitignore //third_party/gn. Depot tools download the GN here now. Bug: 855791 Change-Id: Id2d60230331b90ff97018493892189deed5bbb77 Reviewed-on: https://chromium-review.googlesource.com/1118269 Reviewed-by: agrieve <agrieve@chromium.org> Commit-Queue: Greg Kraynov <kraynov@chromium.org> Cr-Commit-Position: refs/heads/master@{#571102} [modify] https://crrev.com/b4a8afc78e0421fcf99c558f57ec7998c6cc9bed/third_party/.gitignore
,
Jun 28 2018
The following revision refers to this bug: https://chrome-internal.googlesource.com/clank/internal/apps/+/de0bd7a88ceba9686a25547ce288d4f993c4fbf3 commit de0bd7a88ceba9686a25547ce288d4f993c4fbf3 Author: Andrew Grieve <agrieve@chromium.org> Date: Thu Jun 28 13:59:15 2018
,
Jun 28 2018
Re #19: I hacked LD_LIBRARY_PATH to make gn find libatomic.so.1. After that, it was missing libpcre.so.3. I added that too - and gn segfaulted while building Chrome.
Buidling Chrome via "emerge-${BOARD}" in the Chrome OS chroot worked until yesterday. It somehow did find its libraries and did not segfault :) before.
,
Jun 28 2018
The old gn binaries where built in a sysroot. Maybe the new ones aren't yet?
,
Jun 28 2018
i.e. does the gn standalone build have https://cs.chromium.org/chromium/src/build/config/posix/BUILD.gn?type=cs&q=%5C-sysroot+file:%5C.gn&sq=package:chromium&g=0&l=87 ?
,
Jun 28 2018
No, those builders aren't using a sysroot. I mistakenly thought if the waterfall was OK then it would be OK. I will work on getting the GN builders to pull/use a sysroot.
,
Jun 28 2018
"sid" is OK for "everyone" as far as we know? https://cs.chromium.org/chromium/src/build/linux/sysroot_scripts/sysroots.json?q=build/linux/sysroot_scripts/sysroots.json&sq=package:chromium&dr&l=2 or is anyone aware of targets that need older sysroots? (I think Crashpad is still using an older "stretch" but I don't really know what the state of things is.)
,
Jun 28 2018
https://gn.googlesource.com/gn/+/master/build also doesn't pass -mmacosx-version-min from what I can tell, so it'll implicitly require whatever macOS version the gn binary was built on. Probably a good idea to pass in something explicitly.
,
Jun 28 2018
+thomasanderson to confirm, but I'm pretty sure we think sid is okay for everyone now.
,
Jun 28 2018
https://gn-review.googlesource.com/c/gn/+/1900 makes it build against sid on Linux. It didn't change the output of readelf -d though, so I'm not sure if it will help.
,
Jun 28 2018
> libatomic.so.1 this one should be easy to get into the CrOS SDK > it was missing libpcre.so.3 unfortunately, this isn't something we'll be able to easily resolve. Debian uses a different SONAME from the rest of the distro world (and different from the upstream libpcre project). it's probably for historical baggage reasons, but they haven't gone back and fixed things.
,
Jun 28 2018
@vapier - did the older GN binaries not have these dependency? I'm not sure why we would've grown a dependency on pcre that wasn't there before.
,
Jun 28 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/8962649114490c145c5cba76fe290752014d6432 commit 8962649114490c145c5cba76fe290752014d6432 Author: Xiaoqian Dai <xdai@chromium.org> Date: Thu Jun 28 17:07:46 2018 Revert "Pull GN via CIPD package" This reverts commit fed0e8ec393c317037a824b63b3e9690b8b0a4fc. Reason for revert: It broke most of the chrome_informational builders at BuildPackages stage. See crbug.com/857133 for details. Original change's description: > Pull GN via CIPD package > > This is a reland of > https://chromium-review.googlesource.com/c/chromium/src/+/1112840. > > > The gn binary will be downloaded into third_party/gn. This CL rolls > buildtools forward to a revision where the gn binary is a stub that > prints an error message and returns 1. This is to avoid depending > on the old location, and helping users relying on gn auto regen. > > Update mb.py to use the new location. > > Update explicit location in ios/web_view/BUILD.gn for the new location. > > Update explicit location in > tools/traffic_annotation/auditor/traffic_annotation_auditor.cc for the new > location. > > Update explicit location in tools/licenses.py with for the new location. > > Update explicit location in testing/libfuzzer/gen_fuzzer_owners.py. > > Bug: 855791 > Bug: 856883 > Bug: 856884 > Bug: 856878 > Bug: 856899 > Bug: 857107 > Bug: 857110 > Change-Id: Iedaa29161e56cc90beafd802efca3a6c12859c58 > Cq-Include-Trybots: luci.chromium.try:ios-simulator-full-configs;master.tryserver.chromium.mac:ios-simulator-cronet > Reviewed-on: https://chromium-review.googlesource.com/1117264 > Commit-Queue: Scott Graham <scottmg@chromium.org> > Reviewed-by: Dirk Pranke <dpranke@chromium.org> > Cr-Commit-Position: refs/heads/master@{#571031} TBR=dpranke@chromium.org,scottmg@chromium.org Change-Id: I28962c879b7bc24e809b29427122bb425e9450a5 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: 855791, 856883, 856884 , 856878, 856899 , 857107, 857110 Cq-Include-Trybots: luci.chromium.try:ios-simulator-full-configs;master.tryserver.chromium.mac:ios-simulator-cronet Reviewed-on: https://chromium-review.googlesource.com/1118825 Reviewed-by: Xiaoqian Dai <xdai@chromium.org> Commit-Queue: Xiaoqian Dai <xdai@chromium.org> Cr-Commit-Position: refs/heads/master@{#571170} [modify] https://crrev.com/8962649114490c145c5cba76fe290752014d6432/DEPS [modify] https://crrev.com/8962649114490c145c5cba76fe290752014d6432/ios/web_view/BUILD.gn [modify] https://crrev.com/8962649114490c145c5cba76fe290752014d6432/testing/libfuzzer/gen_fuzzer_owners.py [modify] https://crrev.com/8962649114490c145c5cba76fe290752014d6432/tools/licenses.py [modify] https://crrev.com/8962649114490c145c5cba76fe290752014d6432/tools/mb/mb.py [modify] https://crrev.com/8962649114490c145c5cba76fe290752014d6432/tools/mb/mb_unittest.py [modify] https://crrev.com/8962649114490c145c5cba76fe290752014d6432/tools/traffic_annotation/auditor/traffic_annotation_auditor.cc
,
Jun 28 2018
> +thomasanderson to confirm, but I'm pretty sure we think sid is okay for everyone now. It should be fine as long as gn doesn't depend directly on libdbus or libfontconfig
,
Jun 28 2018
@dpranke: seems like it has grown deps it didn't have before
$ gn --version
439377
$ lddtree /usr/bin/gn
/usr/bin/gn (interpreter => /lib64/ld-linux-x86-64.so.2)
libpthread.so.0 => /lib64/libpthread.so.0
librt.so.1 => /lib64/librt.so.1
libstdc++.so.6 => /usr/lib/gcc/x86_64-pc-linux-gnu/4.9.x/libstdc++.so.6
libgcc_s.so.1 => /usr/lib/gcc/x86_64-pc-linux-gnu/4.9.x/libgcc_s.so.1
libm.so.6 => /lib64/libm.so.6
libc.so.6 => /lib64/libc.so.6
ld-linux-x86-64.so.2 => /lib64/ld-linux-x86-64.so.2
$ ./buildtools/linux64/gn --version
570036
$ lddtree ./buildtools/linux64/gn
./buildtools/linux64/gn (interpreter => /lib64/ld-linux-x86-64.so.2)
libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0
librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1
libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6
libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6
$ ./third_party/gn/gn --version
UNKNOWN
$ lddtree ./third_party/gn/gn
./third_party/gn/gn (interpreter => /lib64/ld-linux-x86-64.so.2)
libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2
libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6
ld-linux-x86-64.so.2 => /lib64/ld-linux-x86-64.so.2
libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1
libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6
librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1
libatomic.so.1 => /usr/lib/x86_64-linux-gnu/libatomic.so.1
,
Jun 28 2018
Maybe the new one was linked without -Wl,--as-needed? (https://cs.chromium.org/chromium/src/build/config/compiler/BUILD.gn?type=cs&q=+as-needed+%5C-wl+file:%5C.gn+file:src/build&sq=package:chromium&g=0&l=386 etc)
,
Jun 28 2018
Thanks, I'll make sure the lddtree (TIL!) looks identical before trying again.
,
Jun 28 2018
https://gn-review.googlesource.com/c/gn/+/1940 makes it closer. It's lost librt.so.1 but gained ld-linux-x86-64.so.2. Is that useful, or is ld-linux-x86-64.so.2 a problem?
,
Jun 28 2018
the ldso (ld-linux-x86-64.so.2) is not a problem at all it'd be nice to not need libatomic.so.1, but i'm guessing that's coming from the C++ toolchain and C++ atomics. we'll have to deal with it in CrOS.
,
Jun 28 2018
OK, thanks! After https://gn-review.googlesource.com/c/gn/+/1940, lddtree doesn't report depending on libatomic.so.1, so hopefully that won't be a problem? (Maybe I'm misunderstanding that there's a dynamic dependency on that though.) phosek@ is working on a way to statically link libc++ without needing to build it locally (which I'd rather avoid doing in the gn repo), but said that won't be rolled in from upstream clang for a while. So I'll stick with the linked CL for now, which should hopefully be OK.
,
Jun 28 2018
the set of libs listed in that CL look fine for pretty much any distro out there. it's just glibc and gcc libs which are very basic.
,
Jun 29 2018
As a summary here's a variety of "opportunities to improve": https://docs.google.com/document/d/1a9dFI9wJOWpiExKPJEQY-o8U8Afv0EdPo7e2-iyzJu4/edit?usp=sharing.
,
Jun 29 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/f75b418b5679b9f8836ae7bad517dab3c20695ce commit f75b418b5679b9f8836ae7bad517dab3c20695ce Author: Scott Graham <scottmg@chromium.org> Date: Fri Jun 29 14:50:21 2018 Roll src/buildtools/ 9c9fd9792..aec56e260 (3 commits) https://chromium.googlesource.com/chromium/buildtools.git/+log/9c9fd97928dd..aec56e26079f $ git log 9c9fd9792..aec56e260 --date=short --no-merges --format='%ad %ae %s' 2018-06-28 scottmg Roll to gn from gn.googlesource.com 2018-06-27 scottmg Add gn-has-moved binary in old gn location 2018-06-26 scottmg Remove GN from buildtools Bug: 858852 , 855791 Change-Id: Iff22850633eac5a56540d261da6fd52c021e2ba4 Reviewed-on: https://chromium-review.googlesource.com/1119579 Reviewed-by: Dirk Pranke <dpranke@chromium.org> Commit-Queue: Scott Graham <scottmg@chromium.org> Cr-Commit-Position: refs/heads/master@{#571471} [modify] https://crrev.com/f75b418b5679b9f8836ae7bad517dab3c20695ce/DEPS
,
Jul 2
Issue 859475 has been merged into this issue.
,
Jul 2
,
Jul 2
,
Jul 2
,
Jul 12
,
Jul 16
,
Jul 22
Issue #504074 has been around for some time already. Might need to be closed since this issue has resolved that.
,
Aug 3
,
Aug 24
re: comment 26 - Using an older sysroot would help for folks on RHEL 6 and other older distros. FWIW, Ninja was built with the Wheezy sysroot. See bug 762354 .
,
Sep 4
|
|||||||||||||||||||
►
Sign in to add a comment |
||||||||||||||||||||||
Comment 1 by scottmg@chromium.org
, Jun 23 2018