Skip to content
This repository has been 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
ignisf opened this issue Dec 13, 2017 · 15 comments

Comments

@ignisf
Copy link
Collaborator

ignisf commented Dec 13, 2017

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

@courtland
Copy link

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

@angeloudy
Copy link

angeloudy commented Jun 27, 2018

Having the same issue when trying to install libv8 6.3

@angeloudy
Copy link

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

@ignisf
Copy link
Collaborator Author

ignisf commented Jun 27, 2018

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.

@ignisf
Copy link
Collaborator Author

ignisf commented Jun 27, 2018

Alas, still

  File "/home/vagrant/libv8/vendor/depot_tools/gclient.py", line 1205, in _detect_host_os
    return _PLATFORM_MAPPING[sys.platform]
KeyError: 'freebsd11'

@ignisf ignisf 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 Jun 27, 2018
@ignisf
Copy link
Collaborator Author

ignisf commented Jun 27, 2018

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

@ignisf
Copy link
Collaborator Author

ignisf commented Jun 27, 2018

(Star the issues there)

@sevospl
Copy link

sevospl commented Jun 22, 2019

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.

@ignisf
Copy link
Collaborator Author

ignisf commented Aug 7, 2019

@GremL1N
Copy link

GremL1N commented Oct 11, 2019

so badly

@GremL1N
Copy link

GremL1N commented Oct 11, 2019

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

@ignisf
Copy link
Collaborator Author

ignisf commented Oct 11, 2019

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

@tarkhil
Copy link

tarkhil commented Dec 13, 2020

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...

@oklas
Copy link

oklas commented Jun 24, 2021

Currently port lang/v8 version 9.0 is available.

@lloeki
Copy link
Contributor

lloeki commented Dec 4, 2023

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

@lloeki lloeki closed this as completed Dec 4, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

8 participants