Skip to content
This repository was archived by the owner on Dec 4, 2023. It is now read-only.
This repository was archived by the owner on Dec 4, 2023. It is now read-only.

Chromium's depot_tools do not work on FreeBSD which causes the build of v8 6.2+ to fail #253

Closed

Description

@ignisf

At this point there is no upstream support for building V8 on FreeBSD.

[vagrant@ ~]$ fetch v8
Running: gclient root
Running: gclient config --spec 'solutions = [
  {
    "url": "https://chromium.googlesource.com/v8/v8.git",
    "managed": False,
    "name": "v8",
    "deps_file": "DEPS",
    "custom_deps": {},
  },
]
'
Running: gclient sync --with_branch_heads

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 /home/vagrant/_gclient_v8_QyrTf0' in '/home/vagrant'
[0:00:00] Cloning into '/home/vagrant/_gclient_v8_QyrTf0'...
[0:00:03] remote: Sending approximately 527.03 MiB ...        
[0:00:04] remote: Counting objects: 1           
[0:00:04] remote: Counting objects: 7660, done        
[0:01:34] Receiving objects: 100% (515515/515515), 526.45 MiB | 5.84 MiB/s, done.
[0:01:34] remote: Total 515515 (delta 421712), reused 515515 (delta 421712)        
[0:02:43] Resolving deltas: 100% (421712/421712), done.
[0:03:02] From https://chromium.googlesource.com/v8/v8
[0:03:02]  * [new ref]               refs/branch-heads/0.1         -> branch-heads/0.1
[0:03:02]  * [new ref]               refs/branch-heads/0.3         -> branch-heads/0.3
[0:03:02]  * [new ref]               refs/branch-heads/1.1         -> branch-heads/1.1
[0:03:02]  * [new ref]               refs/branch-heads/1.2         -> branch-heads/1.2
[0:03:02]  * [new ref]               refs/branch-heads/1.3         -> branch-heads/1.3
[0:03:02]  * [new ref]               refs/branch-heads/2.0         -> branch-heads/2.0
[0:03:02]  * [new ref]               refs/branch-heads/2.1         -> branch-heads/2.1
[0:03:02]  * [new ref]               refs/branch-heads/2.2         -> branch-heads/2.2
[0:03:02]  * [new ref]               refs/branch-heads/2.3         -> branch-heads/2.3
[0:03:02]  * [new ref]               refs/branch-heads/2.4         -> branch-heads/2.4
[0:03:02]  * [new ref]               refs/branch-heads/2.5         -> branch-heads/2.5
[0:03:02]  * [new ref]               refs/branch-heads/3.0         -> branch-heads/3.0
[0:03:02]  * [new ref]               refs/branch-heads/3.1         -> branch-heads/3.1
[0:03:02]  * [new ref]               refs/branch-heads/3.10        -> branch-heads/3.10
[0:03:02]  * [new ref]               refs/branch-heads/3.11        -> branch-heads/3.11
[0:03:02]  * [new ref]               refs/branch-heads/3.12        -> branch-heads/3.12
[0:03:02]  * [new ref]               refs/branch-heads/3.13        -> branch-heads/3.13
[0:03:02]  * [new ref]               refs/branch-heads/3.14        -> branch-heads/3.14
[0:03:02]  * [new ref]               refs/branch-heads/3.15        -> branch-heads/3.15
[0:03:02]  * [new ref]               refs/branch-heads/3.16        -> branch-heads/3.16
[0:03:02]  * [new ref]               refs/branch-heads/3.17        -> branch-heads/3.17
[0:03:02]  * [new ref]               refs/branch-heads/3.18        -> branch-heads/3.18
[0:03:02]  * [new ref]               refs/branch-heads/3.19        -> branch-heads/3.19
[0:03:02]  * [new ref]               refs/branch-heads/3.2         -> branch-heads/3.2
[0:03:02]  * [new ref]               refs/branch-heads/3.20        -> branch-heads/3.20
[0:03:02]  * [new ref]               refs/branch-heads/3.20.15.5   -> branch-heads/3.20.15.5
[0:03:02]  * [new ref]               refs/branch-heads/3.21        -> branch-heads/3.21
[0:03:02]  * [new ref]               refs/branch-heads/3.22        -> branch-heads/3.22
[0:03:02]  * [new ref]               refs/branch-heads/3.23        -> branch-heads/3.23
[0:03:02]  * [new ref]               refs/branch-heads/3.24        -> branch-heads/3.24
[0:03:02]  * [new ref]               refs/branch-heads/3.25        -> branch-heads/3.25
[0:03:02]  * [new ref]               refs/branch-heads/3.26        -> branch-heads/3.26
[0:03:02]  * [new ref]               refs/branch-heads/3.27        -> branch-heads/3.27
[0:03:02]  * [new ref]               refs/branch-heads/3.28        -> branch-heads/3.28
[0:03:02]  * [new ref]               refs/branch-heads/3.29        -> branch-heads/3.29
[0:03:02]  * [new ref]               refs/branch-heads/3.3         -> branch-heads/3.3
[0:03:02]  * [new ref]               refs/branch-heads/3.30        -> branch-heads/3.30
[0:03:02]  * [new ref]               refs/branch-heads/3.31        -> branch-heads/3.31
[0:03:02]  * [new ref]               refs/branch-heads/3.4         -> branch-heads/3.4
[0:03:02]  * [new ref]               refs/branch-heads/3.5         -> branch-heads/3.5
[0:03:02]  * [new ref]               refs/branch-heads/3.6         -> branch-heads/3.6
[0:03:02]  * [new ref]               refs/branch-heads/3.7         -> branch-heads/3.7
[0:03:02]  * [new ref]               refs/branch-heads/3.8         -> branch-heads/3.8
[0:03:02]  * [new ref]               refs/branch-heads/3.9         -> branch-heads/3.9
[0:03:02]  * [new ref]               refs/branch-heads/4.1         -> branch-heads/4.1
[0:03:02]  * [new ref]               refs/branch-heads/4.2         -> branch-heads/4.2
[0:03:02]  * [new ref]               refs/branch-heads/4.2.39      -> branch-heads/4.2.39
[0:03:02]  * [new ref]               refs/branch-heads/4.3         -> branch-heads/4.3
[0:03:02]  * [new ref]               refs/branch-heads/4.4         -> branch-heads/4.4
[0:03:02]  * [new ref]               refs/branch-heads/4.5         -> branch-heads/4.5
[0:03:02]  * [new ref]               refs/branch-heads/4.6         -> branch-heads/4.6
[0:03:02]  * [new ref]               refs/branch-heads/4.7         -> branch-heads/4.7
[0:03:02]  * [new ref]               refs/branch-heads/4.8         -> branch-heads/4.8
[0:03:02]  * [new ref]               refs/branch-heads/4.9         -> branch-heads/4.9
[0:03:02]  * [new ref]               refs/branch-heads/5.0         -> branch-heads/5.0
[0:03:02]  * [new ref]               refs/branch-heads/5.1         -> branch-heads/5.1
[0:03:02]  * [new ref]               refs/branch-heads/5.2         -> branch-heads/5.2
[0:03:02]  * [new ref]               refs/branch-heads/5.3         -> branch-heads/5.3
[0:03:02]  * [new ref]               refs/branch-heads/5.4         -> branch-heads/5.4
[0:03:02]  * [new ref]               refs/branch-heads/5.5         -> branch-heads/5.5
[0:03:02]  * [new ref]               refs/branch-heads/5.6         -> branch-heads/5.6
[0:03:02]  * [new ref]               refs/branch-heads/5.7         -> branch-heads/5.7
[0:03:02]  * [new ref]               refs/branch-heads/5.8         -> branch-heads/5.8
[0:03:02]  * [new ref]               refs/branch-heads/5.9         -> branch-heads/5.9
[0:03:02]  * [new ref]               refs/branch-heads/6.0         -> branch-heads/6.0
[0:03:02]  * [new ref]               refs/branch-heads/6.1         -> branch-heads/6.1
[0:03:02]  * [new ref]               refs/branch-heads/6.2         -> branch-heads/6.2
[0:03:02]  * [new ref]               refs/branch-heads/6.3         -> branch-heads/6.3
[0:03:02]  * [new ref]               refs/branch-heads/6.4         -> branch-heads/6.4
[0:03:02]  * [new ref]               refs/branch-heads/experimental -> branch-heads/experimental
[0:03:02]  * [new ref]               refs/branch-heads/test-gnumbd -> branch-heads/test-gnumbd
[0:03:07] 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:07]
----------------------------------------
Traceback (most recent call last):
  File "/home/vagrant/libv8/vendor/depot_tools/gclient.py", line 2679, in <module>
    sys.exit(main(sys.argv[1:]))
  File "/home/vagrant/libv8/vendor/depot_tools/gclient.py", line 2665, in main
    return dispatcher.execute(OptionParser(), argv)
  File "/home/vagrant/libv8/vendor/depot_tools/subcommand.py", line 252, in execute
    return command(parser, args[1:])
  File "/home/vagrant/libv8/vendor/depot_tools/gclient.py", line 2420, in CMDsync
    ret = client.RunOnDeps('update', args)
  File "/home/vagrant/libv8/vendor/depot_tools/gclient.py", line 1497, in RunOnDeps
    work_queue.flush(revision_overrides, command, args, options=self._options)
  File "/home/vagrant/libv8/vendor/depot_tools/gclient_utils.py", line 1059, in run
    self.item.run(*self.args, **self.kwargs)
  File "/home/vagrant/libv8/vendor/depot_tools/gclient.py", line 903, in run
    self.ParseDepsFile()
  File "/home/vagrant/libv8/vendor/depot_tools/gclient.py", line 721, in ParseDepsFile
    for key, value in self.parent.get_vars().iteritems():
  File "/home/vagrant/libv8/vendor/depot_tools/gclient.py", line 1191, in get_vars
    'host_os': _detect_host_os(),
  File "/home/vagrant/libv8/vendor/depot_tools/gclient.py", line 1209, in _detect_host_os
    return _PLATFORM_MAPPING[sys.platform]
KeyError: 'freebsd11'
Traceback (most recent call last):
  File "/home/vagrant/libv8/vendor/depot_tools/fetch.py", line 301, in <module>
    sys.exit(main())
  File "/home/vagrant/libv8/vendor/depot_tools/fetch.py", line 296, in main
    return run(options, spec, root)
  File "/home/vagrant/libv8/vendor/depot_tools/fetch.py", line 290, in run
    return checkout.init()
  File "/home/vagrant/libv8/vendor/depot_tools/fetch.py", line 133, in init
    self.run_gclient(*sync_cmd)
  File "/home/vagrant/libv8/vendor/depot_tools/fetch.py", line 78, in run_gclient
    return self.run(cmd_prefix + cmd, **kwargs)
  File "/home/vagrant/libv8/vendor/depot_tools/fetch.py", line 68, in run
    return subprocess.check_output(cmd, **kwargs)
  File "/usr/local/lib/python2.7/subprocess.py", line 219, in check_output
    raise CalledProcessError(retcode, cmd, output=output)
subprocess.CalledProcessError: Command '('gclient', 'sync', '--with_branch_heads')' returned non-zero exit status 1

Activity

  1. courtland commented on Jun 12, 2018

    @courtland

    Are there any plans to fix latest libv8 versions under FreeBSD?

  2. angeloudy commented on Jun 27, 2018

    @angeloudy

    Having the same issue when trying to install libv8 6.3

  3. angeloudy commented on Jun 27, 2018

    @angeloudy

    There are no binary gems for freebsd after version 6.0.
    https://github.com/cowboyd/libv8/releases

  4. ignisf commented on Jun 27, 2018

    @ignisf
    CollaboratorAuthor

    Hello,

    Upstream's GYP build system does not seem to be validated against FreeBSD which is causing trouble here. I'm in the works of packaging v8 6.7. Will see if I can resume FreeBSD binary production with it. Apart from that, if you're able to make V8's build scripts work, I am willing to accept patches.

  5. ignisf commented on Jun 27, 2018

    @ignisf
    CollaboratorAuthor

    Alas, still

      File "/home/vagrant/libv8/vendor/depot_tools/gclient.py", line 1205, in _detect_host_os
        return _PLATFORM_MAPPING[sys.platform]
    KeyError: 'freebsd11'
    
  6. changed the title [-]Chromium's depot_tools do not work on FreeBSD which causes the build of v8 6.2 to fail[/-] [+]Chromium's depot_tools do not work on FreeBSD which causes the build of v8 6.2+ to fail[/+] on Jun 27, 2018
  7. ignisf commented on Jun 27, 2018

    @ignisf
    CollaboratorAuthor

    I've opened an issue with the V8 project: https://bugs.chromium.org/p/chromium/issues/detail?id=857057. Additionally this troubling issue exists: https://bugs.chromium.org/p/v8/issues/detail?id=6676

  8. ignisf commented on Jun 27, 2018

    @ignisf
    CollaboratorAuthor

    (Star the issues there)

  9. sevospl commented on Jun 22, 2019

    @sevospl

    It's already 2019 and we still don't have libv8 for FreeBSD.

    Could anyone build the newest version for FreeBSD, please? Still haven't managed to do this.

  10. ignisf commented on Aug 7, 2019

    @ignisf
    CollaboratorAuthor
  11. GremL1N commented on Oct 11, 2019

    @GremL1N

    so badly

  12. GremL1N commented on Oct 11, 2019

    @GremL1N

    In FreeBSD there is port to build v8. (lang/v8). Can we use it in some way?

  13. ignisf commented on Oct 11, 2019

    @ignisf
    CollaboratorAuthor

    as far as I can tell the port there is of version 3.18 so unfortunately no

  14. tarkhil commented on Dec 13, 2020

    @tarkhil

    In FreeBSD there is port to build v8. (lang/v8). Can we use it in some way?

    Yes, but no.

    Building of libv8 depends heavily on google depot_tools, and Google has much less than no interest in supporting FreeBSD.

    I'm currently fighting that overwindowish thing, with lots of well-hidden downloads of precompiled binaries without any clue on sources or even specs. Looks like I'll have to try to cut off all that "automation" and step-by-step fill everything manually, than think on depot_tools rewriting from scratch.

    I do wonder: they have time, human resource and money for Code of Conduct, to put out all possibly offensive jokes, words and so on; at the same time, they do deprive me of using my favorite OS just becaues (disabled by CoC fword) you, that's why! - and feel comfortable with it...

  15. oklas commented on Jun 24, 2021

    @oklas

    Currently port lang/v8 version 9.0 is available.

  16. lloeki commented on Dec 4, 2023

    @lloeki
    Contributor

    Closing as this issue is completely sidestepped in libv8-node.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions