qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] Can't compile QEMU 2.5.0 on Arch Linux ARM
@ 2016-02-21 10:30 Xavier de Rauville
  2016-02-21 15:43 ` Peter Maydell
  0 siblings, 1 reply; 3+ messages in thread
From: Xavier de Rauville @ 2016-02-21 10:30 UTC (permalink / raw)
  To: qemu-devel

Greetings

I am attempting to compile QEMU for Arch Liux ARM using the build files 
from here:
https://projects.archlinux.org/svntogit/packages.git/tree/trunk?h=packages/qemu

I am targeting the ARMv7hf architecture. Unfortunately, I am getting an 
error during the build process. I created a log file from makepkg's 
stdout and stderr streams. This is the portion I think is relevant. If 
anyone needs the entire log (it's around 800 lines), I can put it in a 
subsequent email:
==> Making package: qemu 2.5.0-1 (Sat Feb 20 08:28:35 SAST 2016)
==> Checking runtime dependencies...
==> Checking buildtime dependencies...
==> Retrieving sources...
   -> Found qemu-2.5.0.tar.bz2
   -> Found qemu.sysusers
   -> Found qemu-ga.service
   -> Found 65-kvm.rules
==> Validating source files with md5sums...
     qemu-2.5.0.tar.bz2 ... Passed
     qemu.sysusers ... Passed
     qemu-ga.service ... Passed
     65-kvm.rules ... Passed
==> Removing existing $srcdir/ directory...
==> Extracting sources...
   -> Extracting qemu-2.5.0.tar.bz2 with bsdtar
==> Starting prepare()...
==> Removing existing $pkgdir/ directory...
==> Starting build()...
Install prefix    /usr
BIOS directory    /usr/share/qemu
binary directory  /usr/bin
library directory /usr/lib
module directory  /usr/lib/qemu
libexec directory /usr/lib/qemu
include directory /usr/include
config directory  /etc
local state directory   /var
Manual directory  /usr/share/man
ELF interp prefix /usr/gnemul/qemu-%M
Source path       /home/share/qemu-devel/QEMU/src/qemu-2.5.0
C compiler        cc
Host C compiler   cc
C++ compiler      c++
Objective-C compiler clang
ARFLAGS           rv
CFLAGS            -O2 -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -pthread 
-I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -pthread 
-I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -g -march=armv7-a 
-mfloat-abi=hard -mfpu=vfpv3-d16 -O2 -pipe -fstack-protector 
--param=ssp-buffer-size=4 -fPIC
QEMU_CFLAGS       -I/usr/include/pixman-1 -I$(SRC_PATH)/dtc/libfdt 
-DHAS_LIBSSH2_SFTP_FSYNC  -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 
-D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef 
-Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common  
-Wendif-labels -Wmissing-include-dirs -Wempty-body -Wnested-externs 
-Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers 
-Wold-style-declaration -Wold-style-definition -Wtype-limits 
-fstack-protector-strong  -I/usr/include/p11-kit-1 
-I/usr/include/libpng16 -I/usr/include/spice-server 
-I/usr/include/cacard -I/usr/include/nss -I/usr/include/nspr 
-I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include 
-I/usr/include/pixman-1 -I/usr/include/spice-1 -I/usr/include/cacard 
-I/usr/include/nss -I/usr/include/nspr -I/usr/include/glib-2.0 
-I/usr/lib/glib-2.0/include -I/usr/include/libusb-1.0
LDFLAGS           -Wl,--warn-common -g 
-Wl,-O1,--sort-common,--as-needed,-z,relro
make              make
install           install
python            /usr/bin/python2 -B
smbd              /usr/bin/smbd
module support    yes
host CPU          arm
host big endian   no
target list        aarch64-softmmu alpha-softmmu arm-softmmu 
cris-softmmu i386-softmmu lm32-softmmu m68k-softmmu microblazeel-softmmu 
microblaze-softmmu mips64el-softmmu mips64-softmmu mipsel-softmmu 
mips-softmmu moxie-softmmu or32-softmmu ppc64-softmmu ppcemb-softmmu 
ppc-softmmu s390x-softmmu sh4eb-softmmu sh4-softmmu sparc64-softmmu 
sparc-softmmu tricore-softmmu unicore32-softmmu x86_64-softmmu 
xtensaeb-softmmu xtensa-softmmu aarch64-linux-user alpha-linux-user 
armeb-linux-user arm-linux-user cris-linux-user i386-linux-user 
m68k-linux-user microblazeel-linux-user microblaze-linux-user 
mips64el-linux-user mips64-linux-user mipsel-linux-user mips-linux-user 
mipsn32el-linux-user mipsn32-linux-user or32-linux-user 
ppc64abi32-linux-user ppc64le-linux-user ppc64-linux-user ppc-linux-user 
s390x-linux-user sh4eb-linux-user sh4-linux-user sparc32plus-linux-user 
sparc64-linux-user sparc-linux-user tilegx-linux-user 
unicore32-linux-user x86_64-linux-user
tcg debug enabled no
gprof enabled     no
sparse enabled    no
strip binaries    yes
profiler          no
static build      no
pixman            system
SDL support       yes
GTK support       no
GTK GL support    no
GNUTLS support    yes
GNUTLS hash       yes
libgcrypt         no
nettle            yes (3.2)
libtasn1          yes
VTE support       no
curses support    yes
virgl support     no
curl support      yes
mingw32 support   no
Audio drivers     pa alsa sdl
Block whitelist (rw)
Block whitelist (ro)
VirtFS support    yes
VNC support       yes
VNC SASL support  yes
VNC JPEG support  yes
VNC PNG support   yes
xen support       no
brlapi support    no
bluez  support    yes
Documentation     yes
PIE               no
vde support       yes
netmap support    no
Linux AIO support yes
ATTR/XATTR support yes
Install blobs     yes
KVM support       yes
RDMA support      no
TCG interpreter   no
fdt support       yes
preadv support    yes
fdatasync         yes
madvise           yes
posix_madvise     yes
sigev_thread_id   yes
uuid support      yes
libcap-ng support yes
vhost-net support yes
vhost-scsi support yes
Trace backends    nop
spice support     yes (0.12.10/0.12.6)
rbd support       yes
xfsctl support    yes
smartcard support yes
libusb            yes
usb net redir     yes
OpenGL support    yes
libiscsi support  yes
libnfs support    no
build guest agent yes
QGA VSS support   no
QGA w32 disk info no
QGA MSI support   no
seccomp support   yes
coroutine backend ucontext
coroutine pool    yes
GlusterFS support yes
Archipelago support no
gcov              gcov
gcov enabled      no
TPM support       yes
libssh2 support   yes
TPM passthrough   no
QOM debugging     yes
vhdx              yes
lzo support       yes
snappy support    yes
bzip2 support     yes
NUMA host support no
tcmalloc support  no
jemalloc support  no
/bin/sh 
/home/share/qemu-devel/QEMU/src/qemu-2.5.0/scripts/make_device_config.sh 
default-configs/aarch64-softmmu.mak aarch64-softmmu-config-devices.mak.d 
aarch64-softmmu/config-devices.mak > aarch64-softmmu/config-devices.mak.tmp

  <snip>

cc -I/home/share/qemu-devel/QEMU/src/qemu-2.5.0/tcg 
-I/home/share/qemu-devel/QEMU/src/qemu-2.5.0/tcg/arm 
-I/home/share/qemu-devel/QEMU/src/qemu-2.5.0/linux-headers 
-I/home/share/qemu-devel/QEMU/src/qemu-2.5.0/linux-headers -I. 
-I/home/share/qemu-devel/QEMU/src/qemu-2.5.0 
-I/home/share/qemu-devel/QEMU/src/qemu-2.5.0/include -Ihw/display 
-Ihw/display -I/usr/include/pixman-1 
-I/home/share/qemu-devel/QEMU/src/qemu-2.5.0/dtc/libfdt 
-DHAS_LIBSSH2_SFTP_FSYNC  -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 
-D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef 
-Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common  
-Wendif-labels -Wmissing-include-dirs -Wempty-body -Wnested-externs 
-Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers 
-Wold-style-declaration -Wold-style-definition -Wtype-limits 
-fstack-protector-strong  -I/usr/include/p11-kit-1 
-I/usr/include/libpng16 -I/usr/include/spice-server 
-I/usr/include/cacard -I/usr/include/nss -I/usr/include/nspr 
-I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include 
-I/usr/include/pixman-1 -I/usr/include/spice-1 -I/usr/include/cacard 
-I/usr/include/nss -I/usr/include/nspr -I/usr/include/glib-2.0 
-I/usr/lib/glib-2.0/include -I/usr/include/libusb-1.0 
-I/home/share/qemu-devel/QEMU/src/qemu-2.5.0/tests -MMD -MP -MT 
hw/display/milkymist-tmu2.o -MF hw/display/milkymist-tmu2.d -O2 
-U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -pthread -I/usr/include/glib-2.0 
-I/usr/lib/glib-2.0/include -pthread -I/usr/include/glib-2.0 
-I/usr/lib/glib-2.0/include -g -march=armv7-a -mfloat-abi=hard 
-mfpu=vfpv3-d16 -O2 -pipe -fstack-protector --param=ssp-buffer-size=4 
-fPIC  -c -o hw/display/milkymist-tmu2.o hw/display/milkymist-tmu2.c
cc -I/home/share/qemu-devel/QEMU/src/qemu-2.5.0/tcg 
-I/home/share/qemu-devel/QEMU/src/qemu-2.5.0/tcg/arm 
-I/home/share/qemu-devel/QEMU/src/qemu-2.5.0/linux-headers 
-I/home/share/qemu-devel/QEMU/src/qemu-2.5.0/linux-headers -I. 
-I/home/share/qemu-devel/QEMU/src/qemu-2.5.0 
-I/home/share/qemu-devel/QEMU/src/qemu-2.5.0/include -Ihw/display 
-Ihw/display -I/usr/include/pixman-1 
-I/home/share/qemu-devel/QEMU/src/qemu-2.5.0/dtc/libfdt 
-DHAS_LIBSSH2_SFTP_FSYNC  -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 
-D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef 
-Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common  
-Wendif-labels -Wmissing-include-dirs -Wempty-body -Wnested-externs 
-Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers 
-Wold-style-declaration -Wold-style-definition -Wtype-limits 
-fstack-protector-strong  -I/usr/include/p11-kit-1 
-I/usr/include/libpng16 -I/usr/include/spice-server 
-I/usr/include/cacard -I/usr/include/nss -I/usr/include/nspr 
-I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include 
-I/usr/include/pixman-1 -I/usr/include/spice-1 -I/usr/include/cacard 
-I/usr/include/nss -I/usr/include/nspr -I/usr/include/glib-2.0 
-I/usr/lib/glib-2.0/include -I/usr/include/libusb-1.0 
-I/home/share/qemu-devel/QEMU/src/qemu-2.5.0/tests -MMD -MP -MT 
hw/display/qxl.o -MF hw/display/qxl.d -O2 -U_FORTIFY_SOURCE 
-D_FORTIFY_SOURCE=2 -pthread -I/usr/include/glib-2.0 
-I/usr/lib/glib-2.0/include -pthread -I/usr/include/glib-2.0 
-I/usr/lib/glib-2.0/include -g -march=armv7-a -mfloat-abi=hard 
-mfpu=vfpv3-d16 -O2 -pipe -fstack-protector --param=ssp-buffer-size=4 
-fPIC  -c -o hw/display/qxl.o hw/display/qxl.c
{standard input}: Assembler messages:
{standard input}:2410: Error: bad instruction `lock'
{standard input}:2410: Error: bad instruction `addl $0,0(%rsp)'
{standard input}:2518: Error: bad instruction `lock'
{standard input}:2518: Error: bad instruction `addl $0,0(%rsp)'
{standard input}:3045: Error: bad instruction `lock'
{standard input}:3045: Error: bad instruction `addl $0,0(%rsp)'
{standard input}:3370: Error: bad instruction `lock'
{standard input}:3370: Error: bad instruction `addl $0,0(%rsp)'
{standard input}:7470: Error: bad instruction `lock'
{standard input}:7470: Error: bad instruction `addl $0,0(%rsp)'
{standard input}:9097: Error: bad instruction `lock'
{standard input}:9097: Error: bad instruction `addl $0,0(%rsp)'
{standard input}:9412: Error: bad instruction `lock'
{standard input}:9412: Error: bad instruction `addl $0,0(%rsp)'
/home/share/qemu-devel/QEMU/src/qemu-2.5.0/rules.mak:57: recipe for 
target 'hw/display/qxl.o' failed
make: *** [hw/display/qxl.o] Error 1
==> ERROR: A failure occurred in build().
     Aborting...


Can anyone help me figure out why QEMU isn't compiling? Help will be 
greatly appreciated

Kind regards

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [Qemu-devel] Can't compile QEMU 2.5.0 on Arch Linux ARM
  2016-02-21 10:30 [Qemu-devel] Can't compile QEMU 2.5.0 on Arch Linux ARM Xavier de Rauville
@ 2016-02-21 15:43 ` Peter Maydell
  2016-02-28 20:05   ` XJDHDR
  0 siblings, 1 reply; 3+ messages in thread
From: Peter Maydell @ 2016-02-21 15:43 UTC (permalink / raw)
  To: Xavier de Rauville; +Cc: QEMU Developers

On 21 February 2016 at 10:30, Xavier de Rauville
<derauville.xavier@gmail.com> wrote:
> Greetings
>
> I am attempting to compile QEMU for Arch Liux ARM using the build files from
> here:
> https://projects.archlinux.org/svntogit/packages.git/tree/trunk?h=packages/qemu
>
> I am targeting the ARMv7hf architecture. Unfortunately, I am getting an
> error during the build process. I created a log file from makepkg's stdout
> and stderr streams.

I do build QEMU for 32-bit ARM (on Ubuntu), so this is likely one of:
 * your compile environment is broken somehow
 * something particular to the QXL/spice code that's being built
   (which my build config may well not be exercising)

> -c -o hw/display/qxl.o hw/display/qxl.c
> {standard input}: Assembler messages:
> {standard input}:2410: Error: bad instruction `lock'
> {standard input}:2410: Error: bad instruction `addl $0,0(%rsp)'
> {standard input}:2518: Error: bad instruction `lock'
> {standard input}:2518: Error: bad instruction `addl $0,0(%rsp)'
> {standard input}:3045: Error: bad instruction `lock'
> {standard input}:3045: Error: bad instruction `addl $0,0(%rsp)'
> {standard input}:3370: Error: bad instruction `lock'
> {standard input}:3370: Error: bad instruction `addl $0,0(%rsp)'
> {standard input}:7470: Error: bad instruction `lock'
> {standard input}:7470: Error: bad instruction `addl $0,0(%rsp)'
> {standard input}:9097: Error: bad instruction `lock'
> {standard input}:9097: Error: bad instruction `addl $0,0(%rsp)'
> {standard input}:9412: Error: bad instruction `lock'
> {standard input}:9412: Error: bad instruction `addl $0,0(%rsp)'
> /home/share/qemu-devel/QEMU/src/qemu-2.5.0/rules.mak:57: recipe for target
> 'hw/display/qxl.o' failed
> make: *** [hw/display/qxl.o] Error 1
> ==> ERROR: A failure occurred in build().
>     Aborting...

This should really not happen because it implies that we
somehow ended up with x86 inline assembly.

Some things to test:
 (1) if you configure QEMU with --disable-spice, does it build
OK, or does it just fail later on on some other source file?
 (2) does this fail with the current git master?
 (3) can you get the compiler to produce the preprocessed
source for us and put it somewhere? (you can rerun the specific
failing compiler command and add -save-temps, then it will
output a .i file which is the preprocessed output.) That
should help to track down exactly what is resulting in these
x86 insns getting into the output.

thanks
-- PMM

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [Qemu-devel] Can't compile QEMU 2.5.0 on Arch Linux ARM
  2016-02-21 15:43 ` Peter Maydell
@ 2016-02-28 20:05   ` XJDHDR
  0 siblings, 0 replies; 3+ messages in thread
From: XJDHDR @ 2016-02-28 20:05 UTC (permalink / raw)
  To: Peter Maydell; +Cc: QEMU Developers

>> {standard input}:9097: Error: bad instruction `lock'
>> {standard input}:9097: Error: bad instruction `addl $0,0(%rsp)'
>> {standard input}:9412: Error: bad instruction `lock'
>> {standard input}:9412: Error: bad instruction `addl $0,0(%rsp)'
>> /home/share/qemu-devel/QEMU/src/qemu-2.5.0/rules.mak:57: recipe for target
>> 'hw/display/qxl.o' failed
>> make: *** [hw/display/qxl.o] Error 1
>> ==> ERROR: A failure occurred in build().
>> Aborting...

>This should really not happen because it implies that we
>somehow ended up with x86 inline assembly.

>Some things to test:
>(1) if you configure QEMU with --disable-spice, does it build
>OK, or does it just fail later on on some other source file?‎

Thank you ‎for the assistance Peter

I have managed to try your suggestion and made some progress. After I added "--disable-spice", the code compiled without any error. This implies that Spice was causing my problem.

While this may indicate a problem with the spice portion of QEMU's code, I am more convinced that I didn't compile Spice properly and that this is what is causing me problems. I might test this or I might simply not bother with Spice.

Kind regards
Xavier de Rauville 

Sent from my BlackBerry Passport.

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2016-02-28 20:05 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-02-21 10:30 [Qemu-devel] Can't compile QEMU 2.5.0 on Arch Linux ARM Xavier de Rauville
2016-02-21 15:43 ` Peter Maydell
2016-02-28 20:05   ` XJDHDR

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).