[HOME] [DOWNLOAD] [DOCS] [NEWS] [SUPPORT] [TIPS] [ISSUES] [DONATE]

Whonix Desktop Installer with Calamares - field report

Booting the installed Whonix Host into Live mode would be a great feature. I am using grub-live for a Debian host machine. Should be possible to fix that.

I get that done, created https://phabricator.whonix.org/T928 for it.

Should be sorted in next git tag. 15.0.0.4.0-developers-only (upcoming)
Sorted that in https://github.com/Whonix/whonix-xfce-desktop-config/commit/12dad74b906c675f834fa6431a3892e7dc499128 for Whonix VMs so śhould also work on Whonix Host since also using package whonix-xfce-desktop-config.

That would be very good. I also want to differentiate Whonix VMs gateway vs workstation as well as differentiate from the host. Technical challenge:

Package package whonix-xfce-desktop-config owns /etc/skel/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-panel.xml. As per Debian dpkg default one file can only be owned by one pacakge.

I wouldn’t know how to cleanly stack these packages. I.e. how to add yet another package on top that only ships one different config file?

[1] whonix-xfce-workstation-config
[2] whonix-xfce-host-config

These packages could duplicate that package and then say in debian/control Replaces: whonix-xfce-desktop-config. Lots of code duplication. Not great.

Or whonix-libvirt (or some other Whonix host package) could do config-package-dev displace /etc/skel/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-panel.xml. Better but still one fully duplicated config file.

Any other way to just change the background image? A command line command that runs one time after first login? Is it possible to change the background image on the command line?

Ok, understood.

Ok, should be possible, maybe by not removing live-config packages from the install target. Trying now.

Should be possible, but sounds hackish.

EDIT: if I remember well, Whonix 13 already had different backgrounds and general appearances for Gateway and Workstation. Would it be possible to reproduce this with more or less the same code?

EDIT2: not removing the live-boot packages from the target install allows for a live-boot of the host. See my pull request on github.

1 Like

It is possible to boot in live-mode without root account by appending live-config.noroot as a boot parameter (although in my test, it only works if I first remove the user user installed during the build and reburn the ISO). The problem is that Calamares needs administrator rights to run by default, unless we change this rule in its polkit settings (/usr/share/polkit-1/actions/com.github.calamares.calamares.policy).

My understanding is that it is useful for a lot of configuration files that allow for fine customization such as booting without root privileges. See also https://manpages.debian.org/buster/live-config-doc/live-config.7.en.html:

live-config contains the components that configure a live system during the boot process (late userspace).

It seems at least useful for the ISO version. I will try to remove it entirely from the RAW file before the ISO step and see how it goes.

EDIT: I don’t think it’s a good idea to remove altogether live-config. Currently, we need it during the ISO stage to create a live-user which is a member of libvirt and kvm groups (live-config.user-default-groups=libvirt,kvm) + we can use it to disable passwordless sudo live-user and root account (see above).

1 Like

onion_knight via Whonix Forum:

EDIT: if I remember well, Whonix 13 already had different backgrounds and general appearances for Gateway and Workstation. Would it be possible to reproduce this with more or less the same code?

Whonix 13 was KDE based. KDE supports environment variable
XDG_CONFIG_DIRS. These are stackable ad infinitum.

(


)

XFCE does not support environment variable XDG_CONFIG_DIRS /
configuration folder stacking.

New issue with virt-manager (both on ISO and install target):

Error connecting to graphical console: Error opening Spice console, SpiceClientGTK missing

The VM is running, but cannot be viewed with Spice display.

Installing gir1.2-spiceclientgtk-3.0 and needed dependencies solves the problem (didn’t have this problem before, was this package dropped in a latest Whonix release?)

apt install --no-install-recommends gir1.2-spiceclientgtk-3.0
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following additional packages will be installed:
  gir1.2-spiceclientglib-2.0 libphodav-2.0-0 libphodav-2.0-common
  libspice-client-glib-2.0-8 libspice-client-gtk-3.0-5 libusbredirhost1
  spice-client-glib-usb-acl-helper
Suggested packages:
  gstreamer1.0-plugins-bad gstreamer1.0-plugins-base gstreamer1.0-plugins-good
  gstreamer1.0-libav
The following NEW packages will be installed:
  gir1.2-spiceclientglib-2.0 gir1.2-spiceclientgtk-3.0 libphodav-2.0-0
  libphodav-2.0-common libspice-client-glib-2.0-8 libspice-client-gtk-3.0-5
  libusbredirhost1 spice-client-glib-usb-acl-helper
0 upgraded, 8 newly installed, 0 to remove and 0 not upgraded.
Need to get 1,559 kB of archives.
After this operation, 2,957 kB of additional disk space will be used.
Do you want to continue? [Y/n]
1 Like

To avoid overlooking some issues, here is a summary of last two days bugs and fixes:

Summary of bugs report and fixes, Whonix-Host 15.0.0.3.6

A. Already fixed

1. Virtual Machine Manager/KVM

3. Whonix-Host install on HDD

4. Miscellaneous

  • Theming lacks arc-icons (currently using Adwaita icons, not so bad IMHO) -> not an option, so fixed

B. still needs work

1. Virtual Machine Manager/KVM

  • New issue with virt-manager (both on ISO and install target):
    Error connecting to graphical console: Error opening Spice console, SpiceClientGTK missing ->
    can be fixed by installing gir1.2-spiceclientgtk-3.0 and needed dependencies (apt install --no-install-recommends gir1.2-spiceclientgtk-3.0) (didn’t do a pull request yet as I don’t know exactly where it goes)

2. Calamares Installer

3. Whonix-Host install on HDD

  • at least one of the kernel hardening boot parameters somehow messes with the CPU detection on the host -> to be done (needs further testing, see also Kernel Hardening)
  • the installed system has no virtual console root access. Very unpractical, especially for a host system. Maybe consider reverting back this recent change for the Whonix-Host version? (see also Restrict root access) -> to be discussed

4. Miscellaneous

  • Somehow a user user was created during the build although it should be avoided at all costs (messes with live-user user config + is being copied over onto the host install) -> to be verified/fixed (I am currently rebuilding a whonix-host machine to see if this error still happen. Didn’t do a pull request yet as I don’t know exactly what to change)
  • By default, the VMs do not start because the virtual disks are not set to readonly -> in discussion (https://phabricator.whonix.org/T914)

  • Currently the live system in ISO mode provides a live-user account with passwordless sudo rights -> can be fixed by adding live-config.noroot to live ISO boot parameters (but then we need to change calamares polkit to allow its execution by sudoless user)

@Patrick if you want to open new tasks on phabricator and assign me some, please be aware that I have just recreated an account (previous credentials lost): onion_knight2, waiting for your approval :wink:

1 Like

Regarding the issue

  • Somehow a user user was created during the build although it should be avoided at all costs (messes with live-user user config + is being copied over onto the host install) -> to be verified/fixed (I am currently rebuilding a whonix-host machine to see if this error still happen. Didn’t do a pull request yet as I don’t know exactly what to change)

After rebuilding a Whonix-Host-15.0.0.3.6, I found the following: while testing the RAW file (not the ISO)

  • no home folder for user user was created during the build
  • BUT the file/etc/passwd contains a valid entry for user user, whose /home directory is created during first boot in persistent mode (along with Desktop, Downloads and Pictures directories, I guess copied from /etc/skel)
    user:x:1000:1000::/home/user:/bin/bash
  • If I remove this entry from the /etc/passwd file, no /home/user directory is created, and instead of the graphical session, the lightdm login page is loaded (expected behavior)
  • guess what, default user user password is… changeme -> inherited from Whonix

I guess all this is is faulty behavior and not on purpose?

Also, shouldn’t we remove the line autologin-user=user from /etc/lightdm/lightdm.conf (not as problematic, but still).

1 Like

More answers soon.

Account confirmed. As for assignment, I don’t know which tasks could be assigned which not. Please pick whatever you like to work on and then self-assign (if that is possible) or just leave a comment that you started working on it on the ticket.

Also added to KVM wiki page:

https://www.whonix.org/w/index.php?title=KVM&type=revision&diff=50396&oldid=50386

Not that I remember and nothing easily found in git history.

//cc @HulaHoop

Done.

Related source files:

So package anon-base-files maintainer script debian/anon-base-files.postinst currently creates user user but without home folder.

Home folder is created on login using PAM mkhomedir.

That is the current implementation which fixes bug: not all files form /etc/skel are copied to /home/user.

What you describe sounds very much like the current implementation.

We could add a feature to skip creation of user user in https://github.com/Whonix/anon-base-files/blob/master/debian/anon-base-files.postinst.

Package live-config file /lib/live/config/0030-user-setup seems to be responsible for user creation? That script seems to have a lot parameters / options we can consider. It also does a lot stuff we need to understand. Can we consider to skip /lib/live/config/0030-user-setup and leave that to the existing implementation for greater simplicity and consistency (user user created everywhere the same as much as possible)? Looks like (by reading /lib/live/config/0030-user-setup) by setting LIVE_USERNAME=user we might be able to skip /lib/live/config/0030-user-setup. Untested. Could you try please?

Generally, should we use package live-config folder /lib/live/config/ as much or little as possible? We at least need an overview what /lib/live/config/ does to check if it compatible with what we want.

Not that I know of. spiceclientgtk used to be pulled automatically as a dep of the packages listed on the KVM wiki page. Could have been changed with Buster (but I had no way to know since I did an in place upgrade of an already installed system).

1 Like

OK, makes sense.

If building Whonix-Host? Yes.

The existing implementation causes too many issues IMHO. What for instance if I want to install Whonix-Host with user user? It will conflict with the existing user + files might be copied over to the install target, unclean (/etc/passwd, /etc/group, maybe other files even?).

To allow a clean environment for Whonix-Host ISO+installer I think we need to completely skip the user creation part during the build.

From man live-config:

   live-config.username=USERNAME | username=USERNAME
       Allows one to set the username that gets created for autologin. The
       default is 'user'.

-> by default, it already creates a user user. I don’t see the benefits of adding this parameter ourselves?

Two solutions:

  1. Explicitly exclude unwanted components as boot parameters: live-config.nocomponents=COMPONENT1,COMPONENT2.… (from man live-config) (default behavior is loading all components in /lib/live/config)

  2. "Shiping a locally modified live-config package or using dpkg-divert: (fromman live-config):

    Removing existing config components
        It is not really possible to remove components itself in a sane way yet
        without requiring either to ship a locally modified live-config package
        or using dpkg-divert. However, the same can be  achieved  by  disabling
        the  respective  components through the live-config.nocomponents mecha‐
        nism, see above. To avoid to always need specifying disabled components
        through  the  boot  parameter, a configuration file should be used, see
        above.
1 Like

@Patrick
What git version should I chose if I want to test the newest code with latest changes?

1 Like

Building 15.0.0.3.9-developers-only.
Need to start afresh - too many changes in my raw files.

1 Like

Building done.

Now using 15.0.0.3.9-developers-only ISO without user user (i.e. manually ran userdel -r user in the raw file before burning the ISO)

First tests seem OK. Autologin works.

I don’t know why yet, but appending live-config.username=test to the boot parameters do not work, i.e. the live-user is always named user regardless.

EDIT: this works (order is important,live-config.username must be placed before live-config.user-default-groups):

/live/vmlinuz initrd=/live/initrd boot=live live-config.username=test live-config.user-default-groups=libvirt,kvm apparmor=1 security=apparmor ip=frommedia

Now I have a live user named test, who is part of groups libvirt and kvm (just for testing purposes).

While we are at it, we should probably also change the live user full name from Debian Live User to Whonix Live User? It is visible in the whisker menu, and probably other place ls as well (live-config.user-fullname= parameter)

1 Like

Hence previously my request to upgrade https://www.whonix.org/wiki/KVM instructions be be using apt-get --no-install-recommends.

Ok.

There is no newer one yet. I could create an untested one (which I didn’t try to even build, doing that sometimes).

No git tag includes that change yet to disable that.

Anything which would be more in line with the idea of https://github.com/Whonix/anon-base-files?

Can we set full name to ("") empty? Or we set it to user?

Should we set such boot config options using /etc/default/grub.d drop-in folder?
(Quite a few examples in Whonix source code.)

Git tag 15.0.0.4.0-developers-only (untested) created. Autologin should be sorted.

Not done and coming next as discussed somewhere:

  • disable hardened malloc for in torbrowser wrapper
  • skip user “user” creation during Whonix host builds
  • undo umask changes

Build fails at ././build-steps.d/1200_create-debian-packages

Not a big deal, I will wait for the next changes (skip user user)

Full log:

INFO: Variable anon_dist_build_version was already set to: 15.0.0.4.0
++ true 'INFO: Currently running script: ../whonix-developer-meta-files/debug-steps/reprepro-wrapper removesrc' local 'hardened-malloc'
++ true 'INFO: LD_PRELOAD: '
+ set_WHONIX_BUILD_REPREPRO_FOLDER_OPTIONS
+ '[' local = '' ']'
+ '[' local = local ']'
+ temp=aptrepo_local
+ '[' -n '' ']'
+ WHONIX_APT_REPOSITORY_FOLDER=/home/user/whonix_binary/aptrepo_local
+ export WHONIX_APT_REPOSITORY_FOLDER
+ '[' -n '' ']'
+ WHONIX_BUILD_REPREPRO_FOLDER_OPTIONS='         --basedir /home/user/Whonix/aptrepo_local          --outdir /home/user/whonix_binary/aptrepo_local          --dbdir /home/user/whonix_binary/aptrepo_local/db          --logdir /home/user/whonix_binary/aptrepo_local/log'
+ export WHONIX_BUILD_REPREPRO_FOLDER_OPTIONS
+ main removesrc local hardened-malloc
+ reprepro_exit_code=0
++ reprepro --basedir /home/user/Whonix/aptrepo_local --outdir /home/user/whonix_binary/aptrepo_local --dbdir /home/user/whonix_binary/aptrepo_local/db --logdir /home/user/whonix_binary/aptrepo_local/log removesrc local hardened-malloc
+ reprepro_output=
+ echo ''
+ grep 'is already registered with different checksums!'
+ return 0
+ exithandler
+ local exit_code=0
+ '[' '!' 0 = 0 ']'
++ benchmarktimeend 1566588090
+++ date +%s
++ benchmarktimeend=1566588090
++ benchmark_took_seconds=0
+++ convertsecs 0
+++ local h m s
+++ (( h=0/3600 ))
+++ true
+++ (( m=(0%3600)/60 ))
+++ true
+++ (( s=0%60 ))
+++ true
+++ printf '%02d:%02d:%02d\n' 0 0 0
++ echo 00:00:00
+ benchmark_took_time=00:00:00
+ output_cmd_set
+ '[' -o xtrace ']'
+ output_cmd=true
+ '[' 0 = 0 ']'
+ true 'INFO: End of: ../whonix-developer-meta-files/debug-steps/reprepro-wrapper | exit_code: 0 | error(s) detected: 0 | benchmark: 00:00:00'
+ exit 0
+ make -f Makefile deb-cleanup
/usr/share/genmkfile/make-helper.bsh deb-cleanup
/usr/share/genmkfile/make-helper-one.bsh: INFO: deb-cleanup
/usr/share/genmkfile/make-helper-one.bsh: INFO: (internal) make clean
make[1]: Entering directory '/home/user/Whonix/packages/hardened_malloc'
rm -f libhardened_malloc.so chacha.o h_malloc.o memory.o pages.o random.o util.o new.o
make[1]: Leaving directory '/home/user/Whonix/packages/hardened_malloc'
+ sudo --non-interactive -u user -E make -f Makefile deb-pkg
/usr/share/genmkfile/make-helper.bsh deb-pkg 
dpkg: warning: failed to open configuration file '/root/.dpkg.cfg' for reading: Permission denied
/usr/share/genmkfile/make-helper-one.bsh: INFO: deb-cleanup
dpkg: warning: failed to open configuration file '/root/.dpkg.cfg' for reading: Permission denied
/usr/share/genmkfile/make-helper-one.bsh: INFO: (internal) make clean
make[1]: Entering directory '/home/user/Whonix/packages/hardened_malloc'
rm -f libhardened_malloc.so chacha.o h_malloc.o memory.o pages.o random.o util.o new.o
make[1]: Leaving directory '/home/user/Whonix/packages/hardened_malloc'
/usr/share/genmkfile/make-helper-one.bsh: INFO: dist
dpkg: warning: failed to open configuration file '/root/.dpkg.cfg' for reading: Permission denied
/usr/share/genmkfile/make-helper-one.bsh: INFO: debdist
dpkg: warning: failed to open configuration file '/root/.dpkg.cfg' for reading: Permission denied
/usr/share/genmkfile/make-helper-one.bsh: INFO: debdsc
dpkg: warning: failed to open configuration file '/root/.dpkg.cfg' for reading: Permission denied
dpkg-source: info: using source format '3.0 (custom)'
dpkg-source: info: building hardened-malloc in hardened-malloc_0.5-1.dsc
/usr/share/genmkfile/make-helper-one.bsh: INFO: deb-pkg-build
dpkg: warning: failed to open configuration file '/root/.dpkg.cfg' for reading: Permission denied
I: Copying COW directory
I: forking: rm -rf /var/cache/pbuilder/cow.cow_amd64/cow.2314
I: forking: cp -al /var/cache/pbuilder/base.cow_amd64 /var/cache/pbuilder/cow.cow_amd64/cow.2314
I: removed stale ilistfile /var/cache/pbuilder/cow.cow_amd64/cow.2314/.ilist
I: forking: chroot /var/cache/pbuilder/cow.cow_amd64/cow.2314 cowdancer-ilistcreate /.ilist 'find . -xdev -path ./home -prune -o \( \( -type l -o -type f \) -a -links +1 -print0 \) | xargs -0 stat --format '%d %i ''
I: Invoking pbuilder
I: forking: pbuilder build --host-arch amd64 --buildplace /var/cache/pbuilder/cow.cow_amd64/cow.2314 --buildresult /home/user/whonix_binary/genmkfile-packages-result --mirror http://HTTPS///deb.debian.org/debian --distribution buster --extrapackages ' debhelper  genmkfile clang llvm-7-dev clang-tidy' --no-targz --internal-chrootexec 'chroot /var/cache/pbuilder/cow.cow_amd64/cow.2314 cow-shell' /home/user/whonix_binary/genmkfile-packages-result/hardened-malloc_0.5-1.dsc
W: /root/.pbuilderrc does not exist
I: Running in no-targz mode
I: pbuilder: network access will be disabled during build
I: Current time: Fri Aug 23 19:21:31 UTC 2019
I: pbuilder-time-stamp: 1566588091
I: copying local configuration
W: --override-config is not set; not updating apt.conf Read the manpage for details.
I: mounting /proc filesystem
I: mounting /sys filesystem
I: creating /{dev,run}/shm
I: mounting /dev/pts filesystem
I: redirecting /dev/ptmx to /dev/pts/ptmx
I: policy-rc.d already exists
I: Obtaining the cached apt archive contents
I: Copying source file
I: copying [/home/user/whonix_binary/genmkfile-packages-result/hardened-malloc_0.5-1.dsc]
I: copying [/home/user/whonix_binary/genmkfile-packages-result/hardened-malloc_0.5.orig.tar.xz]
I: copying [/home/user/whonix_binary/genmkfile-packages-result/hardened-malloc_0.5-1.debian.tar.xz]
I: Extracting source
dpkg-source: warning: extracting unsigned source package (hardened-malloc_0.5-1.dsc)
dpkg-source: info: extracting hardened-malloc in hardened-malloc-0.5
dpkg-source: info: unpacking hardened-malloc_0.5.orig.tar.xz
dpkg-source: info: unpacking hardened-malloc_0.5-1.debian.tar.xz
I: using fakeroot in build.
I: Installing the build-deps
 -> Attempting to satisfy build-dependencies
 -> Creating pbuilder-satisfydepends-dummy package
Package: pbuilder-satisfydepends-dummy
Version: 0.invalid.0
Architecture: amd64
Maintainer: Debian Pbuilder Team <pbuilder-maint@lists.alioth.debian.org>
Description: Dummy package to satisfy dependencies with aptitude - created by pbuilder
 This package was created automatically by pbuilder to satisfy the
 build-dependencies of the package being currently built.
Depends: debhelper (>= 12), genmkfile, clang, llvm-7-dev, clang-tidy
dpkg-deb: building package 'pbuilder-satisfydepends-dummy' in '/tmp/satisfydepends-aptitude/pbuilder-satisfydepends-dummy.deb'.
Selecting previously unselected package pbuilder-satisfydepends-dummy.
(Reading database ... 20411 files and directories currently installed.)
Preparing to unpack .../pbuilder-satisfydepends-dummy.deb ...
Unpacking pbuilder-satisfydepends-dummy (0.invalid.0) ...
dpkg: pbuilder-satisfydepends-dummy: dependency problems, but configuring anyway as you requested:
 pbuilder-satisfydepends-dummy depends on clang; however:
  Package clang is not installed.
 pbuilder-satisfydepends-dummy depends on llvm-7-dev; however:
  Package llvm-7-dev is not installed.
 pbuilder-satisfydepends-dummy depends on clang-tidy; however:
  Package clang-tidy is not installed.

Setting up pbuilder-satisfydepends-dummy (0.invalid.0) ...
pbuilder-satisfydepends-dummy is already installed at the requested version (0.invalid.0)
pbuilder-satisfydepends-dummy is already installed at the requested version (0.invalid.0)
The following NEW packages will be installed:
  binfmt-support{a} clang{a} clang-7{a} clang-tidy{a} clang-tidy-7{a} 
  clang-tools-7{a} lib32gcc1{a} lib32stdc++6{a} libc6-i386{a} 
  libclang-common-7-dev{a} libclang1-7{a} libedit2{a} libffi-dev{a} 
  libgc1c2{a} libllvm7{a} libncurses-dev{a} libobjc-8-dev{a} libobjc4{a} 
  libtinfo-dev{a} libyaml-0-2{a} llvm-7{a} llvm-7-dev{a} llvm-7-runtime{a} 
  python-yaml{a} 
The following packages are RECOMMENDED but will NOT be installed:
  libomp-7-dev 
0 packages upgraded, 24 newly installed, 0 to remove and 0 not upgraded.
Need to get 122 MB/122 MB of archives. After unpacking 612 MB will be used.
Get: 1 http://HTTPS///deb.debian.org/debian buster/main amd64 binfmt-support amd64 2.2.0-2 [70.0 kB]
Get: 2 http://HTTPS///deb.debian.org/debian buster/main amd64 libedit2 amd64 3.1-20181209-1 [94.0 kB]
Get: 3 http://HTTPS///deb.debian.org/debian buster/main amd64 libllvm7 amd64 1:7.0.1-8 [13.0 MB]
Get: 4 http://HTTPS///deb.debian.org/debian buster/main amd64 libgc1c2 amd64 1:7.6.4-0.4 [224 kB]
Get: 5 http://HTTPS///deb.debian.org/debian buster/main amd64 libobjc4 amd64 8.3.0-6 [50.3 kB]
Get: 6 http://HTTPS///deb.debian.org/debian buster/main amd64 libobjc-8-dev amd64 8.3.0-6 [226 kB]
Get: 7 http://HTTPS///deb.debian.org/debian buster/main amd64 libc6-i386 amd64 2.28-10 [2872 kB]
Get: 8 http://HTTPS///deb.debian.org/debian buster/main amd64 lib32gcc1 amd64 1:8.3.0-6 [47.9 kB]
Get: 9 http://HTTPS///deb.debian.org/debian buster/main amd64 lib32stdc++6 amd64 8.3.0-6 [407 kB]
Get: 10 http://HTTPS///deb.debian.org/debian buster/main amd64 libclang-common-7-dev amd64 1:7.0.1-8 [3154 kB]
Get: 11 http://HTTPS///deb.debian.org/debian buster/main amd64 libclang1-7 amd64 1:7.0.1-8 [5993 kB]
Get: 12 http://HTTPS///deb.debian.org/debian buster/main amd64 clang-7 amd64 1:7.0.1-8 [7891 kB]
Get: 13 http://HTTPS///deb.debian.org/debian buster/main amd64 clang amd64 1:7.0-47 [7468 B]
Get: 14 http://HTTPS///deb.debian.org/debian buster/main amd64 clang-tools-7 amd64 1:7.0.1-8 [55.2 MB]
Get: 15 http://HTTPS///deb.debian.org/debian buster/main amd64 python-yaml amd64 3.13-2 [127 kB]
Get: 16 http://HTTPS///deb.debian.org/debian buster/main amd64 clang-tidy-7 amd64 1:7.0.1-8 [5745 kB]
Get: 17 http://HTTPS///deb.debian.org/debian buster/main amd64 clang-tidy amd64 1:7.0-47 [7232 B]
Get: 18 http://HTTPS///deb.debian.org/debian buster/main amd64 libffi-dev amd64 3.2.1-9 [156 kB]
Get: 19 http://HTTPS///deb.debian.org/debian buster/main amd64 libncurses-dev amd64 6.1+20181013-2 [333 kB]
Get: 20 http://HTTPS///deb.debian.org/debian buster/main amd64 libtinfo-dev amd64 6.1+20181013-2 [932 B]
Get: 21 http://HTTPS///deb.debian.org/debian buster/main amd64 llvm-7-runtime amd64 1:7.0.1-8 [190 kB]
Get: 22 http://HTTPS///deb.debian.org/debian buster/main amd64 llvm-7 amd64 1:7.0.1-8 [4553 kB]
Get: 23 http://HTTPS///deb.debian.org/debian buster/main amd64 llvm-7-dev amd64 1:7.0.1-8 [21.3 MB]
Fetched 122 MB in 1s (125 MB/s)       
Selecting previously unselected package binfmt-support.
(Reading database ... 20411 files and directories currently installed.)
Preparing to unpack .../00-binfmt-support_2.2.0-2_amd64.deb ...
Unpacking binfmt-support (2.2.0-2) ...
Selecting previously unselected package libedit2:amd64.
Preparing to unpack .../01-libedit2_3.1-20181209-1_amd64.deb ...
Unpacking libedit2:amd64 (3.1-20181209-1) ...
Selecting previously unselected package libllvm7:amd64.
Preparing to unpack .../02-libllvm7_1%3a7.0.1-8_amd64.deb ...
Unpacking libllvm7:amd64 (1:7.0.1-8) ...
Selecting previously unselected package libgc1c2:amd64.
Preparing to unpack .../03-libgc1c2_1%3a7.6.4-0.4_amd64.deb ...
Unpacking libgc1c2:amd64 (1:7.6.4-0.4) ...
Selecting previously unselected package libobjc4:amd64.
Preparing to unpack .../04-libobjc4_8.3.0-6_amd64.deb ...
Unpacking libobjc4:amd64 (8.3.0-6) ...
Selecting previously unselected package libobjc-8-dev:amd64.
Preparing to unpack .../05-libobjc-8-dev_8.3.0-6_amd64.deb ...
Unpacking libobjc-8-dev:amd64 (8.3.0-6) ...
Selecting previously unselected package libc6-i386.
Preparing to unpack .../06-libc6-i386_2.28-10_amd64.deb ...
Unpacking libc6-i386 (2.28-10) ...
Selecting previously unselected package lib32gcc1.
Preparing to unpack .../07-lib32gcc1_1%3a8.3.0-6_amd64.deb ...
Unpacking lib32gcc1 (1:8.3.0-6) ...
Selecting previously unselected package lib32stdc++6.
Preparing to unpack .../08-lib32stdc++6_8.3.0-6_amd64.deb ...
Unpacking lib32stdc++6 (8.3.0-6) ...
Selecting previously unselected package libclang-common-7-dev.
Preparing to unpack .../09-libclang-common-7-dev_1%3a7.0.1-8_amd64.deb ...
Unpacking libclang-common-7-dev (1:7.0.1-8) ...
Selecting previously unselected package libclang1-7.
Preparing to unpack .../10-libclang1-7_1%3a7.0.1-8_amd64.deb ...
Unpacking libclang1-7 (1:7.0.1-8) ...
Selecting previously unselected package clang-7.
Preparing to unpack .../11-clang-7_1%3a7.0.1-8_amd64.deb ...
Unpacking clang-7 (1:7.0.1-8) ...
Selecting previously unselected package clang.
Preparing to unpack .../12-clang_1%3a7.0-47_amd64.deb ...
Unpacking clang (1:7.0-47) ...
Selecting previously unselected package clang-tools-7.
Preparing to unpack .../13-clang-tools-7_1%3a7.0.1-8_amd64.deb ...
Unpacking clang-tools-7 (1:7.0.1-8) ...
Selecting previously unselected package libyaml-0-2:amd64.
Preparing to unpack .../14-libyaml-0-2_0.2.1-1_amd64.deb ...
Unpacking libyaml-0-2:amd64 (0.2.1-1) ...
Selecting previously unselected package python-yaml.
Preparing to unpack .../15-python-yaml_3.13-2_amd64.deb ...
Unpacking python-yaml (3.13-2) ...
Selecting previously unselected package clang-tidy-7.
Preparing to unpack .../16-clang-tidy-7_1%3a7.0.1-8_amd64.deb ...
Unpacking clang-tidy-7 (1:7.0.1-8) ...
Selecting previously unselected package clang-tidy.
Preparing to unpack .../17-clang-tidy_1%3a7.0-47_amd64.deb ...
Unpacking clang-tidy (1:7.0-47) ...
Selecting previously unselected package libffi-dev:amd64.
Preparing to unpack .../18-libffi-dev_3.2.1-9_amd64.deb ...
Unpacking libffi-dev:amd64 (3.2.1-9) ...
Selecting previously unselected package libncurses-dev:amd64.
Preparing to unpack .../19-libncurses-dev_6.1+20181013-2_amd64.deb ...
Unpacking libncurses-dev:amd64 (6.1+20181013-2) ...
Selecting previously unselected package libtinfo-dev:amd64.
Preparing to unpack .../20-libtinfo-dev_6.1+20181013-2_amd64.deb ...
Unpacking libtinfo-dev:amd64 (6.1+20181013-2) ...
Selecting previously unselected package llvm-7-runtime.
Preparing to unpack .../21-llvm-7-runtime_1%3a7.0.1-8_amd64.deb ...
Unpacking llvm-7-runtime (1:7.0.1-8) ...
Selecting previously unselected package llvm-7.
Preparing to unpack .../22-llvm-7_1%3a7.0.1-8_amd64.deb ...
Unpacking llvm-7 (1:7.0.1-8) ...
Selecting previously unselected package llvm-7-dev.
Preparing to unpack .../23-llvm-7-dev_1%3a7.0.1-8_amd64.deb ...
Unpacking llvm-7-dev (1:7.0.1-8) ...
E: Sub-process /usr/bin/dpkg exited unexpectedly
Setting up libncurses-dev:amd64 (6.1+20181013-2) ...
Setting up libgc1c2:amd64 (1:7.6.4-0.4) ...
Setting up libyaml-0-2:amd64 (0.2.1-1) ...
Setting up libedit2:amd64 (3.1-20181209-1) ...
Setting up libobjc4:amd64 (8.3.0-6) ...
Setting up libffi-dev:amd64 (3.2.1-9) ...
Setting up libobjc-8-dev:amd64 (8.3.0-6) ...
Setting up binfmt-support (2.2.0-2) ...
Created symlink /etc/systemd/system/multi-user.target.wants/binfmt-support.service -> /lib/systemd/system/binfmt-support.service.
Running in chroot, ignoring request.
invoke-rc.d: policy-rc.d denied execution of start.
Setting up libc6-i386 (2.28-10) ...
Setting up libllvm7:amd64 (1:7.0.1-8) ...
Setting up python-yaml (3.13-2) ...
Setting up libclang1-7 (1:7.0.1-8) ...
Setting up libtinfo-dev:amd64 (6.1+20181013-2) ...
Setting up llvm-7-runtime (1:7.0.1-8) ...
Setting up llvm-7 (1:7.0.1-8) ...
Setting up lib32gcc1 (1:8.3.0-6) ...
Setting up lib32stdc++6 (8.3.0-6) ...
Setting up libclang-common-7-dev (1:7.0.1-8) ...
Setting up clang-7 (1:7.0.1-8) ...
Setting up clang-tools-7 (1:7.0.1-8) ...
Setting up clang (1:7.0-47) ...
Setting up clang-tidy-7 (1:7.0.1-8) ...
Setting up clang-tidy (1:7.0-47) ...
Processing triggers for systemd (241-5) ...
Processing triggers for man-db (2.8.5-2) ...
Processing triggers for libc-bin (2.28-10) ...
[ ERR] Writing extended state information
[ ERR] Building tag database

Current status: 0 (-1) broken, 1 (+1) upgradable.
E: Failed to fork process for dpkg selections.
E: failed to save selections to dpkg database
E: pbuilder-satisfydepends failed.
I: Copying back the cached apt archive contents
I: new cache content 'llvm-7-dev_1%3a7.0.1-8_amd64.deb' added
I: new cache content 'llvm-7_1%3a7.0.1-8_amd64.deb' added
I: new cache content 'llvm-7-runtime_1%3a7.0.1-8_amd64.deb' added
I: new cache content 'libtinfo-dev_6.1+20181013-2_amd64.deb' added
I: new cache content 'libncurses-dev_6.1+20181013-2_amd64.deb' added
I: new cache content 'libffi-dev_3.2.1-9_amd64.deb' added
I: new cache content 'clang-tidy_1%3a7.0-47_amd64.deb' added
I: new cache content 'clang-tidy-7_1%3a7.0.1-8_amd64.deb' added
I: new cache content 'python-yaml_3.13-2_amd64.deb' added
I: new cache content 'clang-tools-7_1%3a7.0.1-8_amd64.deb' added
I: new cache content 'clang_1%3a7.0-47_amd64.deb' added
I: new cache content 'clang-7_1%3a7.0.1-8_amd64.deb' added
I: new cache content 'libclang1-7_1%3a7.0.1-8_amd64.deb' added
I: new cache content 'libclang-common-7-dev_1%3a7.0.1-8_amd64.deb' added
I: new cache content 'lib32stdc++6_8.3.0-6_amd64.deb' added
I: new cache content 'lib32gcc1_1%3a8.3.0-6_amd64.deb' added
I: new cache content 'libc6-i386_2.28-10_amd64.deb' added
I: new cache content 'libobjc-8-dev_8.3.0-6_amd64.deb' added
I: new cache content 'libobjc4_8.3.0-6_amd64.deb' added
I: new cache content 'libgc1c2_1%3a7.6.4-0.4_amd64.deb' added
I: new cache content 'libllvm7_1%3a7.0.1-8_amd64.deb' added
I: new cache content 'libedit2_3.1-20181209-1_amd64.deb' added
I: new cache content 'binfmt-support_2.2.0-2_amd64.deb' added
I: unmounting dev/ptmx filesystem
I: unmounting dev/pts filesystem
I: unmounting dev/shm filesystem
I: unmounting proc filesystem
I: unmounting sys filesystem
I: Cleaning COW directory
I: forking: rm -rf /var/cache/pbuilder/cow.cow_amd64/cow.2314
make: *** [/usr/share/genmkfile/makefile-full:67: deb-pkg] Error 1
++ errorhandlergeneral ERR
++ last_failed_exit_code=2
++ last_failed_bash_command='sudo $SUDO_OPTS -E make -f "$make_file" deb-pkg'
++ output_cmd_set
++ '[' -o xtrace ']'
++ output_cmd=true
++ true 'INFO: Middle of function errorhandlergeneral of ././build-steps.d/1200_create-debian-packages.'
++ errorhandlerprocessshared ERR
++ last_script=././build-steps.d/1200_create-debian-packages
++ trap_signal_type_previous=
++ '[' '' = '' ']'
++ trap_signal_type_previous=unset
++ trap_signal_type_last=ERR
++ whonix_build_error_counter=1
+++ benchmarktimeend 1566588089
++++ date +%s
+++ benchmarktimeend=1566588107
+++ benchmark_took_seconds=18
++++ convertsecs 18
++++ local h m s
++++ (( h=18/3600 ))
++++ true
++++ (( m=(18%3600)/60 ))
++++ true
++++ (( s=18%60 ))
++++ printf '%02d:%02d:%02d\n' 0 0 18
+++ echo 00:00:18
++ benchmark_took_time=00:00:18
++ processbacktracefunction
++ true 'INFO: BEGIN: processbacktracefunction'
++ '[' -o xtrace ']'
++ set +x
++ true 'INFO: END  : processbacktracefunction'
++ functiontracefunction
++ true 'INFO: BEGIN: functiontracefunction'
++ '[' -o xtrace ']'
++ set +x
++ true 'INFO: END  : functiontracefunction'
++ output_cmd_set
++ '[' -o xtrace ']'
++ output_cmd=true
++ true '
1 Like

onion_knight via Whonix Forum:

Preparing to unpack .../23-llvm-7-dev_1%3a7.0.1-8_amd64.deb ...
Unpacking llvm-7-dev (1:7.0.1-8) ...
E: Sub-process /usr/bin/dpkg exited unexpectedly

Strange. Why would that unpacking a random package in the middle of tons
of others fail.

Disk full perhaps?

Trying to build now…

[Imprint] [Privacy Policy] [Cookie Policy] [Terms of Use] [E-Sign Consent] [DMCA] [Investors] [Priority Support] [Professional Support]