Yarn failure when building XO

I’m trying to build XO from source following the guide in this forum, using Debian 11 and I’ve tried Ubuntu 22 as well. I keep getting failures from Yarn when running xo-install.sh and I’m not sure what’s going on, I have network connectivity and can connect to the hosts with curl just fine, but when I try running yarn by myself I get the results listed below:


root@xo:/opt/xo/xo-src/xen-orchestra# yarn --verbose --network-timeout 100000
yarn install v1.22.19
verbose 1.501009769 Checking for configuration file "/opt/xo/xo-src/xen-orchestra/.npmrc".
verbose 1.53677986 Checking for configuration file "/usr/local/share/.npmrc".
verbose 1.53902741 Checking for configuration file "/usr/etc/npmrc".
verbose 1.54064482 Checking for configuration file "/root/.npmrc".
verbose 1.542899475 Checking for configuration file "/opt/xo/xo-src/xen-orchestra/.npmrc".
verbose 1.543689538 Checking for configuration file "/opt/xo/xo-src/.npmrc".
verbose 1.545135563 Checking for configuration file "/opt/xo/.npmrc".
verbose 1.546317316 Checking for configuration file "/opt/.npmrc".
verbose 1.549051488 Checking for configuration file "/opt/xo/xo-src/xen-orchestra/.yarnrc".
verbose 1.549953511 Checking for configuration file "/usr/local/share/.yarnrc".
verbose 1.550974055 Checking for configuration file "/usr/etc/yarnrc".
verbose 1.585869182 Checking for configuration file "/root/.yarnrc".
verbose 1.587119015 Checking for configuration file "/opt/xo/xo-src/xen-orchestra/.yarnrc".
verbose 1.588528886 Checking for configuration file "/opt/xo/xo-src/.yarnrc".
verbose 1.590259022 Checking for configuration file "/opt/xo/.yarnrc".
verbose 1.592178206 Checking for configuration file "/opt/.yarnrc".
verbose 1.647374917 current time: 2023-03-27T00:25:32.298Z
verbose 2.548519244 Performing "GET" request to "https://yarnpkg.com/latest-version".
[1/5] Validating package.json...
[2/5] Resolving packages...
[3/5] Fetching packages...
verbose 13.948161868 Performing "GET" request to "https://registry.yarnpkg.com/@babel/parser/-/parser-7.21.2.tgz".
verbose 14.051117467 Performing "GET" request to "https://registry.yarnpkg.com/@babel/core/-/core-7.21.0.tgz".
verbose 14.05817095 Performing "GET" request to "https://registry.yarnpkg.com/@ampproject/remapping/-/remapping-2.2.0.tgz".
verbose 14.101632039 Performing "GET" request to "https://registry.yarnpkg.com/@babel/generator/-/generator-7.21.1.tgz".
verbose 14.144317296 Performing "GET" request to "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.18.6.tgz".
verbose 14.150955639 Performing "GET" request to "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.20.7.tgz".
verbose 14.156931278 Performing "GET" request to "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.21.0.tgz".
info There appears to be trouble with your network connection. Retrying...
verbose 117.00473677 Performing "GET" request to "https://yarnpkg.com/latest-version".
info There appears to be trouble with your network connection. Retrying...
verbose 235.923521572 Performing "GET" request to "https://registry.yarnpkg.com/@babel/parser/-/parser-7.21.2.tgz".
verbose 235.92539328 Performing "GET" request to "https://registry.yarnpkg.com/@babel/core/-/core-7.21.0.tgz".
verbose 235.927716298 Performing "GET" request to "https://registry.yarnpkg.com/@ampproject/remapping/-/remapping-2.2.0.tgz".
verbose 235.929980098 Performing "GET" request to "https://registry.yarnpkg.com/@babel/generator/-/generator-7.21.1.tgz".
verbose 235.931826416 Performing "GET" request to "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.18.6.tgz".
verbose 235.933532925 Performing "GET" request to "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.20.7.tgz".
verbose 235.935321144 Performing "GET" request to "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.21.0.tgz".
info There appears to be trouble with your network connection. Retrying...
verbose 257.862901671 Performing "GET" request to "https://yarnpkg.com/latest-version".
info There appears to be trouble with your network connection. Retrying...
verbose 341.055521309 Performing "GET" request to "https://registry.yarnpkg.com/@babel/parser/-/parser-7.21.2.tgz".
verbose 341.096523441 Performing "GET" request to "https://registry.yarnpkg.com/@babel/core/-/core-7.21.0.tgz".
verbose 341.098533637 Performing "GET" request to "https://registry.yarnpkg.com/@ampproject/remapping/-/remapping-2.2.0.tgz".
verbose 341.101644734 Performing "GET" request to "https://registry.yarnpkg.com/@babel/generator/-/generator-7.21.1.tgz".
verbose 341.103386652 Performing "GET" request to "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.18.6.tgz".
verbose 341.104995921 Performing "GET" request to "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.20.7.tgz".
verbose 341.107174472 Performing "GET" request to "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.21.0.tgz".

Edit: I’ve tried with NPM, same result, but curl is able to access these URLs without issue:

root@xo:~# curl -I https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.18.6.tgz
HTTP/2 200 
date: Mon, 27 Mar 2023 00:47:03 GMT
content-type: application/octet-stream
cf-ray: 7ae39eac3b4e3b29-IAD
accept-ranges: bytes
access-control-allow-origin: *
age: 2039758
cache-control: public, must-revalidate, max-age=31557600
etag: "06bf74bedad2a91ac5c5950ee0d527a4"
last-modified: Mon, 27 Jun 2022 19:50:09 GMT
vary: Accept-Encoding
cf-cache-status: HIT
x-amz-replication-status: COMPLETED
server: cloudflare

behind cloudflare? The chance is low but you might rate-limited, especially if you behind CGNAT where plenty of people might be doing similar get requests to yarnpkg. no other thing than trying again, or alter the script not to download it again as long as you’re sure it’s already in your local folder

That seems unlikely, I’m currently trying to build in a VM on my Mac using VirtualBox, and I’m easily able to get yarn to install all the dependencies if I check out the xen-orchestra sources on my Mac.

If I were you I’d just run this well known script provided by ronivay.

EDIT
I just realized that is the script you tried to run. Have you updated your local git by running git pull under the “XenOrchestraInstallerUpdater” directory to make sure the script is up to date.

I finally got it to build, not sure what exactly changed, but I have a sneaking suspicion it might have been due to low disk space on the host.

How much disk did you give the VM before the build? 16gb is my minimum with a physical disk, you get about 2 updates before it fills the disk. Was a real problem until I spent another $25 to upgrade the disk.

Or were you thinking the physical disk in the host machine was too full to allow it to grow out to where it needed?

I think it was the physical disk on my host, which I noticed was filling up, and the VM image was set to grow, so it may have been unable to allocate additional space.