Problem Building ArchBuilder Template in Qubes

I have attempted to build the ArchLinuxBuilder template per the directions on Contents/Building-ArchLinux website a minimum of four times now and I am stopped at Step 7 with an error. The error message is “Make: *** [Makefile 213: builder-archlinux.get-sources] Error 129” and I am unable to proceed any further. All of the steps leading up to Step 7 complete unremarkably. I would very much like to create this ArchLinuxBuilder template for my Qubes 4.0.3 OS setup on my system which is healthy.

Can anyone tell me what is wrong or what I’m doing wrong here? Thank you.

While I have not had experience in building like this, I think if I were in your shoes the first port of call would be to make the build output more verbose. The error hints at something in get-sources so it could be something as simple as a upstream source 404’ing or being configured incorrectly.

I would recommend adding VERBOSE=1 to the make command … and maybe ask the template builderwhat flavours are configured for build;

make VERBOSE=1 build-info

Simon.newton,

I believe I may have discovered a partial answer to the problem. Let me run this by you and perhaps you can give me additional advice on what I should do. When I reach the screen “Get Sources” in Step 5, I select “YES” and the process begins. But, here is what I see:

—> Updating sources for builder-archlinux…
—> Fetching from https://github.com/QubesOS/qubes-builder-archlinux.git master (options: --depth=1)…
—> Verifying tags …
—> Good tag <tag #>…

Then, the process never generates any additional output to the screen and I have to eventually hit the Enter key selecting OK to continue. A lot of output is sent to the screen which is a file contents.

However, when I open a web browser and enter https://github.com/QubesOS/qubes-builder-archlinux.git , the project is found but since the word “master” follows this, I receive a 404-Page Not Found. I’m assuming that the source files can’t be found as a result and this is why the subsequent make get-sources command in the Terminal fails with the error. Do you concur? If so, what can be done since this URL is embedded in the dialog box and can’t be altered?

simon.newton,

I substituted make VERBOSE=1 get-sources for the original terminal command in Step 7 and when I do I get the following output:

[user@ArchLinuxBuild qubes-builder]$ make VERBOSE=1 get-sources

                       B U I L D   I N F O                                  

Items in red indicate it was automatically generated by configuration file(s)
Items in white indicate it was automatically removed by configuration file(s)

DISTS_VM:
archlinux,
DISTS_ALL:
vm-archlinux,
DIST_DOM0:

BUILDER_PLUGINS:
builder-archlinux,
COMPONENTS:
builder-archlinux, vmm-xen, core-vchan-xen,
core-qubesdb, linux-utils, core-agent-linux, gui-common,
gui-agent-linux, app-linux-split-gpg, app-thunderbird,
app-linux-pdf-converter, app-linux-img-converter,
app-linux-input-proxy, app-linux-usb-proxy,
mgmt-salt, mgmt-salt-base, mgmt-salt-base-topd,
mgmt-salt-base-config, mgmt-salt-base-overrides, mgmt-salt-dom0-qvm,
mgmt-salt-dom0-virtual-machines, mgmt-salt-dom0-update, meta-packages,
linux-template-builder, gcc core-libvirt python-cffi
python-xcffib python-quamash python-objgraph python-hid
python-u2flib-host python-panflute core-admin core-admin-client
core-admin-addon-whonix core-admin-linux intel-microcode
linux-firmware linux-kernel artwork gui-daemon
gui-agent-xen-hvm-stubdom vmm-xen-stubdom-linux app-linux-snapd-helper
app-shutdown-idle app-yubikey app-u2f screenshot-helper
infrastructure dbus manager desktop-linux-common
desktop-linux-kde desktop-linux-xfce4 desktop-linux-i3
desktop-linux-awesome desktop-linux-manager grubby-dummy
linux-dom0-updates linux-pvgrub2 linux-gbulb linux-scrypt
librepo libcomps libsolv libdnf dnf
installer-qubes-os linux-yum linux-deb antievilmaid
xscreensaver dist-upgrade builder builder-debian
builder-rpm
GIT_REPOS:
qubes-src/builder-archlinux, qubes-src/vmm-xen,
qubes-src/core-vchan-xen, qubes-src/core-qubesdb, qubes-src/linux-utils,
qubes-src/core-agent-linux, qubes-src/gui-common,
qubes-src/gui-agent-linux, qubes-src/app-linux-split-gpg,
qubes-src/app-thunderbird, qubes-src/app-linux-pdf-converter,
qubes-src/app-linux-img-converter, qubes-src/app-linux-input-proxy,
qubes-src/app-linux-usb-proxy, qubes-src/mgmt-salt,
qubes-src/mgmt-salt-base, qubes-src/mgmt-salt-base-topd,
qubes-src/mgmt-salt-base-config, qubes-src/mgmt-salt-base-overrides,
qubes-src/mgmt-salt-dom0-qvm, qubes-src/mgmt-salt-dom0-virtual-machines,
qubes-src/mgmt-salt-dom0-update, qubes-src/meta-packages,
qubes-src/linux-template-builder, .,
TEMPLATE:
builder-archlinux, vmm-xen, core-vchan-xen,
core-qubesdb, linux-utils, core-agent-linux, gui-common,
gui-agent-linux, app-linux-split-gpg, app-thunderbird,
app-linux-pdf-converter, app-linux-img-converter, app-linux-input-proxy,
app-linux-usb-proxy, mgmt-salt, mgmt-salt-base,
mgmt-salt-base-topd, mgmt-salt-base-config, mgmt-salt-base-overrides,
mgmt-salt-dom0-qvm, mgmt-salt-dom0-virtual-machines,
mgmt-salt-dom0-update, meta-packages, linux-template-builder,
TEMPLATE_FLAVOR_DIR:
+gnome:8076TEMPLATE_SCRIPTS/gnome, +flash:8076TEMPLATE_SCRIPTS/flash,
+desktop:8076TEMPLATE_SCRIPTS/desktop,
TEMPLATE_ALIAS:
stretch:stretch+standard, stretch+gnome:stretch+gnome+standard,
stretch+minimal:stretch+minimal+no-recommends, buster:buster+standard,
buster+gnome:buster+gnome+standard, buster+minimal:buster+minimal+no-recommends,
bullseye:bullseye+standard, bullseye+gnome:bullseye+gnome+standard,
bullseye+minimal:bullseye+minimal+no-recommends,
whonix-gateway-14:stretch+whonix-gateway+minimal+no-recommends,
whonix-workstation-14:stretch+whonix-workstation+minimal+no-recommends,
whonix-gateway-15:buster+whonix-gateway+minimal+no-recommends,
whonix-workstation-15:buster+whonix-workstation+minimal+no-recommends,
TEMPLATE_LABEL:
fc25:fedora-25 fc30:fedora-30 fc31:fedora-31
fc32:fedora-32 fc30+minimal:fedora-30-minimal
fc31+minimal:fedora-31-minimal fc32+minimal:fedora-32-minimal
fc30+xfce:fedora-30-xfce fc31+xfce:fedora-31-xfce fc32+xfce:fedora-32-xfce
stretch:debian-9 stretch+standard:debian-9 stretch+xfce:debian-9-xfce
buster:debian-10 buster+standard:debian-10 buster+xfce:debian-10-xfce
bullseye:debian-11 bullseye+standard:debian-11 bullseye+xfce:debian-11-xfce
stretch+whonix-gateway+minimal+no-recommends:whonix-gw-14
stretch+whonix-workstation+minimal+no-recommends:whonix-ws-14
buster+whonix-gateway+minimal+no-recommends:whonix-gw-15
buster+whonix-workstation+minimal+no-recommends:whonix-ws-15 centos7:centos-7
centos7+minimal:centos-7-minimal centos7+xfce:centos-7-xfce
centos8:centos-8 centos8+minimal:centos-8-minimal
centos8+xfce:centos-8-xfce stretch:debian-9 stretch+standard:debian-9
-> Updating sources for builder-archlinux…
–> Fetching from https://github.com/QubesOS/qubes-builder-archlinux.git master (options: --depth=1)…
–> Verifying tags…
—> Good tag 3a52c038ef8c2777de714379832dc22a40164884
error: unknown option `show-current’
usage: git branch [] [-r | -a] [–merged | --no-merged]
or: git branch [] [-l] [-f] []
or: git branch [] [-r] (-d | -D) …
or: git branch [] (-m | -M) []
or: git branch [] (-c | -C) []
or: git branch [] [-r | -a] [–points-at]
or: git branch [] [-r | -a] [–format]

Generic options
-v, --verbose show hash and subject, give twice for upstream branch
-q, --quiet suppress informational messages
-t, --track set up tracking mode (see git-pull(1))
-u, --set-upstream-to
change the upstream info
–unset-upstream Unset the upstream info
–color[=] use colored output
-r, --remotes act on remote-tracking branches
–contains print only branches that contain the commit
–no-contains
print only branches that don’t contain the commit
–abbrev[=] use digits to display SHA-1s

Specific git-branch actions:
-a, --all list both remote-tracking and local branches
-d, --delete delete fully merged branch
-D delete branch (even if not merged)
-m, --move move/rename a branch and its reflog
-M move/rename a branch, even if target exists
-c, --copy copy a branch and its reflog
-C copy a branch, even if target exists
-l, --list list branch names
–create-reflog create the branch’s reflog
–edit-description edit the description for the branch
-f, --force force creation, move/rename, deletion
–merged print only branches that are merged
–no-merged print only branches that are not merged
–column[=] list branches in columns
–sort field name to sort on
–points-at print only branches of the object
-i, --ignore-case sorting and filtering are case insensitive
–format format to use for the output

make: *** [Makefile:213: builder-archlinux.get-sources] Error 129
[user@ArchLinuxBuild qubes-builder]$

which points to a problem with an unknown option ‘show current’. Not sure where this option comes in or how to resolve it.

Looks like a Git versioning issue - check your git version, im guessing its before ‘show-current’ support was added. Are you building in an up to date fedora Qube?

Simon.newton,

My git version is 2.21.3. I am building from Fedora 30 which is what was in the Qubes 4.0.3 iso that I created the installer from. I received a dialog message at one point saying that Fedora 30 was out of date and that I needed to upgrade to version 32. However, the attempt to upgrade failed as well. Is the git version current or not? Any tips on upgrading to Fedora 32? I appreciate you looking at this.

the switch you need didn’t appear until, i think, git 2.22. @Plum has handily linked how to update templateVMs - Fedora32 should ensure you are good to go.

Simon-Newton,

I did receive that from @Plum and was able to install the Fedora 32 Template. I’ve switched my current AppVM over to the new Fedora 32 Template and off the Fedora 30 Template. I will retry the install of the ArchLinuxBuild Template and let you know if it was successful.

Thanks to you and @Plum for all your help. My problem isn’t solved yet, but getting closer.

Simon.newton,

I did get past Step 7 in building the ArchLinux-template, but once again ran into a stumbling block with a return of Error 1 after several minutes of compiling to create the ArchLinux-Template per the documentation on the Qubes website. What follows is a fairly lengthy means of attempting to overcome the error 1 and is one that I, frankly, don’t want to entertain at the moment. I’ve decided to give up on building this template for now. Will pick it up at some later point.

Thank you for all your support.

thats sad to hear @datapioneer I will try to make some time over the holidays to recreate the steps you took and see what I can make of it.

@Plexus,

Thank you. I look forward to your solution. Appreciate the exceptional assistance I’m receiving on this issue.

1 Like

@datapioneer Fortunately it’s not you - the template does not currently build on R4.0.

There are some issues that need to be resolved on the development side before it will build for you on Qubes OS Release 4.0. It builds successfully on Qubes Release 4.1 - this is because new development happens here and then needs to be backported to Release 4.0.

The Archlinux template is a community template, so it takes 1) people attempting to build and 2) people performing testing. Little magic happens if neither of those are happening, as the Qubes core team has lots to handle already. So thanks for taking part in activity 1, and while it’s not the result you hope (being able to use it), your thread does raise awareness of a build issue. When it’s working I can report back.

@icequbes1,

Thank you for letting me know. I used a script yesterday to create the ArchLinux template one more time. Everything went well, but after about 4 to 5 hours of compiling, the template failed. Good to know I wasn’t doing something wrong.

I do run Qubes 4.0.3 and not 4.1. Please let me know when the template fix is backported to 4.0 and I’ll retry. I can live without the ArchLinux template until then.