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.

Reply via email to