Failed whonix-gateway build on 12.0.0.0.3-stable

Git was clean before running the build command, which was:
sudo ./whonix_build --flavor whonix-gateway – --target root --gui none --freshness current --build

Error in ././build-steps.d/1200_create-debian-packages
last_failed_bash_command:
sudo -E -i “$user_name” make_use_lintian="$lintian_use_maybe" make -f “$make_file” deb-pkg
last failed_exit_code: 2

That log is much too short to make head or tail of it. I need to see it at very least from the beginning of sudo -E -i "$user_name" make_use_lintian="$lintian_use_maybe" make -f "$make_file" deb-pkg.

Again, Not sure how much of the log you want. Its getting pretty long since its just appending each time I attempt a build. I will start making seperate logs so I can post you the entire thing. For now here is more info on the above error, maybe it has something to do with the dpkg warning:

dpkg: warning: failed to open configuration file ‘/root/.dpkg.cfg’ for reading: Permission denied
dpkg: warning: failed to open configuration file ‘/root/.dpkg.cfg’ for reading: Permission denied
dpkg: warning: failed to open configuration file ‘/root/.dpkg.cfg’ for reading: Permission denied
W: anon-apt-sources-list source: package-file-is-executable debian/copyright
N:
N: The packaging file is marked executable. For control, changelog and
N: copyright there is no reason for them to be executable.
N:
N: This tag is also emitted if a debhelper file is marked executable
N: without using compat level 9, since debhelper does not execute them at
N: lower compat levels.
N:
N: Severity: normal, Certainty: certain
N:
N: Check: debhelper, Type: source
N:
W: anon-apt-sources-list source: package-file-is-executable debian/control
W: anon-apt-sources-list source: package-file-is-executable debian/changelog
W: anon-apt-sources-list: executable-not-elf-or-script etc/apt/sources.list.d/debian.list
N:
N: This executable file is not an ELF format binary, and does not start
N: with the #! sequence that marks interpreted scripts. It might be a sh
N: script that fails to name /bin/sh as its shell, or it may be incorrectly
N: marked as executable. Sometimes upstream files developed on Windows are
N: marked unnecessarily as executable on other systems.
N:
N: If you are using debhelper to build your package, running dh_fixperms
N: will often correct this problem for you.
N:
N: Refer to Debian Policy Manual section 10.4 (Scripts) for details.
N:
N: Severity: normal, Certainty: certain
N:
N: Check: scripts, Type: binary
N:

  • make_lintian_exit_code=1
  • true
  • ‘[’ 1 = 0 ‘]’
  • ‘[’ true = true ‘]’
  • true ‘ERROR: lintian exited 1. Failing closed.’
  • exit 1
    /usr/share/genmkfile/makefile-full:47: recipe for target ‘deb-pkg’ failed
    make: *** [deb-pkg] Error 1
    ++ errorhandlergeneral ERR
    ++ last_failed_exit_code=2
    ++ last_failed_bash_command=‘sudo -E -u “$user_name” make_use_lintian="$lintian_use_maybe" make -f “$make_file” deb-pkg’
    ++ 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=ERR
    ++ ‘[’ ERR = ‘’ ‘]’
    ++ trap_signal_type_last=ERR
    ++ whonix_build_error_counter=2
    +++ benchmarktimeend 1451171682
    ++++ date +%s
    +++ benchmarktimeend=1451171704
    +++ benchmark_took_seconds=22
    ++++ convertsecs 22
    ++++ local h m s
    ++++ (( h=22/3600 ))
    ++++ true
    ++++ (( m=(22%3600)/60 ))
    ++++ true
    ++++ (( s=22%60 ))
    ++++ printf ‘%02d:%02d:%02d\n’ 0 0 22
    +++ echo 00:00:22
    ++ benchmark_took_time=00:00:22
    ++ 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/1200_create-debian-packages detected!

Very strange. The first time to ever have this happen. Somehow the file
permissions got messed up. Did you chmod +x anything? Don’t. No need.
Start with a fresh Whonix source code folder. Delete the old one and get
a new one. Easiest.

Yes sir I have fresh install folder, no chmod of any files. Heres a full log isolated from all my other build attempts (this is back on 12.0.0.3.2-developers-only branch, so its giving error on both), I cant upload entire log since its so long:

dpkg: warning: failed to open configuration file ‘/root/.dpkg.cfg’ for reading: Permission denied
dpkg: warning: failed to open configuration file ‘/root/.dpkg.cfg’ for reading: Permission denied
dpkg: warning: failed to open configuration file ‘/root/.dpkg.cfg’ for reading: Permission denied
W: anon-apt-sources-list source: package-file-is-executable debian/copyright
N:
N: The packaging file is marked executable. For control, changelog and
N: copyright there is no reason for them to be executable.
N:
N: This tag is also emitted if a debhelper file is marked executable
N: without using compat level 9, since debhelper does not execute them at
N: lower compat levels.
N:
N: Severity: normal, Certainty: certain
N:
N: Check: debhelper, Type: source
N:
W: anon-apt-sources-list source: package-file-is-executable debian/control
W: anon-apt-sources-list source: package-file-is-executable debian/changelog
W: anon-apt-sources-list: executable-not-elf-or-script etc/apt/sources.list.d/debian.list
N:
N: This executable file is not an ELF format binary, and does not start
N: with the #! sequence that marks interpreted scripts. It might be a sh
N: script that fails to name /bin/sh as its shell, or it may be incorrectly
N: marked as executable. Sometimes upstream files developed on Windows are
N: marked unnecessarily as executable on other systems.
N:
N: If you are using debhelper to build your package, running dh_fixperms
N: will often correct this problem for you.
N:
N: Refer to Debian Policy Manual section 10.4 (Scripts) for details.
N:
N: Severity: normal, Certainty: certain
N:
N: Check: scripts, Type: binary
N:

  • make_lintian_exit_code=1
  • true
  • ‘[’ 1 = 0 ‘]’
  • ‘[’ true = true ‘]’
  • true ‘ERROR: lintian exited 1. Failing closed.’
  • exit 1
    /usr/share/genmkfile/makefile-full:47: recipe for target ‘deb-pkg’ failed
    make: *** [deb-pkg] Error 1
    ++ retry_last_failed_bash_command_exit_code=2
    ++ true
    ++ ‘[’ 2 = 0 ‘]’
    ++ true 'INFO: Retry failed. exit code of last_failed_bash_command: 2 '
    ++ last_failed_exit_code=2
    ++ last_failed_bash_command=‘sudo -E -u “$user_name” make_use_lintian="$lintian_use_maybe" make -f “$make_file” deb-pkg’
    ++ ‘[’ ‘!’ ‘’ = ‘’ ‘]’
    ++ true ‘INFO: Skipping whonix_build_dispatch_after_retry (–retry-after), because empty, ok.’
    ++ ‘[’ 2 = 0 ‘]’
    ++ errorhandlerprocessshared ‘NONE_(called_by_errorhandlerretry)’
    ++ last_script=././build-steps.d/1200_create-debian-packages
    ++ trap_signal_type_previous=ERR
    ++ ‘[’ ERR = ‘’ ‘]’
    ++ trap_signal_type_last=‘NONE_(called_by_errorhandlerretry)’
    ++ whonix_build_error_counter=2
    +++ benchmarktimeend 1451176471
    ++++ date +%s
    +++ benchmarktimeend=1451176519
    +++ benchmark_took_seconds=48
    ++++ convertsecs 48
    ++++ local h m s
    ++++ (( h=48/3600 ))
    ++++ true
    ++++ (( m=(48%3600)/60 ))
    ++++ true
    ++++ (( s=48%60 ))
    ++++ printf ‘%02d:%02d:%02d\n’ 0 0 48
    +++ echo 00:00:48
    ++ benchmark_took_time=00:00:48
    ++ 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/1200_create-debian-packages detected!
    anon_dist_build_version: 12.0.0.3.2
    (whonix_build_error_counter: 2)
    (benchmark: 00:00:48)
    trap_signal_type_previous: ERR
    trap_signal_type_last : NONE_(called_by_errorhandlerretry)
    process_backtrace_result:
    1: : /sbin/init
    2: : /bin/login –
    3: : -bash
    4: : sudo ./whonix_build --flavor whonix-gateway – --target root --gui none --freshness current --build
    5: : /bin/bash ./whonix_build --flavor whonix-gateway – --target root --gui none --freshness current --build
    6: : /bin/bash ./help-steps/whonix_build_one --flavor whonix-gateway --target root --gui none --freshness current --build
    7: : /bin/bash ././build-steps.d/1200_create-debian-packages
    function_trace_result:
    main (line number: 222)
    main (line number: 218)
    create-debian-packages (line number: 209)
    create_whonix_debian_packages_without_building_system (line number: 144)
    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_whonix_debian_packages_without_building_system (line number: 144)
    create-debian-packages (line number: 209)
    main (line number: 218)
    main (line number: 222)
    last_failed_bash_command: sudo -E -u “$user_name” make_use_lintian="$lintian_use_maybe" make -f “$make_file” deb-pkg
    last_failed_exit_code: 2
    ERROR in ././build-steps.d/1200_create-debian-packages 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 _
    ++ ‘[’ sudo = 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/1200_create-debian-packages 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?

Also, there is no .dpkg.cfg file in /root/ … maybe its trying to make one but permissions are failing?

Patrick,

I was mistaken, I was doing a chown on the entire git repo because I copied it off a USB instead of doing a git clone on the actually device.

Retrying now with a git clone on the device itself.

Patrick,

After doing a fresh git clone, getting a clean git status, and running the build, I still have permission issuse. This time there was no chmoding of anything, as the git repo was not copied from USB, but was cloned directly to the device.

ob7:

Also, there is no .dpkg.cfg file in /root/ … maybe its trying to make one but permissions are failing?

Non-issue. Just now added to physical isolation instructions:
Build Documentation: Physical Isolation

Ok thanks for doing that. When the gateway is started, can it be used to connect to the internet itself, such as doing a ping or wget, or must I use a workstation attached to the gateway? I would like to be able to use any linux box as the workstation, just plug it into the gateway and the gateway then route all its connections. I willl probably need to change some configuration on the computer I connect to the gateway?

ob7:

When the gateway is started, can it be used to connect to the internet
itself,

Yes.

such as doing a ping or wget, or

All traffic is routed through Tor. And nice Tor does not support
ICMP… No ping. Wget, yes, through Tor.

must I use a workstation
attached to the gateway?

Workstation must be attached to a gateway.

I would like to be able to use any linux box
as the workstation, just plug it into the gateway and the gateway then
route all its connections. I willl probably need to change some
configuration on the computer I connect to the gateway?

See:

Thanks Patrick,

So there is no way to test if my internet is actually working from within the gateway? I have to use the workstation to ping any domains to see if the connection works. But you say I could do a wget from the gateway command line, but that would mean tor must already be running, and if my network isn’t working yet, tor couldn’t be running at all. Therefore the only way to know for sure if my network is configured right and is working, is to try to make connections via the workstation?

Hi, I’ve done everything as instructed at Build Documentation: Physical Isolation but in the end after sudo ./whonix_build --flavor whonix-gateway -- --target root --build command, the terminal had stucked and keeps showing same thing. So i stopped ctrl+c and get error message "./ ./build-steps.d/1200_create-debian-packages". Further steps is to press C ignore errors and continue (witch does works and brings me to same error again) S for open chroot interactive shell, and ENTER to cleanup and exit… Any ideas? Thank you. :slightly_smiling:

Documentation is up to date (tested). There shouldn’t be any errors.

Hard to tell without the log:

sudo ./whonix_build --flavor whonix-gateway -- --target root --build >> ~/log-phyiso 2>&1

To optionally watch the progress, open a second virtual console and type.

tail -f ~/log-phyiso

If don’t want to create a log of the build process (the build progress will then appear on screen) use the following command.
This is not recommended because if anything goes wrong during
the build, it will be harder to pinpoint the exact error without the
actual log file.

Also, build takes a long time and similar steps loop many times. Another reason it’s helpful to be able to scroll back through log - so you can see if things are really repeating exactly.