qubes build system is fragile

14 views
Skip to first unread message

ludwig...@gmail.com

unread,
Sep 2, 2021, 9:23:24 AM9/2/21
to qubes-users
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
builder.conf

ludwig...@gmail.com

unread,
Sep 2, 2021, 10:01:39 AM9/2/21
to qubes-users
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 :-(

Any thoughts about it?

Regards,


Ludwig

awokd

unread,
Sep 2, 2021, 4:52:41 PM9/2/21
to qubes...@googlegroups.com
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?

--
- don't top post
Mailing list etiquette:
- trim quoted reply to only relevant portions
- when possible, copy and paste text instead of screenshots
Reply all
Reply to author
Forward
0 new messages