qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [Bug 1363641] Re: Build of v2.1.0 fails on armv7l due t


From: Michael R. Hines
Subject: Re: [Qemu-devel] [Bug 1363641] Re: Build of v2.1.0 fails on armv7l due to undeclared __NR_select
Date: Tue, 23 Sep 2014 16:25:57 +0800
User-agent: Mozilla/5.0 (X11; Linux i686; rv:24.0) Gecko/20100101 Thunderbird/24.6.0

On 09/09/2014 02:09 AM, Dr. David Alan Gilbert wrote:
(cc'ing Michael Hines who owns and knows the RDMA code)

* Karl-Philipp Richter (address@hidden) wrote:
** Description changed:

   After `make clean` and `git clean -x -f -d` `git checkout v2.1.0 &&
   configure --prefix=/home/user/prefix-qemu-2.1.0 && make` fails due to
   missing declarations

       CC    qemu-seccomp.o
       qemu-seccomp.c:28:1: error: '__NR_select' undeclared here (not in a 
function)
       qemu-seccomp.c:36:1: error: '__NR_mmap' undeclared here (not in a 
function)
       qemu-seccomp.c:57:1: error: '__NR_getrlimit' undeclared here (not in a 
function)
       qemu-seccomp.c:96:1: error: '__NR_time' undeclared here (not in a 
function)
         GEN   qmp-marshal.c
       qemu-seccomp.c:186:1: error: '__NR_alarm' undeclared here (not in a 
function)
       make: *** [qemu-seccomp.o] Error 1

   Same errors for master 8b3030114a449e66c68450acaac4b66f26d91416.
   `configure`should not succeed for a failing build. `config.log` for
   v2.1.0 and 8b303011... attached. The content is mostly compiler output
   which I think is unusual for `config.log`, but see for yourself.

   I'm building on a debian 7.6 chroot on Synology DSM 5.0. `uname -a` says
   `Linux diskstatation 3.2.40 #4493 SMP Thu Aug 21 21:43:02 CST 2014
   armv7l GNU/Linux`.
+
+ After installing some of the missing header files (-> configure should
+ fail at the right point with a good error message), i.e. `apt-get
+ install liblzo2-dev libbsd-dev syslinux-common libhwloc-dev librdmacm-
+ dev libsnappy-dev libibverbs-dev valgrind linux-headers-3.2.0-4-common`
+ I'm getting
+
+      CC    migration-rdma.o
+     migration-rdma.c: In function 'ram_chunk_start':
+     migration-rdma.c:523:12: error: cast to pointer from integer of different 
size [-Werror=int-to-pointer-cast]
is that:
     return (uint8_t *) (((uintptr_t) rdma_ram_block->local_host_addr)
                                     + (i << RDMA_REG_CHUNK_SHIFT));

244:    uint8_t  *local_host_addr; /* local virtual address */

in which case I think the problem is the 'i' which is a uint64_t.

+     migration-rdma.c: In function '__qemu_rdma_add_block':
+     migration-rdma.c:556:49: error: cast to pointer from integer of different 
size [-Werror=int-to-pointer-cast]
+     migration-rdma.c:557:49: error: cast to pointer from integer of different 
size [-Werror=int-to-pointer-cast]
+     migration-rdma.c: In function '__qemu_rdma_delete_block':
+     migration-rdma.c:664:45: error: cast to pointer from integer of different 
size [-Werror=int-to-pointer-cast]
+     migration-rdma.c:699:49: error: cast to pointer from integer of different 
size [-Werror=int-to-pointer-cast]
+     migration-rdma.c: In function 'qemu_rdma_search_ram_block':
+     migration-rdma.c:1113:49: error: cast to pointer from integer of 
different size [-Werror=int-to-pointer-cast]
+     migration-rdma.c: In function 'qemu_rdma_register_and_get_keys':
+     migration-rdma.c:1176:50: error: cast from pointer to integer of 
different size [-Werror=pointer-to-int-cast]
+     migration-rdma.c:1177:29: error: cast from pointer to integer of 
different size [-Werror=pointer-to-int-cast]
+     migration-rdma.c:1177:51: error: cast from pointer to integer of 
different size [-Werror=pointer-to-int-cast]
+     migration-rdma.c:1178:29: error: cast from pointer to integer of 
different size [-Werror=pointer-to-int-cast]
+     migration-rdma.c: In function 'qemu_rdma_post_send_control':
+     migration-rdma.c:1562:36: error: cast from pointer to integer of 
different size [-Werror=pointer-to-int-cast]
+     migration-rdma.c: In function 'qemu_rdma_post_recv_control':
+     migration-rdma.c:1616:37: error: cast from pointer to integer of 
different size [-Werror=pointer-to-int-cast]
+     migration-rdma.c: In function 'qemu_rdma_write_one':
+     migration-rdma.c:1864:16: error: cast from pointer to integer of 
different size [-Werror=pointer-to-int-cast]
+     migration-rdma.c:1868:53: error: cast to pointer from integer of 
different size [-Werror=int-to-pointer-cast]
+     migration-rdma.c:1922:52: error: cast to pointer from integer of 
different size [-Werror=int-to-pointer-cast]
+     migration-rdma.c:1923:50: error: cast to pointer from integer of 
different size [-Werror=int-to-pointer-cast]
+     migration-rdma.c:1977:49: error: cast to pointer from integer of 
different size [-Werror=int-to-pointer-cast]
+     migration-rdma.c:1998:49: error: cast to pointer from integer of 
different size [-Werror=int-to-pointer-cast]
+     migration-rdma.c:2010:58: error: cast to pointer from integer of 
different size [-Werror=int-to-pointer-cast]
+     migration-rdma.c: In function 'qemu_rdma_registration_handle':
+     migration-rdma.c:3027:21: error: cast from pointer to integer of 
different size [-Werror=pointer-to-int-cast]
+     migration-rdma.c:3092:41: error: cast from pointer to integer of 
different size [-Werror=pointer-to-int-cast]
+     cc1: all warnings being treated as errors
+     make: *** [migration-rdma.o] Error 1
There's lots of stuff there; I think it's one for Michael because it involves 
understanding the structures
and which ones get passed over the wire etc.
(The quick fix would probably to guard the RDMA configure with a test for 32bit 
pointers)

Dave




I could use some advice from the community on this: In particular, I have *zero* 32-bit machine to fix this on........ now, I could easily create a 32-bit machine, but I simply don't have any RDMA hardware
for which to run the 32-bit virtual machine against.

So, what are my options? Can I just submit a patch that completely disables RDMA in 32-bit environments?

Is that a bad thing?

- Michael




reply via email to

[Prev in Thread] Current Thread [Next in Thread]