[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-users] compilation fail, xen staging-4.6, vnc.c, qemu-tradintional issues under ubuntu 16.04



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=8e89d43867922abaa67e894938c655a6fa82affe;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/f9d0b40e240add9a136483a450c6a1b39a685808/qemu-xen-traditional-gnutls-compilation.patch

https://gitlab.com/johnth/aur-xen/raw/f9d0b40e240add9a136483a450c6a1b39a685808/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?


-- 


Éliás Tamás
Thomas Elias

ETIT[nwpro] KFT, Ügyvezető-Hálózatbiztonsági specialista
ETIT[nwpro] Ltd, General Manager-Network security specialist

Tel. HU: +36/30-497-1626
Tel. DE: +49/160-651-8723
OpenPGP pubkey: http://etit.hu/doc/et-pub.asc

Okleveles mérnök-informatikus (MSC)
Master of Science in Information Technology (MSC)

Kapcsolat: http://etit.hu/index.php/hu/kapcsolat
Jogi nyilatkozat: http://etit.hu/disclaimer-email-hu.txt
Contact: http://etit.hu/index.php/en/contact
Disclaimer: http://etit.hu/disclaimer-email-en.txt

Attachment: signature.asc
Description: OpenPGP digital signature

_______________________________________________
Xen-users mailing list
Xen-users@xxxxxxxxxxxxx
http://lists.xen.org/xen-users

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.