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

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



Guys.

Let me share the information I got a day ago from Pry Mar
<pryorm09@xxxxxxxxx> (attachement). He did marvellous work on xen 4.6.1+
on ubuntu 16.04.

Pls check his work, there are lot of issues there, and finally I have a
working HVM STUBDOMAIN thx to him!

2016-03-30 16:58 keltezéssel, Dario Faggioli írta:
> 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@xxxxxxxxxxxxx
>> http://lists.xen.org/xen-devel
>>
>>
>> _______________________________________________
>> Xen-users mailing list
>> Xen-users@xxxxxxxxxxxxx
>> http://lists.xen.org/xen-users

-- 


É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
--- Begin Message ---
  • To: et@xxxxxxx
  • From: Pry Mar <pryorm09@xxxxxxxxx>
  • Date: Fri, 25 Mar 2016 12:36:08 -0700
  • Authentication-results: mail.etit.hu (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.com
  • Delivered-to: et@xxxxxxx
I saw this post to xen-users. My mail client has not yet received it, so I replied in a non-standard way.

I have had similar or same issues as you, and more, compiling this. You will have other problems running Xen on Xenial, especially if your domU are LVM based.

Here is my effort:
http://107.185.144.55/xen/ubuntu/xenial/46x/

I like building from the tarball, since its easier to patch (from xen root base). Also the release tarball has qemu included. My linked build folder also has a binary for ovmf.bin.46

If you wonder why building on Xenial is so chaotic, its because the Xen devs/testers do not support gcc 5.x and have no interest. They only recently started running Deb 8.x tests on their OSSTEST system.

PryMar56 on #xen

--- End Message ---

Attachment: Képernyőkép erről: 2016-04-01 00-04-00.png
Description: PNG image

Attachment: Képernyőkép erről: 2016-04-01 00-04-12.png
Description: PNG image

Attachment: Képernyőkép erről: 2016-04-01 00-04-17.png
Description: PNG image

Attachment: signature.asc
Description: OpenPGP digital signature

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

 


Rackspace

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