[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[OK NOW] Re: [Qemu-devel] compile error (current CVS)
From: |
Grzegorz Kulewski |
Subject: |
[OK NOW] Re: [Qemu-devel] compile error (current CVS) |
Date: |
Tue, 15 Jun 2004 16:09:29 +0200 (CEST) |
On Tue, 15 Jun 2004 address@hidden wrote:
> On Monday 14 June 2004 21:24, Grzegorz Kulewski wrote:
> > I got
> >
> > gcc -Wall -O2 -g -fno-strict-aliasing -fomit-frame-pointer -I.
> > -I/var/tmp/portage/qemu-cvs-1.5/work/qemu/target-arm
> > -I/var/tmp/portage/qemu-cvs-1.5/work/qemu
> > -I/var/tmp/portage/qemu-cvs-1.5/work/qemu/linux-user
> > -I/var/tmp/portage/qemu-cvs-1.5/work/qemu/linux-user/arm -D_GNU_SOURCE
> > -I/var/tmp/portage/qemu-cvs-1.5/work/qemu/slirp -c -o
> > nwfpe/extended_cpdo.o
> > /var/tmp/portage/qemu-cvs-1.5/work/qemu/target-arm/nwfpe/extended_cpdo.c
> > gcc -Wall -O2 -g -fno-strict-aliasing -fomit-frame-pointer -I.
> > -I/var/tmp/portage/qemu-cvs-1.5/work/qemu/target-arm
> > -I/var/tmp/portage/qemu-cvs-1.5/work/qemu
> > -I/var/tmp/portage/qemu-cvs-1.5/work/qemu/linux-user
> > -I/var/tmp/portage/qemu-cvs-1.5/work/qemu/linux-user/arm -D_GNU_SOURCE
> > -I/var/tmp/portage/qemu-cvs-1.5/work/qemu/slirp -c -o exec.o
> > /var/tmp/portage/qemu-cvs-1.5/work/qemu/exec.c
> > /var/tmp/portage/qemu-cvs-1.5/work/qemu/exec.c: In function
> > `tb_invalidate_phys_page_range':
> > /var/tmp/portage/qemu-cvs-1.5/work/qemu/exec.c:684: error: `env'
> > undeclared (first use in this function)
> > /var/tmp/portage/qemu-cvs-1.5/work/qemu/exec.c:684: error: (Each
> > undeclared identifier is reported only once
> > /var/tmp/portage/qemu-cvs-1.5/work/qemu/exec.c:684: error: for each
> > function it appears in.)
> > /var/tmp/portage/qemu-cvs-1.5/work/qemu/exec.c: At top level:
> > /var/tmp/portage/qemu-cvs-1.5/work/qemu/exec.c:1046: warning:
> > `breakpoint_invalidate' defined but not used
> > make[1]: *** [exec.o] Bd 1
> > make[1]: Leaving directory
> > `/var/tmp/portage/qemu-cvs-1.5/work/qemu/arm-user'
> > make: *** [all] Bd 1
> >
> > when trying to compile from current CVS.
>
> "make clean" ?
No way. This is Gentoo (The best distro in the world)'s automated qemu-cvs
ebuild. It works this way: I have to type emerge qemu-cvs and it updates
its private copy from cvs and then copies this private copy to
/var/tmp/portage/qemu-cvs-1.5/work and builds it there. (It removes any
files from this dir before copying of course.) So the source is always
clean (as in the CVS).
But the good news is that Fabrice updated CVS and current version builds
ok for me.
BTW. I got this ebuild from this list and modified it some time ago to
work with newer versions (there were some changes to directory structure
of qemu installation) and I synchronized this ebuild with official qemu
release ebuilds. When using this ebuild you should put softmmu into USE
and you should probably NOT put qemu-fast as it is known not to work with
recent glibcs / binutils / gccs.
I do not remember if I posted the modified ebuild, so here it is:
# Copyright 1999-2004 Gentoo Technologies, Inc.
# Distributed under the terms of the GNU General Public License v2
#
# qemu-cvs-1.3 and previous by Gabriel Ebner <address@hidden>.
#
# qemu-cvs-1.4 Grzegorz Kulewski <address@hidden>
# * synced with current (0.5.4 and 0.5.5) release ebuild
# * some minor fixes
#
# qemu-cvs-1.5 Grzegorz Kulewski <address@hidden>
# * fixed access violation with current CVS in make install
# (added datadir variable)
# * added qemu-fast use flag (do NOT use it yet!)
#
ECVS_AUTH="ext"
export CVS_RSH="ssh"
ECVS_SERVER="savannah.gnu.org:/cvsroot/qemu"
ECVS_MODULE="qemu"
ECVS_USER="anoncvs"
ECVS_PASS=""
ECVS_CVS_OPTIONS="-dP"
ECVS_SSH_HOST_KEY="savannah.gnu.org,199.232.41.3 ssh-rsa
AAAAB3NzaC1yc2EAAAABIwAAAIEAzFQovi+67xa+wymRz9u3plx0ntQnELBoNU4SCl3RkwSFZkrZsRTC0fTpOKatQNs1r/BLFoVt21oVFwIXVevGQwB+Lf0Z+5w9qwVAQNu/YUAFHBPTqBze4wYK/gSWqQOLoj7rOhZk0xtAS6USqcfKdzMdRWgeuZ550P6gSzEHfv0="
inherit cvs
S="${WORKDIR}/${ECVS_MODULE}"
DESCRIPTION="Multi-platform & multi-targets dynamic translator"
SRC_URI=""
HOMEPAGE="http://fabrice.bellard.free.fr/qemu/"
KEYWORDS="~x86 ~ppc -alpha -sparc -arm"
SLOT="0"
LICENSE="GPL-2 LGPL-2.1"
IUSE="sdl softmmu qemu-fast"
DEPEND="virtual/glibc
sdl? ( media-libs/libsdl )
|| ( app-text/tetex app-text/texi2html )"
RDEPEND="virtual/glibc
sdl? ( media-libs/libsdl )
!app-emulation/qemu"
RESTRICT="nostrip"
# qemu-fast can NOT be compiled with current Gentoo binutils
# so do not put qemu-fast into use!
TARGET_LIST="arm-user i386-user ppc-user sparc-user"
use softmmu && TARGET_LIST="${TARGET_LIST} i386-softmmu ppc-softmmu"
use qemu-fast && TARGET_LIST="${TARGET_LIST} i386"
src_compile() {
./configure --prefix=/usr \
--target-list="${TARGET_LIST}" || die "could not
configure"
make || die "make failed"
}
src_install() {
# qemu does not use autoconf DESTDIR so we must set all of these:
# (if this ebuild will break suddenly after qemu CVS change
# with sandbox access violated error then you probably need to add
# some new destination variable to make install)
make install prefix=${D}/usr \
bindir=${D}/usr/bin \
sharedir=${D}/usr/share/qemu \
datadir=${D}/usr/share/qemu \
docdir=${D}/usr/share/doc/${PF} \
mandir=${D}/usr/share/man || die "could not install"
dodoc TODO VERSION COPYING* README README.distrib *.html
}
pkg_postinstall() {
einfo "You will need the Universal TUN/TAP driver compiled into"
einfo "kernel or as a module to use the virtual network device."
}
Does anybody have better or more correct version?
Thanks,
Grzegorz Kulewski