On Mon, Jan 24, 2011 at 05:03:23PM +0900, Ryan McBride wrote: > This patch helps a lot. I couldn't even get through an install before. > But please don't remove qemu-old yet: I'm using UDP multicast sockets to > build virtual networks, and they fail on 0.13.0: > > $ sudo qemu -m 128 -no-fd-bootchk \ > -hda virtual.img -boot n -nographic \ > -net nic,vlan=0,model=rtl8139,macaddr=52:54:00:12:34:03 \ > -net user -tftp /usr/src/sys/arch/i386/compile/TEST -bootp pxeboot \ > -net nic,vlan=1,model=rtl8139,macaddr=52:54:00:23:03:01 \ > -net tap,vlan=1,script=no \ > -net nic,vlan=3,model=rtl8139,macaddr=52:54:00:23:03:03 \ > -net socket,vlan=3,mcast=230.0.0.1:10003 > setsockopt(SOL_IP, IP_MULTICAST_LOOP): Invalid argument > qemu: -net socket,vlan=3,mcast=230.0.0.1:10003: Device 'socket' could not be > initialized > > Works fine if I comment out the last two lines.
this should fix it. can you try it please? f.- Index: Makefile =================================================================== RCS file: /cvs/ports/emulators/qemu/Makefile,v retrieving revision 1.60 diff -N -u -p Makefile --- Makefile 19 Jan 2011 16:22:31 -0000 1.60 +++ Makefile 24 Jan 2011 15:41:37 -0000 @@ -6,7 +6,7 @@ ONLY_FOR_ARCHS = i386 amd64 sparc64 COMMENT = multi system emulator DISTNAME = qemu-0.13.0 -REVISION = 0 +REVISION = 1 CATEGORIES = emulators HOMEPAGE = http://www.qemu.org/ Index: patches/patch-net_socket_c =================================================================== RCS file: patches/patch-net_socket_c diff -N -u -p patches/patch-net_socket_c --- /dev/null 24 Jan 2011 08:41:37 -0000 +++ patches/patch-net_socket_c 24 Jan 2011 15:41:37 -0000 @@ -0,0 +1,12 @@ +$OpenBSD$ +--- net/socket.c.orig Mon Jan 24 15:34:58 2011 ++++ net/socket.c Mon Jan 24 15:35:01 2011 +@@ -195,7 +195,7 @@ static int net_socket_mcast_create(struct sockaddr_in + /* Force mcast msgs to loopback (eg. several QEMUs in same host */ + val = 1; + ret=setsockopt(fd, IPPROTO_IP, IP_MULTICAST_LOOP, +- (const char *)&val, sizeof(val)); ++ (const char *)&val, sizeof(char)); + if (ret < 0) { + perror("setsockopt(SOL_IP, IP_MULTICAST_LOOP)"); + goto fail;