Problem building Blueprint

I’ve followed the instructions for building a new Theia project, and have tried to build Blueprint too. I know this is probably an amateur error, hoping someone can point me in the right direction. I have all the dependencies installed that are noted in the docs.

Ubuntu 22.04
Node v16.17.0
Yarn v1.22.19

My system has the xorgproto headers, this file exists on my system:
/usr/include/X11/X.h

I get this error when running yarn. The page-builder directory is renamed from a clone of the blueprint repo with no changes.

yarn install v1.22.19
$ node-gyp install
gyp info it worked if it ends with ok
gyp info using node-gyp@9.3.1
gyp info using node@16.17.0 | linux | x64
gyp http GET https://nodejs.org/download/release/v16.17.0/node-v16.17.0-headers.tar.gz
gyp http 200 https://nodejs.org/download/release/v16.17.0/node-v16.17.0-headers.tar.gz
gyp http GET https://nodejs.org/download/release/v16.17.0/SHASUMS256.txt
gyp http 200 https://nodejs.org/download/release/v16.17.0/SHASUMS256.txt
undefined
gyp info ok 
[1/5] Validating package.json...
[2/5] Resolving packages...
[3/5] Fetching packages...
warning plugin-a@1.39.0: The engine "vscode" appears to be invalid.
warning plugin-b@1.39.0: The engine "vscode" appears to be invalid.
[4/5] Linking dependencies...
warning " > @theia/electron@1.39.0" has unmet peer dependency "electron@^23.2.4".
warning "workspace-aggregator-262b6ca0-92ae-42f1-b764-7ef3988c1a99 > @theia/messages > react-perfect-scrollbar@1.5.8" has unmet peer dependency "react@>=16.3.3".
warning "workspace-aggregator-262b6ca0-92ae-42f1-b764-7ef3988c1a99 > @theia/messages > react-perfect-scrollbar@1.5.8" has unmet peer dependency "react-dom@>=16.3.3".
warning "workspace-aggregator-262b6ca0-92ae-42f1-b764-7ef3988c1a99 > @theia/preview > markdown-it-anchor@5.0.2" has unmet peer dependency "markdown-it@^8.4.1".
warning "workspace-aggregator-262b6ca0-92ae-42f1-b764-7ef3988c1a99 > @theia/process > node-pty@0.11.0-beta17" has incorrect peer dependency "node-gyp@^8.3.0".
warning "workspace-aggregator-262b6ca0-92ae-42f1-b764-7ef3988c1a99 > @theia/scm > react-autosize-textarea@7.1.0" has unmet peer dependency "react@^0.14.0 || ^15.0.0 || ^16.0.0".
warning "workspace-aggregator-262b6ca0-92ae-42f1-b764-7ef3988c1a99 > @theia/scm > react-autosize-textarea@7.1.0" has unmet peer dependency "react-dom@^0.14.0 || ^15.0.0 || ^16.0.0".
[5/5] Building fresh packages...
[13/18] ⠐ node-pty
[11/18] ⠐ keytar
[10/18] ⠐ drivelist
[9/18] ⠐ native-keymap
error /home/kevin/Repos/ladybird/page-builder/node_modules/native-keymap: Command failed.
Exit code: 1
Command: node-gyp rebuild
Arguments: 
Directory: /home/kevin/Repos/ladybird/page-builder/node_modules/native-keymap
Output:
gyp info it worked if it ends with ok
gyp info using node-gyp@9.3.1
gyp info using node@16.17.0 | linux | x64
gyp info find Python using Python version 3.7.6 found at "/home/kevin/.anaconda3/bin/python3"
gyp info spawn /home/kevin/.anaconda3/bin/python3
gyp info spawn args [
gyp info spawn args   '/home/kevin/Repos/ladybird/page-builder/node_modules/node-gyp/gyp/gyp_main.py',
gyp info spawn args   'binding.gyp',
gyp info spawn args   '-f',
gyp info spawn args   'make',
gyp info spawn args   '-I',
gyp info spawn args   '/home/kevin/Repos/ladybird/page-builder/node_modules/native-keymap/build/config.gypi',
gyp info spawn args   '-I',
gyp info spawn args   '/home/kevin/Repos/ladybird/page-builder/node_modules/node-gyp/addon.gypi',
gyp info spawn args   '-I',
gyp info spawn args   '/home/kevin/.cache/node-gyp/16.17.0/include/node/common.gypi',
gyp info spawn args   '-Dlibrary=shared_library',
gyp info spawn args   '-Dvisibility=default',
gyp info spawn args   '-Dnode_root_dir=/home/kevin/.cache/node-gyp/16.17.0',
gyp info spawn args   '-Dnode_gyp_dir=/home/kevin/Repos/ladybird/page-builder/node_modules/node-gyp',
gyp info spawn args   '-Dnode_lib_file=/home/kevin/.cache/node-gyp/16.17.0/<(target_arch)/node.lib',
gyp info spawn args   '-Dmodule_root_dir=/home/kevin/Repos/ladybird/page-builder/node_modules/native-keymap',
gyp info spawn args   '-Dnode_engine=v8',
gyp info spawn args   '--depth=.',
gyp info spawn args   '--no-parallel',
gyp info spawn args   '--generator-output',
gyp info spawn args   'build',
gyp info spawn args   '-Goutput_dir=.'
gyp info spawn args ]
gyp info spawn make
gyp info spawn args [ 'BUILDTYPE=Release', '-C', 'build' ]
make: Entering directory '/home/kevin/Repos/ladybird/page-builder/node_modules/native-keymap/build'
  CXX(target) Release/obj.target/keymapping/src/string_conversion.o
  CXX(target) Release/obj.target/keymapping/src/keymapping.o
  CXX(target) Release/obj.target/keymapping/deps/chromium/x/keysym_to_unicode.o
../deps/chromium/x/keysym_to_unicode.cc:37:10: fatal error: X11/X.h: No such file or directory
 #include <X11/X.h>
          ^~~~~~~~~
compilation terminated.
make: *** [keymapping.target.mk:114: Release/obj.target/keymapping/deps/chromium/x/keysym_to_unicode.o] Error 1
make: Leaving directory '/home/kevin/Repos/ladybird/page-builder/node_modules/native-keymap/build'
gyp ERR! build error 
gyp ERR! stack Error: `make` failed with exit code: 2
gyp ERR! stack     at ChildProcess.onExit (/home/kevin/Repos/ladybird/page-builder/node_modules/node-gyp/lib/build.js:203:23)
gyp ERR! stack     at ChildProcess.emit (node:events:513:28)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (node:internal/child_process:291:12)
gyp ERR! System Linux 5.15.0-76-generic
gyp ERR! command "/home/kevin/.nvm/versions/node/v16.17.0/bin/node" "/home/kevin/Repos/ladybird/page-builder/node_modules/.bin/node-gyp" "rebuild"
gyp ERR! cwd /home/kevin/Repos/ladybird/page-builder/node_modules/native-keymap

I found my problem. I was using Anaconda, which doesn’t have the X11 files in its environment.