I'm now curious why no one cared to do that? It just doesn't make sense. On 11/26/18, Jakob Kummerow <jkumme...@chromium.org> wrote: > Yes, the official V8 build instructions don't work on FreeBSD. That's > because nobody cared enough to make it work. Do you? > > You can look at whatever Node is doing to build V8 on FreeBSD -- I believe > they have a solution. Feel free to submit a patch to the documentation (via > GitHub PR to v8.dev <https://github.com/v8/v8.dev>) once you've figured it > out. > > As for CMake/autoconf/whatever: choosing build systems is harder than most > people realize, and there are many constraints. For the time being, the > best fit for V8's needs is GN. > > > On Mon, Nov 26, 2018 at 3:19 PM Ethin Probst <harlydavid...@gmail.com> > wrote: > >> 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. >> > > -- > -- > v8-users mailing list > v8-users@googlegroups.com > http://groups.google.com/group/v8-users > --- > You received this message because you are subscribed to a topic in the > Google Groups "v8-users" group. > To unsubscribe from this topic, visit > https://groups.google.com/d/topic/v8-users/5H1kaLxMV04/unsubscribe. > To unsubscribe from this group and all its topics, send an email to > v8-users+unsubscr...@googlegroups.com. > For more options, visit https://groups.google.com/d/optout. >
-- Signed, Ethin D. Probst -- -- 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.