Hiya, I've encountered a pretty strange issue. The configure script for libvirt automatically detects whether windres exists and if so, it'll try and create read some kind of rc file to create a coff file. That fails with the bizarre error message "i686-pc-linux-gnu-windres: can't get BFD_RELOC_RVA relocation type: No error". I haven't found anything searching for that, but given that it relates to the windows resources (I assume for building with cygwin) I just made a little patch to ensure the windres check fails... Here's a more full error message: i686-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I.. -I../gnulib/lib -I../gnulib/lib -I../include -I../include -I../qemud -I/usr/include/libxml2 -DLIBDIR=\""/usr/lib"\" -DBINDIR=\""/usr/libexec"\" -DSBINDIR=\""/usr/sbin"\" -DSYSCONF_DIR="\"/etc\"" -DLOCALEBASEDIR=\""/usr/share/locale"\" -DLOCAL_STATE_DIR=\""/var"\" -DGETTEXT_PACKAGE=\"libvirt\" -Wall -Wformat -Wformat-security -Wmissing-prototypes -Wnested-externs -Wpointer-arith -Wextra -Wshadow -Wcast-align -Wwrite-strings -Waggregate-return -Wstrict-prototypes -Winline -Wredundant-decls -Wno-sign-compare -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fasynchronous-unwind-tables -DUSE_READLINE -O2 -mtune=core2 -pipe -ggdb -MT virsh-console.o -MD -MP -MF .deps/virsh-console.Tpo -c -o virsh-console.o `test -f 'console.c' || echo './'`console.c mv -f .deps/virsh-console.Tpo .deps/virsh-console.Po i686-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I.. -I../gnulib/lib -I../gnulib/lib -I../include -I../include -I../qemud -I/usr/include/libxml2 -DLIBDIR=\""/usr/lib"\" -DBINDIR=\""/usr/libexec"\" -DSBINDIR=\""/usr/sbin"\" -DSYSCONF_DIR="\"/etc\"" -DLOCALEBASEDIR=\""/usr/share/locale"\" -DLOCAL_STATE_DIR=\""/var"\" -DGETTEXT_PACKAGE=\"libvirt\" -Wall -Wformat -Wformat-security -Wmissing-prototypes -Wnested-externs -Wpointer-arith -Wextra -Wshadow -Wcast-align -Wwrite-strings -Waggregate-return -Wstrict-prototypes -Winline -Wredundant-decls -Wno-sign-compare -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fasynchronous-unwind-tables -DUSE_READLINE -O2 -mtune=core2 -pipe -ggdb -MT virsh-virsh.o -MD -MP -MF .deps/virsh-virsh.Tpo -c -o virsh-virsh.o `test -f 'virsh.c' || echo './'`virsh.c mv -f .deps/storage_backend_disk.Tpo .deps/storage_backend_disk.Plo i686-pc-linux-gnu-windres \ --input-format rc --input virsh_win_icon.rc \ --output-format coff --output virsh_win_icon.o i686-pc-linux-gnu-windres: can't get BFD_RELOC_RVA relocation type: No error make[3]: *** [virsh_win_icon.o] Error 1 make[3]: *** Waiting for unfinished jobs.... mv -f .deps/virsh-virsh.Tpo .deps/virsh-virsh.Po mv -f .deps/storage_backend_fs.Tpo .deps/storage_backend_fs.Plo make[3]: Leaving directory `/var/tmp/portage/app-emulation/libvirt-0.6.4-r1/work/libvirt-0.6.4/src' make[2]: *** [all] Error 2 make[2]: Leaving directory `/var/tmp/portage/app-emulation/libvirt-0.6.4-r1/work/libvirt-0.6.4/src' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/var/tmp/portage/app-emulation/libvirt-0.6.4-r1/work/libvirt-0.6.4' make: *** [all] Error 2 Portage 2.2_rc33 (default/linux/x86/2008.0, gcc-4.3.3, glibc-2.10.1-r0, 2.6.30-dirty i686) ================================================================= System uname: Linux-2.6.30-dirty-i686-Intel-R-_Core-TM-2_Duo_CPU_T7700_@_2.40GHz-with-gentoo-2.0.1 Timestamp of tree: Mon, 22 Jun 2009 11:00:01 +0000 ccache version 2.4 [enabled] app-shells/bash: 4.0_p24 dev-java/java-config: 2.1.8-r1 dev-lang/python: 2.6.2-r1 dev-python/pycrypto: 2.0.1.99999 dev-util/ccache: 2.4-r8 dev-util/cmake: 2.6.4 sys-apps/baselayout: 2.0.1 sys-apps/openrc: 0.4.3-r3 sys-apps/sandbox: 2.0 sys-devel/autoconf: 2.13, 2.63-r1 sys-devel/automake: 1.5, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10.2, 1.11 sys-devel/binutils: 2.19.1-r1 sys-devel/gcc-config: 1.4.1 sys-devel/libtool: 2.2.6a virtual/os-headers: 2.6.29 ACCEPT_KEYWORDS="x86 ~x86" CBUILD="i686-pc-linux-gnu" CFLAGS="-O2 -mtune=core2 -pipe -ggdb" CHOST="i686-pc-linux-gnu" CONFIG_PROTECT="/etc /var/lib/hsqldb" CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/eselect/postgresql /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/php/apache2-php5/ext-active/ /etc/php/cgi-php5/ext-active/ /etc/php/cli-php5/ext-active/ /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/texmf/web2c /etc/udev/rules.d" CXXFLAGS="-O2 -mtune=core2 -pipe -ggdb" DISTDIR="/usr/portage/distfiles" FEATURES="ccache collision-protect cvs distlocks fixpackages parallel-fetch sandbox sfperms splitdebug strict unmerge-orphans userfetch userpriv usersandbox" GENTOO_MIRRORS="http://distfiles.gentoo.org http://distro.ibiblio.org/pub/linux/distributions/gentoo" LC_ALL="en_GB" LDFLAGS="-Wl,--as-needed" LINGUAS="en en_GB" MAKEOPTS="-j3" PKGDIR="/usr/portage/packages" PORTAGE_CONFIGROOT="/" PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/overlays/embedded /usr/local/overlays/gnome /usr/local/overlays/mozilla /usr/local/overlays/desktop-effects /usr/local/overlays/x11 /usr/local/overlays/vmware /usr/local/overlays/uncon /usr/local/overlays/ikelos /usr/local/overlays/personal" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="X a52 aac acl acpi additions alsa apache2 applet autoipd avahi bash-completion berkdb bluetooth boundschecking bzip2 cairo ccache cdda cdr cdrkit cli consolekit cracklib crypt cups curl dbus dell deskbar device-mapper dhcpcd divx dri dv dvb dvd dvdr dvi encode exif fam ffmpeg fftw ftp fuse gd gedit gif git glade glitz gmedia gnome gnome-keyring gnuplot gps graphviz gsm gstreamer gtk gtkhtml hal hdaps hpn httpd hybrid-auth iconv ilbc imap injection ipod iproute2 ipv6 isdnlog java java5 java6 javascript jingle john jpeg jpeg2k kpathsea kvm ladspa lame laptop ldap libffi libnotify libsexy mad maildir mdnsresponder-compat midi mikmod mmx mmxext mng mono moonlight mozdevelop mozdom moznopango mp3 mpeg mscash mssql mudflap multitarget music mysql nautilus ncurses netboot network networkmanager nls nntp nptl nptlonly ntlm obex ogg old-daemons opengl openmp pam parted password patch pcmcia pcre pcsc-lite pdf perl pic png policykit postgres ppds pppd pulseaudio python quicktime rdesktop readline realmedia reflection resolvconf rtsp samba sasl sdl server session skins slp smp sms smux snmp sox spell spl sqlite sqlite3 sse sse2 ssl stream subversion svg svn-mirror sysfs syslog tcpd theora tiff tokenizer tracker truetype unicode usb usrp v4l2 vlm vnc vorbis webdav wifi win32codecs winbind wmf wmp wpe x264 x86 x86emu xcb xcomposite xklavier xml xorg xulrunner xv xvid zlib" ALSA_CARDS="hda-intel" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" DVB_CARDS="usb-dib0700" ELIBC="glibc" INPUT_DEVICES="evdev keyboard mouse synaptics" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="en en_GB" USERLAND="GNU" VIDEO_CARDS="intel vesa" Unset: CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, FFLAGS, INSTALL_MASK, LANG, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
Created attachment 195466 [details, diff] libvirt-0.6.4-disable-windres.patch
I've had a workaround for ages, set ac_cv_prog_WINDRES=no in the environment. With yours, what if somebody has a disable-windres in $PATH? (Okay, totally unlikely.)
Fair enough, my patch may not be great, but we definitely need some kind of a fix. You say you've had that variable set for years, what other programs ran into this problem? Do they have patches that might solve this problem without my botched hack or an environment variable workaround? This also affects libvirt-0.6.5...
I set ac_cv_prog_WINDRES=no *only* for app-emulation/libvirt -- I haven't seen any other packages which assume that "presence of windres" == "need to build a Windows-style icon resource". (I use Paludis; my /etc/paludis/bashrc contains > case "${CATEGORY}/${PN}" of > app-emulation/libvirt) ac_cv_prog_WINDRES=no ;; > esac ) I wonder why virt-manager doesn't seem to make this (faulty) assumption? Same upstream...
Thanks for the workaround. I've discovered that windres only gets installed if sys-devel/binutils is compiled with USE="multitarget", so that's another potential workaround. I can't find any automake files in the package itself, so coming up with a suitable patch looks difficult. Any ideas how to resolve this properly? Perhaps adding in the ac...windres variable into the ebuild? I haven't given libvirt-0.7.0 a go, since it segfaulted lots on the box I tested it on...
(In reply to comment #5) > I can't find any automake files in the package itself, so coming up with a > suitable patch looks difficult. Any ideas how to resolve this properly? > Perhaps adding in the ac...windres variable into the ebuild? I haven't given > libvirt-0.7.0 a go, since it segfaulted lots on the box I tested it on... Can you give the latest version (0.7.4-r2) a try and see if you still have issues?
Yep, this error still occurs with libvirt-0.7.4-r2, unless I have an /etc/portage/bashrc to set the appropriate ac_ var...
@toolchain: why on earth binutils multitarget installs windres with a linux tool prefix?
it's called "multitarget" for a reason
Diego, You're the autotools master... any suggestions would be helpful.
Worked around for now, I sent upstream the proper patch. Sorry for the time it took to handle properly.