qemu-devel
[Top][All Lists]
Advanced

[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





reply via email to

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