From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:43407) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XWLPa-0001qx-Ut for qemu-devel@nongnu.org; Tue, 23 Sep 2014 04:25:34 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1XWLPT-0000h3-7o for qemu-devel@nongnu.org; Tue, 23 Sep 2014 04:25:26 -0400 Received: from e37.co.us.ibm.com ([32.97.110.158]:59137) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XWLPT-0000gd-0t for qemu-devel@nongnu.org; Tue, 23 Sep 2014 04:25:19 -0400 Received: from /spool/local by e37.co.us.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted for from ; Tue, 23 Sep 2014 02:25:12 -0600 Received: from b03cxnp08028.gho.boulder.ibm.com (b03cxnp08028.gho.boulder.ibm.com [9.17.130.20]) by d03dlp03.boulder.ibm.com (Postfix) with ESMTP id 58D5A19D803E for ; Tue, 23 Sep 2014 02:13:55 -0600 (MDT) Received: from d03av04.boulder.ibm.com (d03av04.boulder.ibm.com [9.17.195.170]) by b03cxnp08028.gho.boulder.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id s8N8PAs449414174 for ; Tue, 23 Sep 2014 10:25:10 +0200 Received: from d03av04.boulder.ibm.com (loopback [127.0.0.1]) by d03av04.boulder.ibm.com (8.14.4/8.14.4/NCO v10.0 AVout) with ESMTP id s8N8P9NW008824 for ; Tue, 23 Sep 2014 02:25:10 -0600 Message-ID: <54212E62.8000405@linux.vnet.ibm.com> Date: Tue, 23 Sep 2014 16:25:06 +0800 From: "Michael R. Hines" MIME-Version: 1.0 References: <20140831113005.11747.85125.malonedeb@chaenomeles.canonical.com> <20140831120602.29623.76040.launchpad@gac.canonical.com> <20140908180941.GL2474@work-vm> In-Reply-To: <20140908180941.GL2474@work-vm> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [Bug 1363641] Re: Build of v2.1.0 fails on armv7l due to undeclared __NR_select List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Bug 1363641 <1363641@bugs.launchpad.net>, qemu-devel@nongnu.org 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 (krichter722@aol.de) 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