Error while compiling qubes-vm

Getting close to getting everything to build. I’m just getting some build errors, which I don’t understand where they’re coming from. Do I need to run make with sudo?

The package has been created.
Attention, the package has been created in the current directory,
not in “…” as indicated by the message above!
Selecting previously unselected package xen-build-deps.
(Reading database … 34933 files and directories currently installed.)
Preparing to unpack xen-build-deps_4.8.5-35_all.deb …
Unpacking xen-build-deps (2001:4.8.5-35) …
Reading package lists…
Building dependency tree…
Reading state information…
Correcting dependencies… Done
The following packages will be REMOVED:
xen-build-deps
0 upgraded, 0 newly installed, 1 to remove and 0 not upgraded.
1 not fully installed or removed.
After this operation, 9216 B disk space will be freed.
E: Can not write log (Is /dev/pts mounted?) - posix_openpt (2: No such file or directory)
(Reading database … 34937 files and directories currently installed.)
Removing xen-build-deps (2001:4.8.5-35) …
mk-build-deps: Unable to install xen-build-deps at /usr/bin/mk-build-deps line 457.
mk-build-deps: Unable to install all build-dep packages
make[2]: *** [/home/user/qubes-builder/qubes-src/builder-debian//Makefile-legacy.debian:45: dist-build-dep] Error 1
make[1]: *** [Makefile.generic:191: packages] Error 1
make: *** [Makefile:259: vmm-xen-vm] Error 1

It mean:

Error: Can not write log to /dev/pts (pseudoterminal) because no posix_openpt() function to create pts

So what is your build environment and can you build in a difference environment (use a difference OS)

I’m using Fedora 33. I’m trying to compile Whonix after the qubes-vm. Not using a disposable VM till minimize configuration variables for now. Should I be using Debian for this? If I delete the Qube does that clear the used disk space?

That’s something I’ve seen myself. Other symptoms include script refusing to run, screen refusing to open a new window, you name it.

I don’t have a full diagnostic for now, but the following are probably relevant:

  • qubes-builder creates bind-mounts of several dirs into its chroots (here /dev/pts is relevant, but you’ll see /proc and others)
  • in some situations after a run those mounts are not cleaned up (could not see a pattern, eg. this happened to be both on build success and build failure)
  • as a result I ran into errors when carelessly attempting to sudo rm -rf the chroots: obviously we must cleanup the mess first

Now:

  • I don’t see why the unmounting of bind-mounts would end up unmounting /dev/pts
  • you did not mention going such a route, so I tend to assume you did not :slight_smile:

So we most likely have a bug in bind-mount handling (at least for the ones not getting unmounted), and this might be related (eg. could be unmounting the source of the bind-mount instead of the target).

Should I be using a Debian OS for building Whonix?

that weird

maybe you should try

Debian breaks the dependencies needed for pulling everything in. Getting the same errors just starting with the setup script, and a fresh qube. I’m using an Insurgo laptop.

Following this with updated values.

I am also encountering this error about /dev/pts when attempting to build the template for Ubuntu Focal with the instructions at Contents/docs/os/ubuntu.md at master · Qubes-Community/Contents · GitHub

When I ran ~/qubes-builder/setup I chose no pre-built packages and chose to build only the focal template. I am attempting this build in a StandaloneVM provisioned from the Fedora 38 template provided by the Qubes project. Personally I have enough relevant skills that I can probably fix this on my own. However the maintainers of qubes-builder probably know where to look to fix this much quicker.

When I run “make qubes-vm”, some of the output at the end is:

Correcting dependencies... Done
The following additional packages will be installed:
  python3-setuptools
Suggested packages:
  python-setuptools-doc
The following packages will be REMOVED:
  qubes-core-qrexec-build-deps
The following NEW packages will be installed:
  python3-setuptools
0 upgraded, 1 newly installed, 1 to remove and 0 not upgraded.
1 not fully installed or removed.
Need to get 330 kB of archives.
After this operation, 1457 kB of additional disk space will be used.
Get:1 http://archive.ubuntu.com/ubuntu focal/main amd64 python3-setuptools all 45.2.0-1 [330 kB]
Fetched 330 kB in 1s (241 kB/s)
E: Can not write log (Is /dev/pts mounted?) - posix_openpt (2: No such file or directory)
(Reading database ... 39093 files and directories currently installed.)
Removing qubes-core-qrexec-build-deps (4.1.22-1) ...
Selecting previously unselected package python3-setuptools.
(Reading database ... 39089 files and directories currently installed.)
Preparing to unpack .../python3-setuptools_45.2.0-1_all.deb ...
Unpacking python3-setuptools (45.2.0-1) ...
Setting up python3-setuptools (45.2.0-1) ...
mk-build-deps: Unable to install qubes-core-qrexec-build-deps at /usr/bin/mk-build-deps line 457.
mk-build-deps: Unable to install all build-dep packages
make[2]: *** [/home/user/qubes-builder/qubes-src/builder-debian//Makefile-legacy.debian:45: dist-build-dep] Error 1
make[1]: *** [Makefile.generic:197: packages] Error 1
make: *** [Makefile:265: core-qrexec-vm] Error 1

Just encountered precisely the same situation

I too have this problem when trying to build a Focal or Bookworm template from a fedora 38 / fedora 37 app VM.

Any workarounds?

I’ll be looking at this again once I get my new Qubes machine. Buying something with much higher performance to look into this and develop templates. Might no longer be an issue with the newer build system.