Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.
Sign upArch Linux template fails to build #2557
Comments
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
rdhammond
Jan 7, 2017
I was struggling with this, too, until I came up with a workaround last night After the build gets to this point and fails, edit this file (assuming your username is user and you cloned qubes-builder under your home dir):
/home/user/qubes-buidler/chroot-archlinux/home/user/qubes-src/core-agent-linux/Makefile
Look for:
# FIXME: do a source code move vm-systemd/*.sh to init/
# since those scripts are shared between sysvinit and systemd.
install -m 0755 init/*.sh vm-systemd/*.sh $(DESTDIR)$(LIBDIR)/qubes/init/
install -m 0644 init/functions $(DESTDIR)$(LIBDIR)/qubes/init/
Change to:
# FIXME: do a source code move vm-systemd/*.sh to init/
# since those scripts are shared between sysvinit and systemd.
install -m 0755 /home/user/qubes-src/core-agent-linux/init/*.sh vm-systemd/*.sh $(DESTDIR)$(LIBDIR)/qubes/init/
install -m 0644 /home/user/qubes-src/core-agent-linux/init/functions $(DESTDIR)$(LIBDIR)/qubes/init/
Note that the paths in the replacement code are correct. They're relative to the chroot, not your normal tree. After that, go back to your normal qubes-builder dir, run make core-agent-linux, and it should behave. The remaining build targets seem to go off without a hitch.
Explanation: As far as I can tell, the install command(s) above are somehow running under a different working path than the script expects; it doesn't find ./init and bails out. Forcing the path seems to fix it, but considering there's a giant FIXME in front, it's probably not a coincidence. :) I have zero clue where the stuff for Arch comes from, though, since the Makefile is kind of a black box to me and Qubes the build process seems insanely complex. If someone can point me at the right place---or just take the changes above and run with them---I'd appreciate it. This was a really frustrating one for me because I love Arch, so hopefully all this helps.
rdhammond
commented
Jan 7, 2017
|
I was struggling with this, too, until I came up with a workaround last night After the build gets to this point and fails, edit this file (assuming your username is
Look for:
Change to:
Note that the paths in the replacement code are correct. They're relative to the chroot, not your normal tree. After that, go back to your normal Explanation: As far as I can tell, the install command(s) above are somehow running under a different working path than the script expects; it doesn't find |
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
|
This is already fixed here: QubesOS/qubes-core-agent-linux#32 |
marmarek
closed this
Jan 7, 2017
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
rdhammond
Jan 7, 2017
It looks like app-linux-split-gpg is also missing an (Arch) dependency, which is killing the build. I'll file a separate ticket.
rdhammond
commented
Jan 7, 2017
|
It looks like app-linux-split-gpg is also missing an (Arch) dependency, which is killing the build. I'll file a separate ticket. |
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
cryptix
Jan 9, 2017
I just ran into this again following the docs instructions.
...
==> Starting package()...
install -d /home/user/qubes-src/core-agent-linux/pkg/qubes-vm-core/etc/qubes-rpc
install -d /home/user/qubes-src/core-agent-linux/pkg/qubes-vm-core/usr/lib/qubes /home/user/qubes-src/core-agent-linux/pkg/qubes-vm-core/usr/bin
install qrexec-agent /home/user/qubes-src/core-agent-linux/pkg/qubes-vm-core/usr/lib/qubes
install qrexec-client-vm /home/user/qubes-src/core-agent-linux/pkg/qubes-vm-core/usr/bin
ln -s ../../bin/qrexec-client-vm /home/user/qubes-src/core-agent-linux/pkg/qubes-vm-core/usr/lib/qubes/qrexec-client-vm
ln -s ../../bin/qrexec-client-vm /home/user/qubes-src/core-agent-linux/pkg/qubes-vm-core/usr/lib/qubes/qrexec_client_vm
install qrexec-fork-server /home/user/qubes-src/core-agent-linux/pkg/qubes-vm-core/usr/bin
install qubes-rpc-multiplexer /home/user/qubes-src/core-agent-linux/pkg/qubes-vm-core/usr/lib/qubes
cat: version: No such file or directory
/bin/bash: lsb_release: command not found
/bin/bash: lsb_release: command not found
/bin/bash: lsb_release: command not found
install -d /home/user/qubes-src/core-agent-linux/pkg/qubes-vm-core/usr/lib/qubes/init
# FIXME: do a source code move vm-systemd/*.sh to init/
# since those scripts are shared between sysvinit and systemd.
install -m 0755 init/*.sh vm-systemd/*.sh /home/user/qubes-src/core-agent-linux/pkg/qubes-vm-core/usr/lib/qubes/init/
install: cannot stat 'init/*.sh': No such file or directory
make: *** [Makefile:99: install-init] Error 1
==> ERROR: A failure occurred in package().
Aborting...
/home/user/qubes-builder/qubes-src/builder-archlinux/Makefile.archlinux:120: recipe for target 'dist-package' failed
make[2]: *** [dist-package] Error 2
Makefile.generic:139: recipe for target 'packages' failed
make[1]: *** [packages] Error 1
Makefile:209: recipe for target 'core-agent-linux-vm' failed
make: *** [core-agent-linux-vm] Error 1
[user@archdev qubes-builder]$
I'm not familiar with the build process here but maybe make get-sources doesn't fetch latest?
edit: the fix in QubesOS/qubes-core-agent-linux#32 worked for me(tm) and resulted in a template that created a now running vm.
cryptix
commented
Jan 9, 2017
•
|
I just ran into this again following the docs instructions.
I'm not familiar with the build process here but maybe edit: the fix in QubesOS/qubes-core-agent-linux#32 worked for me(tm) and resulted in a template that created a now running vm. |
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
|
As discussed in #2578, this is apparently not yet resolved. |
andrewdavidwong
reopened this
Jan 15, 2017
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
JoranHonig
Jan 15, 2017
I was able to fix the issue in #2578 by changing the following file: qubes-src/builder-archlinux/scripts/04_install_qubes.sh line:70
It tries to make a symbolic link that already exists, the following change prevents the script from doing so.
#Before
ln -s ../usr/lib/os-release "${INSTALLDIR}/etc/os-release"
#After
if [ "$(readlink ${INSTALLDIR}/etc/os-release)" != "../usr/lib/os-release"]; then
ln -s ../usr/lib/os-release "${INSTALLDIR}/etc/os-release"
fi
JoranHonig
commented
Jan 15, 2017
•
|
I was able to fix the issue in #2578 by changing the following file: qubes-src/builder-archlinux/scripts/04_install_qubes.sh line:70 #Before
ln -s ../usr/lib/os-release "${INSTALLDIR}/etc/os-release"
#After
if [ "$(readlink ${INSTALLDIR}/etc/os-release)" != "../usr/lib/os-release"]; then
ln -s ../usr/lib/os-release "${INSTALLDIR}/etc/os-release"
fi |
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
|
@JoranHonig: Sounds good! Closing as fixed. |
andrewdavidwong
closed this
Jan 15, 2017
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
|
@JoranHonig: Please consider submitting a PR with your fix. |
lokedhs commentedJan 6, 2017
•
edited
Edited 1 time
-
lokedhs
edited Jan 6, 2017 (most recent)
Qubes OS version (e.g.,
R3.2):Qubes OS version r3.2.
Affected TemplateVMs (e.g.,
fedora-23, if applicable):Attempting to build Arch Linux template using fedora-23
I was following the instructions on the following page: https://www.qubes-os.org/doc/templates/archlinux/
Everything went well until the stop that involves me running
make qubes-vm. It runs for a while and then fails. The end of the log looks like this: