Cc-ing some tools, Qemu, and Stubdom/MiniOS people, and dropping xen- users (Bcc-ed)... On Fri, 2016-03-25 at 18:53 +0100, Éliás Tamás wrote: > Hi. > > Previously I was using debian 8 to compile my xen 4.6 with hvm > stubdomain support. We recently switched to ubuntu servers, thus I > needed to change my compilation environment not to have lib > dependency > issues. > > My problem is: I get the staging 4.6 xen > (http://xenbits.xen.org/gitweb/?p=xen.git;a=snapshot;h=8e89d43867922a > baa67e894938c655a6fa82affe;sf=tgz), > installed all required prereqs for my compilaton environment, but > during > compilation I get errors (I do not get them using debian 8). I'm sure > that all prereq is met, becasuse ./configure runs correctly, I'm > using > --enable-systemd --enable-stubdom ) > > Most of the problems could be solved by dirty hacks for myself, but I > belive they require some attention of qemu/xen developers to make > compilation work under ubuntu 16.04 out of the box: > > The first issue > > /usr/src/xen-staging-4.6/tools/qemu-xen-traditional-dir/vnc.c:2180: > undefined reference to `gnutls_kx_set_priority' > > could be solved by applying these patches over the auto downloaded > qemu > sources: > > https://gitlab.com/johnth/aur-xen/raw/f9d0b40e240add9a136483a450c6a1b > 39a685808/qemu-xen-traditional-gnutls-compilation.patch > > https://gitlab.com/johnth/aur-xen/raw/f9d0b40e240add9a136483a450c6a1b > 39a685808/qemu-xen-traditional-gnutls-functions.patch > > after that I got > > vl.c:2784:5: error: ‘g_mem_set_vtable’ is deprecated > [-Werror=deprecated-declarations] >      g_mem_set_vtable(&mem_trace); > > > I had to apply > > https://lists.gnu.org/archive/html/qemu-devel/2015-09/msg01262.html > > which seemes that only partially been applied (has rejects), but > after > modifying the sources by hand, it seemes working. > > Just after this, Mini-OS failed to compile: > > Makefile:17: /config/MiniOS.mk: No such file or directory > > But, the MiniOS.mk DOES exists. > > I had to manually add > > XEN_ROOT=mysourcedir > > to mini-os/Config.mk to continue. and now I'm stuck here: > > gcc -mno-red-zone -O1 -fno-omit-frame-pointer  -m64 -mno-red-zone > -fno-reorder-blocks -fno-asynchronous-unwind-tables -m64 -g > -fno-strict-aliasing -std=gnu99 -Wall -Wstrict-prototypes > -Wdeclaration-after-statement -Wno-unused-but-set-variable > -Wno-unused-local-typedefs   -fno-stack-protector -fno-exceptions > -DCONFIG_BLKFRONT -DCONFIG_TPMFRONT -DCONFIG_NETFRONT > -DCONFIG_KBDFRONT > -DCONFIG_FBFRONT -DCONFIG_CONSFRONT -DCONFIG_XENBUS -fno-builtin > -Wall > -Werror -Wredundant-decls -Wno-format -Wno-redundant-decls -Wformat > -fno-stack-protector -fgnu89-inline -Wstrict-prototypes -Wnested- > externs > -Wpointer-arith -Winline -g -D__INSIDE_MINIOS__ -m64 -mno-red-zone > -fno-reorder-blocks -fno-asynchronous-unwind-tables -isystem > /usr/src/xen-staging-4.6/extras/mini-os/include -D__MINIOS__ > -DHAVE_LIBC > -isystem /usr/src/xen-staging-4.6/extras/mini-os/include/posix > -isystem > /usr/src/xen-staging-4.6/tools/xenstore/include  -isystem > /usr/src/xen-staging-4.6/extras/mini-os/include/x86 -isystem > /usr/src/xen-staging-4.6/extras/mini-os/include/x86/x86_64 -U > __linux__ > -U __FreeBSD__ -U __sun__ -nostdinc -isystem > /usr/src/xen-staging-4.6/extras/mini-os/include/posix -isystem > /usr/src/xen-staging-4.6/stubdom/cross-root-x86_64/x86_64-xen- > elf/include -isystem > /usr/lib/gcc/x86_64-linux-gnu/5/include -isystem > /usr/src/xen-staging-4.6/stubdom/lwip-x86_64/src/include -isystem > /usr/src/xen-staging-4.6/stubdom/lwip-x86_64/src/include/ipv4 > -I/usr/src/xen-staging-4.6/stubdom/include > -I/usr/src/xen-staging-4.6/xen/include -isystem > /usr/src/xen-staging-4.6/extras/mini-os/include -D__MINIOS__ > -DHAVE_LIBC > -isystem /usr/src/xen-staging-4.6/extras/mini-os/include/posix > -isystem > /usr/src/xen-staging-4.6/tools/xenstore/include > -D__XEN_INTERFACE_VERSION__=0x00030205  -isystem > /usr/src/xen-staging-4.6/extras/mini-os/include/x86 -isystem > /usr/src/xen-staging-4.6/extras/mini-os/include/x86/x86_64 -c > console/xenbus.c -o > /usr/src/xen-staging-4.6/stubdom/mini-os-x86_64-grub/console/xenbus.o > ld -r -d -nostdlib > -L/usr/src/xen-staging-4.6/stubdom/cross-root-x86_64/x86_64-xen- > elf/lib >  -m elf_x86_64 -\( /usr/src/xen-staging-4.6/stubdom/grub- > x86_64/main.a > app.lds -\)  -L/usr/src/xen-staging-4.6/stubdom/libs-x86_64/toollog > -whole-archive -lxentoollog -no-whole-archive > -L/usr/src/xen-staging-4.6/stubdom/libs-x86_64/evtchn -whole-archive > -lxenevtchn -no-whole-archive > -L/usr/src/xen-staging-4.6/stubdom/libs-x86_64/gnttab -whole-archive > -lxengnttab -no-whole-archive > -L/usr/src/xen-staging-4.6/stubdom/libs-x86_64/call -whole-archive > -lxencall -no-whole-archive > -L/usr/src/xen-staging-4.6/stubdom/libs-x86_64/foreignmemory > -whole-archive -lxenforeignmemory -no-whole-archive > -L/usr/src/xen-staging-4.6/stubdom/libxc-x86_64 -whole-archive > -lxenguest -lxenctrl -no-whole-archive -lpci -lz -lm --undefined main > -o > /usr/src/xen-staging-4.6/stubdom/mini-os-x86_64-grub/mini-os_app.o > ld: warning: app.lds contains output sections; did you forget -T? > ld: cannot find -lxentoollog > ld: cannot find -lxenevtchn > ld: cannot find -lxengnttab > ld: cannot find -lxencall > ld: cannot find -lxenforeignmemory > Makefile:186: recipe for target > '/usr/src/xen-staging-4.6/stubdom/mini-os-x86_64-grub/mini-os_app.o' > failed > make[2]: *** > [/usr/src/xen-staging-4.6/stubdom/mini-os-x86_64-grub/mini-os_app.o] > Error 1 > make[2]: Leaving directory '/usr/src/xen-staging-4.6/extras/mini-os- > remote' > Makefile:455: recipe for target 'pv-grub' failed > make[1]: *** [pv-grub] Error 2 > make[1]: Leaving directory '/usr/src/xen-staging-4.6/stubdom' > Makefile:106: recipe for target 'install-stubdom' failed > make: *** [install-stubdom] Error 2 > > Can someone advise? > > So I belive, that these important patches / fixes are missing from > xen > version of qemu (at least prevents compiling it without hacks on > newer > systems) and also the mini-os port needs some polishing. Maybe ubuntu > has newer build tools which ones causing some incompatibilities, I do > not know. > > Is it possible fixing any of these problems? > > > _______________________________________________ > Xen-devel mailing list > Xen-devel@lists.xen.org > http://lists.xen.org/xen-devel -- <> (Raistlin Majere) ----------------------------------------------------------------- Dario Faggioli, Ph.D, http://about.me/dario.faggioli Senior Software Engineer, Citrix Systems R&D Ltd., Cambridge (UK)