Whonix 12.0.0.3.2 RC – Testers Wanted!

Building with these parameters failed unfortunately. Here are the error messages:

  • true ‘INFO: Neither ANON_BUILD_INSTALL_TO_ROOT is set not set to 1 nor WHONIX_BUILD_QUBES is set to true. Starting kernel installation…’
  • true ‘INFO: BUILD_KERNEL_PKGS: linux-image-amd64’
  • local build_kernel
  • for build_kernel in ‘$BUILD_KERNEL_PKGS’
  • pkg-install-maybe linux-image-amd64
  • errorhandlersetup errorhandlerunchrootunpreventunmount ERR INT TERM
  • local handler signal
  • handler=errorhandlerunchrootunpreventunmount
  • shift
  • for signal in ‘“$@”’
  • trap ‘errorhandlerunchrootunpreventunmount ERR’ ERR
  • for signal in ‘“$@”’
  • trap ‘errorhandlerunchrootunpreventunmount INT’ INT
  • for signal in ‘“$@”’
  • trap ‘errorhandlerunchrootunpreventunmount TERM’ TERM
  • local pkg_install
  • pkg_install=linux-image-amd64
  • local skip_package
  • unset skip_package
  • true ‘INFO: Installing linux-image-amd64, because whonix_build_script_skip_package_install does not include it… This may take a while…’
  • local apt_get_exit_code=0
  • chroot /home/user/whonix_binary/Whonix-Gateway_image apt-get -o Dir::Etc::sourcelist=/tmp/empty -o Dir::Etc::sourceparts=/var/lib/whonix/sources_temp_list.d -o Acquire::http::Timeout=180 -o Acquire::ftp::Timeout=180 -o Acquire::Retries=3 -o APT::Get::force-yes=0 --yes --no-install-recommends install linux-image-amd64
    Reading package lists… Done
    Building dependency tree
    Reading state information… Done
    E: Unable to locate package linux-image-amd64
  • apt_get_exit_code=100
  • true
  • local apt_get_exit_code=0
  • chroot /home/user/whonix_binary/Whonix-Gateway_image apt-get -o Dir::Etc::sourcelist=/tmp/empty -o Dir::Etc::sourceparts=/var/lib/whonix/sources_temp_list.d -o Acquire::http::Timeout=180 -o Acquire::ftp::Timeout=180 -o Acquire::Retries=3 -o APT::Get::force-yes=0 --yes --no-install-recommends install linux-image-amd64
    Reading package lists… Done
    Building dependency tree
    Reading state information… Done
    ERROR in ././build-steps.d/1700_install-packages detected!
    anon_dist_build_version: 12.0.0.3.2
    (whonix_build_error_counter: 1)
    (benchmark: 00:02:02)
    trap_signal_type_previous: unset
    trap_signal_type_last : ERR
    process_backtrace_result:
    1: : /sbin/init
    2: : /usr/bin/konsole
    3: : /bin/bash
    4: : sudo whonix_build_sources_list=build_sources/debian_testing_current.list ./whonix_build --gnw – --build --target qcow2 --allow-untagged true --allow-uncommitted true --kernel linux-image-amd64 --headers linux-headers-amd64
    5: : /bin/bash ./whonix_build --gnw – --build --target qcow2 --allow-untagged true --allow-uncommitted true --kernel linux-image-amd64 --headers linux-headers-amd64
    6: : /bin/bash ./help-steps/whonix_build_one --flavor whonix-gateway --build --target qcow2 --allow-untagged true --allow-uncommitted true --kernel linux-image-amd64 --headers linux-headers-amd64
    7: : /bin/bash ././build-steps.d/1700_install-packages
    function_trace_result:
    main (line number: 467)
    main (line number: 457)
    install-packages (line number: 321)
    pkg-install-maybe (line number: 170)
    error (line number: 20)
    errorhandlerunchrootunpreventunmount (line number: 320)
    errorhandlerprocessshared (line number: 159)
    last_failed_bash_command: error_ “See above! (There should be a bold, red message surrounded by blue hashtags (#).)”
    last_failed_exit_code: 127
    ERROR in ././build-steps.d/1700_install-packages detected!
    ############################################################

E: Unable to locate package linux-image-amd64

  • apt_get_exit_code=100
  • true
  • chroot /home/user/whonix_binary/Whonix-Gateway_image sync
  • sync
  • ‘[’ 100 = 0 ‘]’
  • true ‘ERROR: Failed to install linux-image-amd64. (apt_get_exit_code: 100) Attempting to gather debug output to diagnose the problem…’
  • true ‘INFO: Read output of apt-get trying to install linux-image-amd64 into a variable for debugging. This may take a while…’
  • local apt_get_exit_code=0
    ++ chroot /home/user/whonix_binary/Whonix-Gateway_image apt-get -o Dir::Etc::sourcelist=/tmp/empty -o Dir::Etc::sourceparts=/var/lib/whonix/sources_temp_list.d -o Acquire::http::Timeout=180 -o Acquire::ftp::Timeout=180 -o Acquire::Retries=3 -o APT::Get::force-yes=0 --yes --no-install-recommends install linux-image-amd64
  • apt_get_output=’ Reading package lists…
    Building dependency tree…
    Reading state information…
    E: Unable to locate package linux-image-amd64 ’
  • apt_get_exit_code=100
  • true
  • chroot /home/user/whonix_binary/Whonix-Gateway_image sync
  • sync
  • ‘[’ 100 = 0 ‘]’
  • true ‘ERROR: As expected, failed again to install linux-image-amd64. (apt_get_exit_code: 100) Trying to diagnose the problem using function apt_get_parse_unmet_dependency…’
  • apt_get_parse_unmet_dependency linux-image-amd64
  • local pkg_unmet
  • pkg_unmet=linux-image-amd64
  • true ‘INFO: Running “dpkg -l | grep linux-image-amd64”…’
  • chroot /home/user/whonix_binary/Whonix-Gateway_image dpkg -l
  • grep linux-image-amd64
  • true
  • chroot /home/user/whonix_binary/Whonix-Gateway_image apt-cache policy linux-image-amd64
    N: Unable to locate package linux-image-amd64
  • local line
  • set +x
  • true ‘INFO: Tried to diagnose the problem using function apt_get_parse_unmet_dependency.’
  • error ‘See above!’

I need to see at very least the full build command.

One mistake that you might have done: you cannot combine --arch arm with --kernel linux-image-amd64 - because that platform Debian repository does not offer that kernel for download.

The build command I used is:

sudo whonix_build_sources_list=“build_sources/debian_testing_current.list” ./whonix_build --gnw – --build --target qcow2 --allow-untagged true --allow-uncommitted true --kernel linux-image-amd64 --headers linux-headers-amd64

I haven’t experimented with arm64 yet and will post in the relevant forum topic when I do.

Not sure it’s a Whonix build script issue.

Thinking through what would manually happen… Can you get a Debian
stretch installed with i386 and then apt-get install linux-image-amd64? Probably not, because that package is only for the
amd64 platform in the Debian repository. This was different in
jessie. Compare these two.

We likely would have to add multiarch instructions to the build script.
( Debian -- Error ) Probably not
worth it.

Try adding --arch amd64. It’s not optional.

--kernel linux-image-amd64 alone is worth very little. In essence,
it’s like a default i686 Whonix build (“--arch i686” is implicit)
and after you boot it for the first time, you install manually the
linux-image-amd64 kernel package. Only when combining with --arch amd64 it’s really useful.

There will be several errors because of uninstallable packages because
their names changed in stretch.

udisks -> udisks2
plasma-widget-networkmanagement -> plasma-nm
Possibly others.

Those should be ignorable and still end up developers-only usable image
quality.

You can update them in anon-meta-packages. I will fix them sometime soon.

I tried this command without success:

sudo whonix_build_sources_list=“build_sources/debian_testing_current.list” ./whonix_build --gnw – --build --target qcow2 --allow-untagged true --allow-uncommitted true --arch amd64

  • ‘[’ -z /home/user/whonix_binary/Whonix-Gateway-12.0.0.3.2.raw -o -n ‘’ ‘]’
  • ‘[’ -n amd64 ‘]’
  • ARCHCMD=‘–arch amd64’
  • ARCHINFO=’ (amd64)’
    ++ uname -m
  • CURRENT_ARCH=i686
  • ‘[’ i686 ‘!=’ x86_64 ‘]’
  • ‘[’ amd64 = amd64 ‘]’
  • eerror ‘It is not possible to build amd64 on i686.’
  • ‘[’ ‘’ ‘!=’ yes ‘]’
  • ‘[’ ‘’ = ebegin ‘]’
  • printf ’ * It is not possible to build amd64 on i686.\n’
  • It is not possible to build amd64 on i686.
  • LAST_E_CMD=eerror
  • return 0
  • eend 1
  • local retval=1
  • shift
  • ‘[’ 1 -gt 0 ‘]’
  • printf ’ → Failed (rc=1)\n’
    → Failed (rc=1)
  • return 1
  • bailout 1
  • cleanup
  • ‘[’ -n ‘’ ‘]’
  • ‘[’ -n ‘’ ‘]’
  • grep -q ‘/mnt/debootstrap.’
  • echo /mnt/debootstrap.24386
  • rmdir /mnt/debootstrap.24386
  • ‘[’ -n /mnt/debootstrap.24386 ‘]’
  • grep -q /mnt/debootstrap.24386 /proc/mounts
  • ‘[’ -n ‘’ ‘]’
  • ‘[’ -n 1 ‘]’
  • EXIT=1
  • ‘[’ -n ‘’ ‘]’
  • exit 1
    ++ retry_last_failed_bash_command_exit_code=1
    ++ true
    ++ ‘[’ 1 = 0 ‘]’
    ++ true ‘INFO: Retry failed. exit code of last_failed_bash_command: 1 ’
    ++ last_failed_exit_code=1
    ++ last_failed_bash_command=’$DEBOOTSTRAP_PREFIX bash -x “$whonix_build_grml_bin” --debopt “$whonix_build_debopt” --arch “$BUILD_TARGET_ARCH” --filesystem “$whonix_build_file_system” --force --hostname “$whonix_build_hostname” --password “$whonix_build_os_password” --release “$whonix_build_apt_stable_release” --keep_src_list --verbose --vmfile --vmsize “$VMSIZE” --packages “$WHONIX_SOURCE_FOLDER/grml_packages” --target “$binary_image_raw” --mirror “$whonix_build_apt_sources_mirror”’
    ++ ‘[’ ‘!’ ‘’ = ‘’ ‘]’
    ++ true ‘INFO: Skipping whonix_build_dispatch_after_retry (–retry-after), because empty, ok.’
    ++ ‘[’ 1 = 0 ‘]’
    ++ errorhandlerprocessshared ‘NONE_(called_by_errorhandlerretry)’
    ++ last_script=././build-steps.d/1300_create-raw-image
    ++ trap_signal_type_previous=ERR
    ++ ‘[’ ERR = ‘’ ‘]’
    ++ trap_signal_type_last=‘NONE_(called_by_errorhandlerretry)’
    ++ whonix_build_error_counter=2
    +++ benchmarktimeend 1450720444
    ++++ date +%s
    +++ benchmarktimeend=1450720450
    +++ benchmark_took_seconds=6
    ++++ convertsecs 6
    ++++ local h m s
    ++++ (( h=6/3600 ))
    ++++ true
    ++++ (( m=(6%3600)/60 ))
    ++++ true
    ++++ (( s=6%60 ))
    ++++ printf ‘%02d:%02d:%02d\n’ 0 0 6
    +++ echo 00:00:06
    ++ benchmark_took_time=00:00:06
    ++ 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’
    ++ true ’
    ############################################################
    ERROR in ././build-steps.d/1300_create-raw-image detected!
    anon_dist_build_version: 12.0.0.3.2
    (whonix_build_error_counter: 2)
    (benchmark: 00:00:06)
    trap_signal_type_previous: ERR
    trap_signal_type_last : NONE_(called_by_errorhandlerretry)
    process_backtrace_result:
    1: : /sbin/init
    2: : /usr/bin/konsole
    3: : /bin/bash
    4: : sudo whonix_build_sources_list=build_sources/debian_testing_current.list ./whonix_build --gnw – --build --target qcow2 --allow-untagged true --allow-uncommitted true --arch amd64
    5: : /bin/bash ./whonix_build --gnw – --build --target qcow2 --allow-untagged true --allow-uncommitted true --arch amd64
    6: : /bin/bash ./help-steps/whonix_build_one --flavor whonix-gateway --build --target qcow2 --allow-untagged true --allow-uncommitted true --arch amd64
    7: : /bin/bash ././build-steps.d/1300_create-raw-image
    function_trace_result:
    main (line number: 152)
    main (line number: 141)
    create-debian-raw-image (line number: 109)
    errorhandlergeneral (line number: 311)
    errorhandlerprocessshared (line number: 209)
    errorhandlerretry (line number: 144)
    errorhandlerprocessshared (line number: 159)
    errorhandlerprocessshared (line number: 159)
    errorhandlergeneral (line number: 311)
    create-debian-raw-image (line number: 109)
    main (line number: 141)
    main (line number: 152)
    last_failed_bash_command: $DEBOOTSTRAP_PREFIX bash -x “$whonix_build_grml_bin” --debopt “$whonix_build_debopt” --arch “$BUILD_TARGET_ARCH” --filesystem “$whonix_build_file_system” --force --hostname “$whonix_build_hostname” --password “$whonix_build_os_password” --release “$whonix_build_apt_stable_release” --keep_src_list --verbose --vmfile --vmsize “$VMSIZE” --packages “$WHONIX_SOURCE_FOLDER/grml_packages” --target “$binary_image_raw” --mirror “$whonix_build_apt_sources_mirror”
    last_failed_exit_code: 1
    ERROR in ././build-steps.d/1300_create-raw-image detected!
    ############################################################

    ++ ‘[’ ‘NONE_(called_by_errorhandlerretry)’ = INT ‘]’
    ++ ‘[’ ‘NONE_(called_by_errorhandlerretry)’ = TERM ‘]’
    ++ ‘[’ ‘NONE_(called_by_errorhandlerretry)’ = ERR ‘]’
    ++ ‘[’ ‘NONE_(called_by_errorhandlerretry)’ = ‘NONE_(called_by_errorhandlerretry)’ ‘]’
    ++ true ‘INFO: trap_signal_type_last: NONE_(called_by_errorhandlerretry), considering auto retry…’
    ++ ‘[’ ‘!’ 1 = 0 ‘]’
    ++ ‘[’ 2 = ‘’ ‘]’
    ++ ‘[’ -n 1 ‘]’
    ++ ‘[’ -n 5 ‘]’
    ++ local first
    ++ read -r first _
    ++ ‘[’ ‘$DEBOOTSTRAP_PREFIX’ = error_ ‘]’
    ++ ‘[’ 2 -gt 1 ‘]’
    ++ true 'INFO: Auto retried (–retry-max) already 1 times. No more auto retry. ’
    ++ unset whonix_build_auto_retry_counter
    ++ ignore_error=false
    ++ answer=
    ++ ‘[’ ‘NONE_(called_by_errorhandlerretry)’ = ERR ‘]’
    ++ ‘[’ ‘NONE_(called_by_errorhandlerretry)’ = ‘NONE_(called_by_errorhandlerretry)’ ‘]’
    ++ true 'INFO: whonix_build_non_interactive: ’
    ++ ‘[’ ‘’ = true ‘]’
    ++ ‘[’ -t 0 ‘]’
    ++ true ‘INFO: stdin connected to terminal, using interactive error handler.’
    ++ true 'ERROR in ././build-steps.d/1300_create-raw-image detected!
    Please have a look above (the block within ###…), note the command that failed, last_failed_exit_code and its output (further above).
  • Please enter c and press enter to ignore the error and continue building. (Recommended against!)
  • Please press r and enter to retry.
  • Please press s and enter to open an chroot interactive shell.
  • Please press enter to cleanup and exit.’
    ++ read -p 'Answer? ’ answer
    Answer?

Since you don’t want i386, the " or using '--arch i386' instead." part won’t work.

So try “Consider installing and booting the 'linux-image-amd64' kernel”. And what I meant by that is NOT --kernel linux-image-amd64 build option. It is installing that very kernel on the Debian or Whonix you are currently using for trying to build Whonix. I.e. sudo apt-get install linux-image-amd64. Then boot that kernel.

Should that not work, you would need an amd64 Debian or Whonix installation. Since no one is providing amd64 Whonix, you would be left with manually starting with amd64 Debian. ((Building on Debian jessie based is currently the only tested option.)

Usually you don’t need to use --kernel. Should you use --arch amd64, the build script will automatically pick the right kernel, linux-image-amd64 for you. Only for other platforms than i686 or amd64 you need to manually specify the right kernel, because that is not yet specified in the build script.

Repost of my command because it was lumped n with the rest of the log:

sudo
whonix_build_sources_list=“build_sources/debian_testing_current.list”
./whonix_build --gnw – --build --target qcow2 --allow-untagged true
–allow-uncommitted true --arch amd64

Are you saying the only way to have a 64 kernel install without an error is to use a 64 Debian install as a build machine?

I meant try mixing the linux-image-amd64 kernel on a i686 build machine.
That should work.

In other words, just run sudo apt-get install linux-image-amd64 on
your build machine. Then reboot. Boot that kernel. Never mind if the
build machine is bare metal or a VM. No full 64 bit re-install required.
Just one package.

[Only if that does not work (unlikely) you must use a 64 bit Debian [or
derivatives].]

[[kernel architecture does not equal package architecture. Some can be
mixed. Multi arch.]]

In principal this works with your instructions however the build failed because of the changed package names like you said. The error popped up when installing udisks.

Where do I need to look to update the dependency names?

anon-meta-packages debian/control

Should the updated names go beside current ones or replace them? I don’t want to break Jessie builds

udisks2
plasma-nm
pinentry-gtk2

doesn’t exist:

kde-workspace
kdm – deprecated by sddm
kde-dolphin-menubar-enable
kde-kdm-autologin
kde-lowfat
kde-common-resolution
fpm2
scim-uim
ttf-arphic-ukai

didn’t check past this section because they seem to be interdependencies between Whonix packages.

HulaHoop:

Should the updated names go beside current ones or replace them? I don’t want to break Jessie builds

Make it work in wheezy as well as in jessie. That’s the only requirement.

..., udisks | udisks2, ...

is also possible. (But in this specific case not required, since wheezy
has udisk2 also, so we can simply do udisks → udisks2.

HulaHoop:

doesn’t exist:

Some of them are Whonix packages. See packages sub folder in Whonix main
source code folder, Whonix · GitHub or search engines.

It’s not the best time to work on Debian stretch support at this time.
It’s not on the roadmap to Whonix 13. Too much changed. Maybe also too
volatile.

Also

still applies.

Adding pkg-wheezy | pkg-jessie for the problematic cases, not sure if
that would over complicate anon-meta-packages’s debian/control. Also a
git branches approach seems to over complicate things.

A better time to work on Debian stretch support will be when Debian
stretch was blessed (almost) stable.

HulaHoop:

udisks2
plasma-nm
pinentry-gtk2

Fixed in git master.

kdm – deprecated by sddm

Problematic. Then also probably
https://github.com/Whonix/kde-kdm-autologin needs updates or replacement.

kde-workspace

This is also problematic. Would be easier to drop jessie support the
moment porting to stretch. Replacing kde-workspace needs more thought.
Requires a review of kde-workspace’s current dependencies. And a plan on
what to emulate.

  • freespacenotifier → Drop.
  • kde-window-manager → Make kwin-x11 dependency of anon-shared-desktop-kde.
  • klipper → Keep? Otherwise copy and paste works in strange ways.
    [After closing an application, where one copied something from into the
    clipboard, the clipboard is emptied upon closing of that application.]
  • ksysguard → drop?
  • systemsettings → Make systemsettings dependency of
    anon-shared-desktop-kde
  • kde-workspace-bin → Was removed from Debian stretch. (Reason: “ROM;
    superseded by Plasma 5”) Need to find a drop-in replacement package, if
    it exists or also to be thought through as these packages above.

kde-dolphin-menubar-enable
kde-kdm-autologin
kde-lowfat
kde-common-resolution

Packages by Whonix.

fpm2

TODO. See:

https://forums.whonix.org/t/done-add-password-manager-by-default

scim-uim
ttf-arphic-ukai

The anon-workstation-langpack-common package? For now, patches welcome.

trap_signal_type_last : ERR
process_backtrace_result:
1: : /sbin/init
2: : /usr/bin/konsole
3: : /bin/bash
4: : sudo ./whonix_build --gnw – --build --target qcow2 --allow-untagged true --allow-uncommitted true --arch amd64
5: : /bin/bash ./whonix_build --gnw – --build --target qcow2 --allow-untagged true --allow-uncommitted true --arch amd64
6: : /bin/bash ./help-steps/whonix_build_one --flavor whonix-workstation --build --target qcow2 --allow-untagged true --allow-uncommitted true --arch amd64
7: : /bin/bash ././build-steps.d/1700_install-packages
function_trace_result:
main (line number: 467)
main (line number: 459)
install-packages (line number: 413)
pkg-install-maybe (line number: 170)
error (line number: 20)
errorhandlerunchrootunpreventunmount (line number: 320)
errorhandlerprocessshared (line number: 159)
last_failed_bash_command: error_ “See above! (There should be a bold, red message surrounded by blue hashtags (#).)”
last_failed_exit_code: 127
ERROR in ././build-steps.d/1700_install-packages detected!

  • true ‘ERROR: As expected, failed again to install anon-workstation-default-applications. (apt_get_exit_code: 100) Trying to diagnose the problem using function apt_get_parse_unmet_dependency…’
  • apt_get_parse_unmet_dependency anon-workstation-default-applications
  • local pkg_unmet
  • pkg_unmet=anon-workstation-default-applications
  • true ‘INFO: Running “dpkg -l | grep anon-workstation-default-applications”…’
  • chroot /home/user/whonix_binary/Whonix-Workstation_image dpkg -l
  • grep anon-workstation-default-applications
  • true
  • chroot /home/user/whonix_binary/Whonix-Workstation_image apt-cache policy anon-workstation-default-applications
    anon-workstation-default-applications:
    Installed: (none)
    Candidate: (none)
    Version table:
  • local line
  • set +x
  • true ‘INFO: Tried to diagnose the problem using function apt_get_parse_unmet_dependency.’
  • error ‘See above!’
  • true
  • true ‘ERROR: See above!’
  • true

The log is much to short to make head or tail of it.

  • It would be useful to mention in Tor Browser downloader that the hardened version is: (x64 only)

  • I realized the build script was pulling in libavahi with some dependencies. Maybe these could be listed in the banned packages
    Debian -- Package Search Results -- libavahi


I discovered the build did not include the new extra packages committed since the branch. Should I not checkout a branch to get all the latest changes?