[qubes-users] qubes build system is fragile

Hi all,

has someone a VM of a 100% working qubes-build system?
I am trying to get qubes-build running on

-qubes machine, here I have dedicated 8 cores of my workstation

-stand alone machine with fc33, 48 cores of Xeon(R) CPU E5-2697 v2 @ 2.70GHz
with 128GB RAM in both cases I dont have success.

Also there is a “mount problem” that make remount does not solve as advertised
in the error message.
One needs to disable selinux completely then this works, which I found after some

web search…

And now on both machines it stops with a problem in libvirt.

"

Now it spits an error:
[sudo] password for build:
→ Building core-libvirt (libvirt.spec) for fc33 dom0 (logfile: build-logs/core-libvirt-dom0-fc33.log)
→ build failed!
make[2]: Entering directory ‘/home/build/src/qubes-builder’
/home/build/src/qubes-builder/qubes-src/builder-rpm//update-local-repo.sh fc33
sudo BACKEND_VMM=xen dnf --installroot=/home/build/src/qubes-builder/chroot-dom0-fc33 --installroot=/home/build/src/qubes-builder/chroot-dom0-fc33 --refresh -y update
Qubes OS Builder Repository 2.9 MB/s | 3.0 kB 00:00
Qubes OS Builder Repository 456 kB/s | 22 kB 00:00
Fedora 33 - x86_64 235 kB/s | 26 kB 00:00
Fedora 33 openh264 (From Cisco) - x86_64 12 kB/s | 989 B 00:00
Fedora 33 - x86_64 - Updates 109 kB/s | 10 kB 00:00
Fedora 33 - x86_64 - Updates 1.8 MB/s | 2.9 MB 00:01
Dependencies resolved.
Nothing to do.
Complete!
sudo BACKEND_VMM=xen chroot /home/build/src/qubes-builder/chroot-dom0-fc33 su -c ‘rpmspec -P --define “debug_package %{nil}” --define “fedora 33” --define “dist .fc33” --define “fedora 33” --define “dist .fc33” /home/user/qubes-src/core-libvirt/libvirt.spec > /home/user/qubes-src/core-libvirt/libvirt.spec.parsed’ - user
cat: version: No such file or directory
error: line 275: Empty tag: Version:
make[2]: *** [/home/build/src/qubes-builder/qubes-src/builder-rpm/Makefile-legacy.rpmbuilder:51: dist-build-dep.spec] Error 1
make[2]: Leaving directory ‘/home/build/src/qubes-builder’
make[1]: *** [Makefile.generic:191: packages] Error 1
make[1]: Leaving directory ‘/home/build/src/qubes-builder’
make: *** [Makefile:267: core-libvirt-dom0] Error 1

"

As the core developers are having a working build system, it would be nice, if
they could just share the complete VM so it easy to just use it. No more brushing
of big animals with dirty furs.

Anyone who just has a working qubes builder and who is willing to share it,
so I can run it with qemu, virtualbox or something else?
I just want to change 10 lines of Xen code and I find my self brusing fury animals for more than a week (not the main work, but it is a waste of time, the fragile qubes build system)

Thanks and best Regards,

Ludwig

(Attachment builder.conf is missing)

Now I tried again:
make clean
make install-deps
make get-sources
make qubes

after a short while:

"
gcc -m64 -DBUILD_ID -fno-strict-aliasing -std=gnu99 -Wall -Wstrict-prototypes -Wdeclaration-after-statement -Wno-unused-but-set-variable -Wno-unused-local-typedefs -O2 -fomit-frame-pointer -D__XEN_INTERFACE_VERSION__=XEN_LATEST_INTERFACE_VERSION -MMD -MP -MF .afl-harness.d -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -ffile-prefix-map=/home/user/rpmbuild/BUILD/xen-4.14.2/tools/fuzz/x86_instruction_emulator/…/…/…=. -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -Wno-error=declaration-after-statement -I/home/user/rpmbuild/BUILD/xen-4.14.2/tools/fuzz/x86_instruction_emulator/…/…/…/tools/include -D__XEN_TOOLS__ -I. afl-harness.o fuzz-emul.o x86-emulate.o cpuid.o wrappers.o -o afl-harness
/usr/bin/ld: /tmp/afl-harness.R8wVcg.ltrans0.ltrans.o: in function data_read': /usr/include/bits/string_fortified.h:29: undefined reference to emul_memcpy’
/usr/bin/ld: /tmp/afl-harness.R8wVcg.ltrans0.ltrans.o: in function data_read': /usr/include/bits/stdio2.h:110: undefined reference to emul_putchar’
/usr/bin/ld: /tmp/afl-harness.R8wVcg.ltrans0.ltrans.o: in function fuzz_read_msr': /usr/include/bits/stdio2.h:110: undefined reference to emul_puts’
/usr/bin/ld: /tmp/afl-harness.R8wVcg.ltrans0.ltrans.o: in function dump_state': /usr/include/bits/stdio2.h:110: undefined reference to emul_puts’
/usr/bin/ld: /tmp/afl-harness.R8wVcg.ltrans0.ltrans.o: in function check_state': /usr/include/bits/stdio2.h:110: undefined reference to emul_puts’
/usr/bin/ld: /tmp/afl-harness.R8wVcg.ltrans0.ltrans.o: in function LLVMFuzzerTestOneInput.constprop.0.isra.0': /usr/include/bits/stdio2.h:110: undefined reference to emul_puts’
/usr/bin/ld: /usr/include/bits/stdio2.h:110: undefined reference to emul_puts' /usr/bin/ld: /tmp/afl-harness.R8wVcg.ltrans0.ltrans.o:/usr/include/bits/stdio2.h:110: more undefined references to emul_puts’ follow
/usr/bin/ld: /tmp/afl-harness.R8wVcg.ltrans0.ltrans.o: in function LLVMFuzzerTestOneInput.constprop.0.isra.0': /usr/include/bits/string_fortified.h:29: undefined reference to emul_memcpy’
/usr/bin/ld: /tmp/afl-harness.R8wVcg.ltrans0.ltrans.o: in function LLVMFuzzerTestOneInput.constprop.0.isra.0': /home/user/rpmbuild/BUILD/xen-4.14.2/tools/fuzz/x86_instruction_emulator/x86_emulate/x86_emulate.c:8782: undefined reference to emul_memcmp’
/usr/bin/ld: /tmp/afl-harness.R8wVcg.ltrans0.ltrans.o: in function LLVMFuzzerTestOneInput.constprop.0.isra.0': /usr/include/bits/string_fortified.h:56: undefined reference to emul_memset’
/usr/bin/ld: /usr/include/bits/string_fortified.h:29: undefined reference to emul_memcpy' /usr/bin/ld: /usr/include/bits/string_fortified.h:56: undefined reference to emul_memset’
/usr/bin/ld: /usr/include/bits/string_fortified.h:56: undefined reference to emul_memset' /usr/bin/ld: /usr/include/bits/string_fortified.h:29: undefined reference to emul_memcpy’
/usr/bin/ld: /tmp/afl-harness.R8wVcg.ltrans0.ltrans.o: in function main': /usr/include/bits/stdio2.h:110: undefined reference to emul_puts’
collect2: error: ld returned 1 exit status
make[6]: *** [Makefile:43: afl-harness] Error 1
make[6]: Leaving directory ‘/home/user/rpmbuild/BUILD/xen-4.14.2/tools/fuzz/x86_instruction_emulator’
make[5]: *** [/home/user/rpmbuild/BUILD/xen-4.14.2/tools/fuzz/…/…/tools/Rules.mk:242: subdir-install-x86_instruction_emulator] Error 2
make[5]: Leaving directory ‘/home/user/rpmbuild/BUILD/xen-4.14.2/tools/fuzz’
make[4]: *** [/home/user/rpmbuild/BUILD/xen-4.14.2/tools/fuzz/…/…/tools/Rules.mk:237: subdirs-install] Error 2
make[4]: Leaving directory ‘/home/user/rpmbuild/BUILD/xen-4.14.2/tools/fuzz’
make[3]: *** [/home/user/rpmbuild/BUILD/xen-4.14.2/tools/…/tools/Rules.mk:242: subdir-install-fuzz] Error 2
make[3]: Leaving directory ‘/home/user/rpmbuild/BUILD/xen-4.14.2/tools’
make[2]: *** [/home/user/rpmbuild/BUILD/xen-4.14.2/tools/…/tools/Rules.mk:237: subdirs-install] Error 2
make[2]: Leaving directory ‘/home/user/rpmbuild/BUILD/xen-4.14.2/tools’
make[1]: *** [Makefile:72: install] Error 2
make[1]: Leaving directory ‘/home/user/rpmbuild/BUILD/xen-4.14.2/tools’
make: *** [Makefile:134: install-tools] Error 2
error: Bad exit status from /var/tmp/rpm-tmp.96o9LJ (%build)

RPM build errors:
Bad exit status from /var/tmp/rpm-tmp.96o9LJ (%build)
make[2]: *** [/home/build/src/qubes-builder/qubes-src/builder-rpm/Makefile-legacy.rpmbuilder:66: dist-package-build] Error 1
make[2]: Leaving directory ‘/home/build/src/qubes-builder’
make[1]: *** [Makefile.generic:191: packages] Error 1
make[1]: Leaving directory ‘/home/build/src/qubes-builder’
make: *** [Makefile:267: vmm-xen-dom0] Error 1
"

So it can not link for some dependencies in xen…
This should be “stable code”, at least it should compile :frowning:

Any thoughts about it?

Regards,

Ludwig

ludwig...@gmail.com:

/usr/bin/ld: /tmp/afl-harness.R8wVcg.ltrans0.ltrans.o: in function
`data_read':

These and subsequent errors suggest a (probably newer) package isn't supplying expected functions. Maybe try to build in an FC32 VM instead?