View previous topic :: View next topic |
Author |
Message |
Robert S Guru
Joined: 15 Aug 2004 Posts: 460 Location: Canberra Australia
|
Posted: Wed Sep 13, 2006 7:33 am Post subject: emerge qemu-softmmu fails after gcc downgrade |
|
|
I have upgraded gcc to 4.1.1 and have rebuilt my entire system as per the docs. I was unable to compile some of the qemu packages with this version. I have downgraded my gcc using Quote: | gcc-config 1
source /etc/profile
env-update |
Now when I try to emerge qemu-softmmu I get the following: Quote: |
!!! ERROR: app-emulation/qemu-softmmu-0.8.2-r1 failed.
Call stack:
ebuild.sh, line 1539: Called dyn_compile
ebuild.sh, line 939: Called src_compile
qemu-softmmu-0.8.2-r1.ebuild, line 83: Called die
!!! make failed
!!! If you need support, post the topmost build error, and the call stack if relevant.
|
Here is output of emerge --info: Quote: |
# emerge --info
Portage 2.1-r2 (default-linux/x86/2006.1, gcc-3.4.6, glibc-2.4-r3, 2.6.17-gentoo-r7 i686)
=================================================================
System uname: 2.6.17-gentoo-r7 i686 AMD Athlon(tm) XP 2000+
Gentoo Base System version 1.12.4
distcc 2.18.3 i686-pc-linux-gnu (protocols 1 and 2) (default port 3632) [enabled]
ccache version 2.3 [enabled]
app-admin/eselect-compiler: [Not Present]
dev-lang/python: 2.3.5-r2, 2.4.3-r1
dev-python/pycrypto: 2.0.1-r5
dev-util/ccache: 2.3
dev-util/confcache: [Not Present]
sys-apps/sandbox: 1.2.17
sys-devel/autoconf: 2.13, 2.59-r7
sys-devel/automake: 1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2
sys-devel/binutils: 2.16.1-r3
sys-devel/gcc-config: 1.3.13-r3
sys-devel/libtool: 1.5.22
virtual/os-headers: 2.6.11-r5
ACCEPT_KEYWORDS="x86"
AUTOCLEAN="yes"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-O2 -march=athlon-xp -fomit-frame-pointer -pipe -m32"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/lib/mozilla/defaults/pref /usr/share/X11/xkb /usr/share/config"
CONFIG_PROTECT_MASK="/etc/env.d /etc/gconf /etc/revdep-rebuild /etc/splash /etc/terminfo"
CXXFLAGS=""
DISTDIR="/usr/portage/distfiles"
FEATURES="autoconfig ccache distcc distlocks metadata-transfer sandbox sfperms strict"
GENTOO_MIRRORS="http://distfiles.gentoo.org http://distro.ibiblio.org/pub/linux/distributions/gentoo"
LINGUAS="en_AU en_GB"
MAKEOPTS="-j2"
PKGDIR="/mnt/packages-x86"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --delete-after --stats --timeout=180 --exclude='/distfiles' --exclude='/local' --exclude='/packages'"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage /usr/portage/local/layman/nx /usr/portage/local/layman/vmware /usr/portage/local/layman/ecatmur /usr/portage/local/layman/wrobel"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="x86 X alsa apache2 arts bash-completion berkdb bitmap-fonts bzip2 cairo cli crypt cups curl dlloader dri eds encode esd exif fam foomaticdb fortran gdbm gif gmp gnome gpm gstreamer gtk gtk2 hal idn imlib isdnlog jpeg kde lcms libg++ mad mhash mikmod mng mp3 mpeg mysql ncurses nls nptl nptlonly odbc ogg opengl oss pam pcre perl png ppds pppd python qt3 qt4 quicktime readline reflection samba sdl session slang spl sqlite ssl tcpd threads tiff truetype truetype-fonts type1-fonts udev unicode usb vorbis wmf xml xorg xv zlib elibc_glibc input_devices_keyboard input_devices_mouse kernel_linux linguas_en_AU linguas_en_GB userland_GNU video_cards_nv video_cards_nvidia video_cards_vesa video_cards_fbdev"
Unset: CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LANG, LC_ALL, LDFLAGS, PORTAGE_RSYNC_EXTRA_OPTS
|
I compiled my system with the -mno-tls-direct-seg-refs flag to make it xen friendly, but I've disabled this for qemu-softmmu - I get the same error message when this is enabled. Could this be the problem? There don't seem to be reports of problems with this package. |
|
Back to top |
|
|
Marlo Veteran
Joined: 26 Jul 2003 Posts: 1591
|
Posted: Thu Sep 14, 2006 2:33 pm Post subject: |
|
|
Hi,
That is what the Unofficial #qemu Wiki related . And it's true. With the gcc-4xx you'll get this message:
Code: |
!!! gcc 4 cannot build qemu
!!! If you need support, post the topmost build error, and the call stack if relevant.
|
The solution is --> return to gcc-4xx AND keep your gcc-3xx.
Follow the http://www.gentoo.org/doc/en/gcc-upgrading.xml#doc_chap2 AND keep your gcc-3xx.
After emerge system emerge world you'll have time to looking for this:
Code: |
root@gentoo: / # gcc-config -l
[1] i686-pc-linux-gnu-3.4.6
[2] i686-pc-linux-gnu-3.4.6-hardened
[3] i686-pc-linux-gnu-3.4.6-hardenednopie
[4] i686-pc-linux-gnu-3.4.6-hardenednopiessp
[5] i686-pc-linux-gnu-3.4.6-hardenednossp
[6] i686-pc-linux-gnu-4.1.1 *
|
So it` time to switsh back to gcc-3xx with:
Code: |
root@gentoo: / # gcc-config i686-pc-linux-gnu-3.4.6
* Switching native-compiler to i686-pc-linux-gnu-3.4.6 ...
>>> Regenerating /etc/ld.so.cache... [ ok ]
* If you intend to use the gcc from the new profile in an already
* running shell, please remember to do:
* # source /etc/profile
root@gentoo: / # source /etc/profile
root@gentoo: / # gcc-config -l
[1] i686-pc-linux-gnu-3.4.6 *
[2] i686-pc-linux-gnu-3.4.6-hardened
[3] i686-pc-linux-gnu-3.4.6-hardenednopie
[4] i686-pc-linux-gnu-3.4.6-hardenednopiessp
[5] i686-pc-linux-gnu-3.4.6-hardenednossp
[6] i686-pc-linux-gnu-4.1.1
|
Now you are be able to emerge qemu:
Code: |
root@gentoo: / # emerge qemu qemu-softmmu qemu-user kqemu
...
...
...
>>> Regenerating /etc/ld.so.cache...
>>> Original instance of package unmerged safely.
>>> Regenerating /etc/ld.so.cache...
>>> app-emulation/qemu-user-0.8.2 merged.
>>> No packages selected for removal by clean.
>>> Auto-cleaning packages...
>>> No outdated packages were found on your system.
* GNU info directory index is up-to-date.
root@gentoo: / #
|
Don't forget to switsh on gcc-4xx
Code: |
root@gentoo: / # gcc-config i686-pc-linux-gnu-4.1.1
* Switching native-compiler to i686-pc-linux-gnu-4.1.1 ...
>>> Regenerating /etc/ld.so.cache... [ ok ]
* If you intend to use the gcc from the new profile in an already
* running shell, please remember to do:
* # source /etc/profile
root@gentoo: / # source /etc/profile
root@gentoo: / # gcc-config -l
[1] i686-pc-linux-gnu-3.4.6
[2] i686-pc-linux-gnu-3.4.6-hardened
[3] i686-pc-linux-gnu-3.4.6-hardenednopie
[4] i686-pc-linux-gnu-3.4.6-hardenednopiessp
[5] i686-pc-linux-gnu-3.4.6-hardenednossp
[6] i686-pc-linux-gnu-4.1.1 *
root@gentoo: / #
|
Well, that's all.
Ma |
|
Back to top |
|
|
Robert S Guru
Joined: 15 Aug 2004 Posts: 460 Location: Canberra Australia
|
Posted: Thu Sep 14, 2006 9:22 pm Post subject: |
|
|
I did all of that. I fixed the problem by compiling it on another machine (which I switched from 4.1 to 3.x), then installing from binary packages.
Still don't know why it failed. |
|
Back to top |
|
|
narcis n00b
Joined: 29 Dec 2005 Posts: 16
|
Posted: Sat Sep 23, 2006 10:54 pm Post subject: |
|
|
If you compiled your kernel with gcc4 (you'll have to if you compile any other modules like wireless or drm) then you have to emerge kqemu after switching to gcc4 again.
The stable qemu-user-0.8.0 breaks on my box while compiling with gcc 3.4.6, you'll have to switch to ~x86. |
|
Back to top |
|
|
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|