I followed the steps on building V8 at https://v8.dev/docs/build and https://v8.dev/docs/source-code, but I'm using FreeBSD and so CIPD isn't supported on FreeBSD. That's a huge problem because i prevents me from building V8 at all. Not to mention it limits me to Python 2.7 when I want to use Python 3.7 for the build process. Ah well. Anyway, I run: git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git Cloning into 'depot_tools'... remote: Sending approximately 22.24 MiB ... remote: Total 29246 (delta 20781), reused 29246 (delta 20781) Receiving objects: 100% (29246/29246), 22.18 MiB | 13.86 MiB/s, done. Resolving deltas: 100% (20781/20781), done. I then create a v8 path, set pyenv to use python 2.7.15, link v8 into my path, and run gclient and fetch: $ gclient CIPD not supported on freebsd WARNING: Your metrics.cfg file was invalid or nonexistent. A new one will be created. Usage: gclient.py <command> [options]
Meta checkout dependency manager for Git. Commands are: config creates a .gclient file in the current directory diff displays local diff for every dependencies fetch fetches upstream commits for all modules flatten flattens the solutions into a single DEPS file getdep gets revision information and variable values from a DEPS file grep greps through git repos managed by gclient help prints list of commands or help for a specific command metrics reports, and optionally modifies, the status of metric collection pack generates a patch which can be applied at the root of the tree recurse operates [command args ...] on all the dependencies revert reverts all modifications in every dependencies revinfo outputs revision info mapping for the client and its dependencies root outputs the solution root (or current dir if there isn't one) runhooks runs hooks for files that have been modified in the local working copy setdep modifies dependency revisions and variable values in a DEPS file status shows modification status for every dependencies sync checkout/update all modules validate validates the .gclient and DEPS syntax verify verifies the DEPS file deps are only from allowed_hosts Options: --version show program's version number and exit -h, --help show this help message and exit -j JOBS, --jobs=JOBS Specify how many SCM commands can run in parallel; defaults to 8 on this machine -v, --verbose Produces additional output for diagnostics. Can be used up to three times for more logging info. --gclientfile=CONFIG_FILENAME Specify an alternate .gclient file --spec=SPEC create a gclient file containing the provided string. Due to Cygwin/Python brokenness, it can't contain any newlines. --no-nag-max Ignored for backwards compatibility. $ ../depot_tools/fetch v8 Running: gclient root CIPD not supported on freebsd Running: gclient config --spec 'solutions = [ { "url": "https://chromium.googlesource.com/v8/v8.git", "managed": False, "name": "v8", "deps_file": "DEPS", "custom_deps": {}, }, ] ' CIPD not supported on freebsd Running: gclient sync --with_branch_heads CIPD not supported on freebsd ________ running 'git -c core.deltaBaseCacheLimit=2g clone --no-checkout --progress https://chromium.googlesource.com/v8/v8.git /usr/home/ethin/v8/_gclient_v8_chIH7X' in '/usr/home/ethin/v8' Cloning into '/usr/home/ethin/v8/_gclient_v8_chIH7X'... remote: Sending approximately 430.94 MiB ... remote: Counting objects: 7660, done [0:01:00] Still working on: [0:01:00] v8 remote: Total 618180 (delta 518023), reused 618180 (delta 518023) Receiving objects: 100% (618180/618180), 430.12 MiB | 8.00 MiB/s, done. [0:01:10] Still working on: [0:01:10] v8 [0:01:20] Still working on: [0:01:20] v8 [0:01:30] Still working on: [0:01:30] v8 [0:01:40] Still working on: [0:01:40] v8 [0:01:50] Still working on: [0:01:50] v8 [0:02:00] Still working on: [0:02:00] v8 [0:02:10] Still working on: [0:02:10] v8 [0:02:20] Still working on: [0:02:20] v8 [0:02:30] Still working on: [0:02:30] v8 [0:02:40] Still working on: [0:02:40] v8 [0:02:50] Still working on: [0:02:50] v8 [0:03:00] Still working on: [0:03:00] v8 Resolving deltas: 100% (518023/518023), done. [0:03:10] Still working on: [0:03:10] v8 [0:03:20] Still working on: [0:03:20] v8 [0:03:30] Still working on: [0:03:30] v8 [0:03:39] Still working on: [0:03:39] v8 Syncing projects: 100% ( 1/ 1) v8 v8 (ERROR) ---------------------------------------- [0:00:00] Started. [0:00:00] ________ running 'git -c core.deltaBaseCacheLimit=2g clone --no-checkout --progress https://chromium.googlesource.com/v8/v8.git /usr/home/ethin/v8/_gclient_v8_chIH7X' in '/usr/home/ethin/v8' Cloning into '/usr/home/ethin/v8/_gclient_v8_chIH7X'... [0:00:00] Cloning into '/usr/home/ethin/v8/_gclient_v8_chIH7X'... remote: Sending approximately 430.94 MiB ... [0:00:04] remote: Sending approximately 430.94 MiB ... [0:00:07] remote: Counting objects: 1 [0:00:08] remote: Counting objects: 1176 [0:00:09] remote: Counting objects: 4527 remote: Counting objects: 7660, done [0:00:10] remote: Counting objects: 7660, done remote: Total 618180 (delta 518023), reused 618180 (delta 518023) [0:01:04] remote: Total 618180 (delta 518023), reused 618180 (delta 518023) Receiving objects: 100% (618180/618180), 430.12 MiB | 8.00 MiB/s, done. [0:01:04] Receiving objects: 100% (618180/618180), 430.12 MiB | 8.00 MiB/s, done. Resolving deltas: 100% (518023/518023), done. [0:03:08] Resolving deltas: 100% (518023/518023), done. [0:03:34] From https://chromium.googlesource.com/v8/v8 [0:03:34] * [new ref] refs/branch-heads/0.1 -> branch-heads/0.1 [0:03:34] * [new ref] refs/branch-heads/0.3 -> branch-heads/0.3 [0:03:34] * [new ref] refs/branch-heads/1.1 -> branch-heads/1.1 [0:03:34] * [new ref] refs/branch-heads/1.2 -> branch-heads/1.2 [0:03:34] * [new ref] refs/branch-heads/1.3 -> branch-heads/1.3 [0:03:34] * [new ref] refs/branch-heads/2.0 -> branch-heads/2.0 [0:03:34] * [new ref] refs/branch-heads/2.1 -> branch-heads/2.1 [0:03:34] * [new ref] refs/branch-heads/2.2 -> branch-heads/2.2 [0:03:34] * [new ref] refs/branch-heads/2.3 -> branch-heads/2.3 [0:03:34] * [new ref] refs/branch-heads/2.4 -> branch-heads/2.4 [0:03:34] * [new ref] refs/branch-heads/2.5 -> branch-heads/2.5 [0:03:34] * [new ref] refs/branch-heads/3.0 -> branch-heads/3.0 [0:03:34] * [new ref] refs/branch-heads/3.1 -> branch-heads/3.1 [0:03:34] * [new ref] refs/branch-heads/3.10 -> branch-heads/3.10 [0:03:34] * [new ref] refs/branch-heads/3.11 -> branch-heads/3.11 [0:03:34] * [new ref] refs/branch-heads/3.12 -> branch-heads/3.12 [0:03:34] * [new ref] refs/branch-heads/3.13 -> branch-heads/3.13 [0:03:34] * [new ref] refs/branch-heads/3.14 -> branch-heads/3.14 [0:03:34] * [new ref] refs/branch-heads/3.15 -> branch-heads/3.15 [0:03:34] * [new ref] refs/branch-heads/3.16 -> branch-heads/3.16 [0:03:34] * [new ref] refs/branch-heads/3.17 -> branch-heads/3.17 [0:03:34] * [new ref] refs/branch-heads/3.18 -> branch-heads/3.18 [0:03:34] * [new ref] refs/branch-heads/3.19 -> branch-heads/3.19 [0:03:34] * [new ref] refs/branch-heads/3.2 -> branch-heads/3.2 [0:03:34] * [new ref] refs/branch-heads/3.20 -> branch-heads/3.20 [0:03:34] * [new ref] refs/branch-heads/3.20.15.5 -> branch-heads/3.20.15.5 [0:03:34] * [new ref] refs/branch-heads/3.21 -> branch-heads/3.21 [0:03:34] * [new ref] refs/branch-heads/3.22 -> branch-heads/3.22 [0:03:34] * [new ref] refs/branch-heads/3.23 -> branch-heads/3.23 [0:03:34] * [new ref] refs/branch-heads/3.24 -> branch-heads/3.24 [0:03:34] * [new ref] refs/branch-heads/3.25 -> branch-heads/3.25 [0:03:34] * [new ref] refs/branch-heads/3.26 -> branch-heads/3.26 [0:03:34] * [new ref] refs/branch-heads/3.27 -> branch-heads/3.27 [0:03:34] * [new ref] refs/branch-heads/3.28 -> branch-heads/3.28 [0:03:34] * [new ref] refs/branch-heads/3.29 -> branch-heads/3.29 [0:03:34] * [new ref] refs/branch-heads/3.3 -> branch-heads/3.3 [0:03:34] * [new ref] refs/branch-heads/3.30 -> branch-heads/3.30 [0:03:34] * [new ref] refs/branch-heads/3.31 -> branch-heads/3.31 [0:03:34] * [new ref] refs/branch-heads/3.4 -> branch-heads/3.4 [0:03:34] * [new ref] refs/branch-heads/3.5 -> branch-heads/3.5 [0:03:34] * [new ref] refs/branch-heads/3.6 -> branch-heads/3.6 [0:03:34] * [new ref] refs/branch-heads/3.7 -> branch-heads/3.7 [0:03:34] * [new ref] refs/branch-heads/3.8 -> branch-heads/3.8 [0:03:34] * [new ref] refs/branch-heads/3.9 -> branch-heads/3.9 [0:03:34] * [new ref] refs/branch-heads/4.1 -> branch-heads/4.1 [0:03:34] * [new ref] refs/branch-heads/4.2 -> branch-heads/4.2 [0:03:34] * [new ref] refs/branch-heads/4.2.39 -> branch-heads/4.2.39 [0:03:34] * [new ref] refs/branch-heads/4.3 -> branch-heads/4.3 [0:03:34] * [new ref] refs/branch-heads/4.4 -> branch-heads/4.4 [0:03:34] * [new ref] refs/branch-heads/4.5 -> branch-heads/4.5 [0:03:34] * [new ref] refs/branch-heads/4.6 -> branch-heads/4.6 [0:03:34] * [new ref] refs/branch-heads/4.7 -> branch-heads/4.7 [0:03:34] * [new ref] refs/branch-heads/4.8 -> branch-heads/4.8 [0:03:34] * [new ref] refs/branch-heads/4.9 -> branch-heads/4.9 [0:03:34] * [new ref] refs/branch-heads/5.0 -> branch-heads/5.0 [0:03:34] * [new ref] refs/branch-heads/5.1 -> branch-heads/5.1 [0:03:34] * [new ref] refs/branch-heads/5.2 -> branch-heads/5.2 [0:03:34] * [new ref] refs/branch-heads/5.3 -> branch-heads/5.3 [0:03:34] * [new ref] refs/branch-heads/5.4 -> branch-heads/5.4 [0:03:34] * [new ref] refs/branch-heads/5.5 -> branch-heads/5.5 [0:03:34] * [new ref] refs/branch-heads/5.6 -> branch-heads/5.6 [0:03:34] * [new ref] refs/branch-heads/5.7 -> branch-heads/5.7 [0:03:34] * [new ref] refs/branch-heads/5.8 -> branch-heads/5.8 [0:03:34] * [new ref] refs/branch-heads/5.9 -> branch-heads/5.9 [0:03:34] * [new ref] refs/branch-heads/6.0 -> branch-heads/6.0 [0:03:34] * [new ref] refs/branch-heads/6.1 -> branch-heads/6.1 [0:03:34] * [new ref] refs/branch-heads/6.2 -> branch-heads/6.2 [0:03:34] * [new ref] refs/branch-heads/6.3 -> branch-heads/6.3 [0:03:34] * [new ref] refs/branch-heads/6.4 -> branch-heads/6.4 [0:03:34] * [new ref] refs/branch-heads/6.5 -> branch-heads/6.5 [0:03:34] * [new ref] refs/branch-heads/6.6 -> branch-heads/6.6 [0:03:34] * [new ref] refs/branch-heads/6.7 -> branch-heads/6.7 [0:03:34] * [new ref] refs/branch-heads/6.8 -> branch-heads/6.8 [0:03:34] * [new ref] refs/branch-heads/6.9 -> branch-heads/6.9 [0:03:34] * [new ref] refs/branch-heads/7.0 -> branch-heads/7.0 [0:03:34] * [new ref] refs/branch-heads/7.1 -> branch-heads/7.1 [0:03:34] * [new ref] refs/branch-heads/experimental -> branch-heads/experimental [0:03:34] * [new ref] refs/branch-heads/test-gnumbd -> branch-heads/test-gnumbd [0:03:39] Checked out refs/remotes/origin/master to a detached HEAD. Before making any commits in this repo, you should use 'git checkout <branch>' to switch to an existing branch or use 'git checkout origin -b <branch>' to create a new branch for your work. [0:03:39] ---------------------------------------- Traceback (most recent call last): File "/usr/home/ethin/depot_tools/metrics.py", line 262, in print_notice_and_exit yield File "/home/ethin/depot_tools/gclient.py", line 3107, in <module> sys.exit(main(sys.argv[1:])) File "/home/ethin/depot_tools/gclient.py", line 3093, in main return dispatcher.execute(OptionParser(), argv) File "/usr/home/ethin/depot_tools/subcommand.py", line 252, in execute return command(parser, args[1:]) File "/home/ethin/depot_tools/gclient.py", line 2672, in CMDsync ret = client.RunOnDeps('update', args) File "/home/ethin/depot_tools/gclient.py", line 1705, in RunOnDeps patch_refs=patch_refs, target_branches=target_branches) File "/usr/home/ethin/depot_tools/gclient_utils.py", line 1075, in run self.item.run(*self.args, **self.kwargs) File "/home/ethin/depot_tools/gclient.py", line 924, in run self.ParseDepsFile() File "/home/ethin/depot_tools/gclient.py", line 684, in ParseDepsFile filepath, self.get_vars(), self.get_builtin_vars()) File "/home/ethin/depot_tools/gclient.py", line 1228, in get_vars parent_vars = self.parent.get_vars() File "/home/ethin/depot_tools/gclient.py", line 1231, in get_vars result.update(self.get_builtin_vars()) File "/home/ethin/depot_tools/gclient.py", line 1204, in get_builtin_vars 'host_os': _detect_host_os(), File "/home/ethin/depot_tools/gclient.py", line 1246, in _detect_host_os return _PLATFORM_MAPPING[sys.platform] KeyError: 'freebsd11' Traceback (most recent call last): File "../depot_tools/fetch.py", line 306, in <module> sys.exit(main()) File "../depot_tools/fetch.py", line 301, in main return run(options, spec, root) File "../depot_tools/fetch.py", line 295, in run return checkout.init() File "../depot_tools/fetch.py", line 137, in init self.run_gclient(*sync_cmd) File "../depot_tools/fetch.py", line 82, in run_gclient return self.run(cmd_prefix + cmd, **kwargs) File "../depot_tools/fetch.py", line 71, in run subprocess.check_call(cmd, **kwargs) File "/home/ethin/.pyenv/versions/2.7.15/lib/python2.7/subprocess.py", line 190, in check_call raise CalledProcessError(retcode, cmd) subprocess.CalledProcessError: Command '('gclient', 'sync', '--with_branch_heads')' returned non-zero exit status 1 So, not only is CIPD unavailable for FreeBSD (and I can't find the source code for it), but gclient apparently doesn't support my OS. And I have no idea if I can build V8 anyway, even if fetch v8 fails at this point. Oh, and I can't forget to mention that gn doesn't work, either. So is there any way around this? Because I wanted to embed V8 into my project, but this is really starting to disappoint me. I've heard great things about it, I've used it in Node.JS, and yet I can't build it to embed it because the build system is so convoluted. What happened to the old CMake/make combo that works so well? What happened to autoconf? Or any of the other good build systems that do work on pretty much all OSes? I don't mean to be overly rude but this is ridiculous. -- -- v8-users mailing list v8-users@googlegroups.com http://groups.google.com/group/v8-users --- You received this message because you are subscribed to the Google Groups "v8-users" group. To unsubscribe from this group and stop receiving emails from it, send an email to v8-users+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.