I used the 4.17.3 ebuilds as a templates for the 4.18 ebuild staged in my local repository (ryz7950).
Background on Xen & Xen Tools
The Xen Project ships a build tree which has dependencies under the subdirectory "tools", notably qemu at lines 34 - 37.
Code: Select all
01 ryzwork /home/jlpoole/dev # tree -d -L 3 -n .
02 .
03 +-- xen-4.18.0
04 +-- automation
05 ¦ +-- build
06 ¦ +-- eclair_analysis
07 ¦ +-- gitlab-ci
08 ¦ +-- scripts
09 ¦ +-- tests-artifacts
10 +-- config
11 +-- dist
12 ¦ +-- install
13 +-- docs
14 <SNIP>
15 +-- tools
16 ¦ +-- console
17 ¦ +-- debugger
18 ¦ +-- examples
19 ¦ +-- firmware
20 ¦ +-- flask
21 ¦ +-- fuzz
22 ¦ +-- golang
23 ¦ +-- helpers
24 ¦ +-- hotplug
25 ¦ +-- include
26 ¦ +-- libacpi
27 ¦ +-- libfsimage
28 ¦ +-- libs
29 ¦ +-- misc
30 ¦ +-- ocaml
31 ¦ +-- pkg-config
32 ¦ +-- pygrub
33 ¦ +-- python
34 ¦ +-- qemu-xen
35 ¦ +-- qemu-xen-build
36 ¦ +-- qemu-xen-dir
37 ¦ +-- qemu-xen-traditional
38 ¦ +-- tests
39 ¦ +-- vchan
40 ¦ +-- xcutils
41 ¦ +-- xenmon
42 ¦ +-- xenpaging
43 ¦ +-- xenpmd
44 ¦ +-- xenstored
45 ¦ +-- xentop
46 ¦ +-- xentrace
47 ¦ +-- xl
48 ¦ +-- xs-clients
49 +-- xen
50 +-- arch
51 +-- common
52 +-- crypto
53 +-- drivers
54 +-- include
55 +-- lib
56 +-- scripts
57 +-- test
58 +-- tools
59 +-- xsm
60
61 105 directories
The Failure
When I emerge my app-emulation/xen-tools [4.18] package, the build fails. The failure is during the building of qemu (lines 34-37 above) I have captured the emerge session with the Linux tool "script" and have staged the results (in colorized HTML) at:
https://salemdata.us/xen/xen_tools_2024 ... cript.html
Here is a table of contents for the above HTML session which has 29476 lines:
Code: Select all
###########
Line # Description
====== ===================
3 tree of my repo for xen-tools
29 cat -n /var/db/repos/ryz7950/app-emulation/xen-tools/xen-tools-4.18.0.ebuild
572 date; time USE="-ipxe" emerge app-emulation/xen-tools
25307 first sign of error
25339 emerge --info '=app-emulation/xen-tools-4.18.0::ryz7950'
25423 cat /var/tmp/portage/app-emulation/xen-tools-4.18.0/temp/environment
###########
Notes:
1) I earlier ran into problems with ipxe and finessed it by negating the USE flag.
2) vnc-png is no longer an option for qemu, see line 394 displaying line 365 of the ebuild
I was unable to discern what precisely is causing the error, so I decided to stage the Xen Project under /home/jlpoole/dev and try build it myself outside of Gentoo's Portage system. The result: success. The problem point (line 25,307 above) went by with no error in my manual build. I did notice that the build was slower and that caused me to wonder if the ninja build was doing one step at a time and that maybe in Gentoo Portage there was a race condition; but I think I disproved that theory by trying "--jobs 1".
Here are settings that distinguish the Portage Build vs. my manual build:
1) profile of root vs. profile of jlpoole: they are the same: "[5] default/linux/amd64/17.1/desktop (stable) *"
2) Portage uses make.conf (see below), whereas jlpoole's build did not.
3) Possible --jobs flag in effect, but my specifying in make.conf "--jobs 1" and the build still fails disproves this.
What other things should I looks at that would distinguish the two build attempts?
Here is my /etc/portage/make.conf:
Code: Select all
ryzwork /home/jlpoole # date; cat -n /etc/portage/make.conf
Mon Jan 29 09:28:07 AM PST 2024
1 # These settings were set by the catalyst build script that automatically
2 # built this stage.
3 # Please consult /usr/share/portage/config/make.conf.example for a more
4 # detailed example.
5 COMMON_FLAGS="-O2 -pipe"
6 CFLAGS="${COMMON_FLAGS}"
7 CXXFLAGS="${COMMON_FLAGS}"
8 FCFLAGS="${COMMON_FLAGS}"
9 FFLAGS="${COMMON_FLAGS}"
10
11 # NOTE: This stage was built with the bindist Use flag enabled
12
13 # This sets the language of build output to English.
14 # Please keep this setting intact when reporting bugs.
15 LC_MESSAGES=C.utf8
16 #
17 # 12/22/2023 jlpoole initial install
18 #
19 ACCEPT_LICENSE="@BINARY-REDISTRIBUTABLE"
20 #
21 # 12/22/2023 jlpoole:
22 # to bypass the EFI default behavior of grub which prevented grub install
23 # per https://forums.gentoo.org/viewtopic-p-8699825.html?sid=aaf8b125c211e1698e542266a76cd331
24 #
25 #GRUB_PLATFORMS="pc"
26 #
27 # 12/28/2023 jlpoole: getting GUI to display in VM
28 # per: https://wiki.gentoo.org/wiki/AMDGPU
29 # 1/8/2024 the video card Gigabyte GA-990FXA is an N-Vidia type, so use nouveau
30 # per: https://wiki.gentoo.org/wiki/Nouveau
31 #
32 VIDEO_CARDS="amdgpu radeonsi nouveau nv"
33
34 #
35 # 12/29/23 16:22
36 # resorted to "1" to get dbus to successfully build. Interesting
37 # Turns out I had set memory max to 1024 in grub. I changed that to
38 # "dom0_mem=min:8G,max:32G"
39 #
40 #MAKEOPTS="--jobs 1"
41
42 USE="X"
43
44 #
45 # 1/1/24 jlpoole
46 # for Windows 7 -- Virt Mgr. failed complaining i386 not configured
47 #
48 #QEMU_SOFTMMU_TARGETS="i386"
49 #QEMU_USER_TARGETS="i386"
50 QEMU_SOFTMMU_TARGETS="x86_64"
51 QEMU_USER_TARGETS="x86_64"
52
ryzwork /home/jlpoole #
John

