Date: Wed, 11 Feb 2009 03:10:48 -0700 From: John Hein <jhein@timing.com> To: Daichi GOTO <daichi@ongs.co.jp> Cc: freebsd-emulation@freebsd.org, Juergen Lock <nox@jelal.kn-bremen.de> Subject: Re: emulators/qemu: build fail on current amd64 Message-ID: <18834.42024.739091.493218@gromit.timing.com> In-Reply-To: <4992924E.4090604@ongs.co.jp> References: <498A5F90.1030004@ongs.co.jp> <20090206214916.GA14653@saturn.kn-bremen.de> <200902102257.n1AMvF9v013733@saturn.kn-bremen.de> <4992924E.4090604@ongs.co.jp>
next in thread | previous in thread | raw e-mail | index | archive | help
Daichi GOTO wrote at 17:54 +0900 on Feb 11, 2009:
> Juergen Lock wrote:
> > In article <4990EF3E.5090908@ongs.co.jp> you write:
> >> After some days, I have tried to build qemu and kqemu with
> >> latest amd64 current system, and I have gottten it success :)
> >>
> >> FYI, qemu works well but without kqemu.
> >>
> >> # /usr/local/etc/rc.d/kqemu start
> >> kldload: can't load kqemu: Exec format error
> >> /usr/local/etc/rc.d/kqemu: WARNING: kqemu module failed to load.
> >> #
> >
> > Oh? Is there anything in dmesg, like a missing symbol? Or did you
> > update your world/kernel after building kqemu? In that case you should
> > rebuild your kqemu port...
>
> # uname -a
> FreeBSD parancell.ongs.co.jp 8.0-CURRENT FreeBSD 8.0-CURRENT #3: Mon Feb 9 14:18:09 JST 2009
> root@parancell.ongs.co.jp:/usr/obj/usr/src/sys/PARANCELL amd64
> # dmesg
> (snip)
> link_elf_obj: symbol unit2minor undefined
> kldload: /boot/modules/kqemu.ko: Unsupported file type
> (snip)
unit2minor was removed recently.
See recent commit to sys/sys/conf.h
Any in-tree drivers left that used unit2minor were fixed at the same time.
For kqemu-kmod, try this...
--- kqemu-1.3.0pre11/kqemu-freebsd.c.orig 2007-02-06 14:02:00.000000000 -0700
+++ kqemu-1.3.0pre11/kqemu-freebsd.c 2009-02-11 03:04:50.000000000 -0700
@@ -296,7 +296,11 @@
r = clone_create(&kqemuclones, &kqemu_cdevsw, &unit, dev, 0);
if (r) {
+#if __FreeBSD_version > 800061
+ *dev = make_dev(&kqemu_cdevsw, unit,
+#else
*dev = make_dev(&kqemu_cdevsw, unit2minor(unit),
+#endif
UID_ROOT, GID_WHEEL, 0660, "kqemu%d", unit);
if (*dev != NULL) {
dev_ref(*dev);
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?18834.42024.739091.493218>
