mesa fails to compile while building r300_dri.so here is short story ============================================================= mklib: Making Linux shared library: r300_dri.so.tmp /usr/lib/gcc/powerpc64-unknown-linux-gnu/4.4.5/../../../../powerpc64-unknown-linux-gnu/bin/ld: ../../../../../src/mesa/libmesa.a(ast_function.o)(.text+0x9e4): sibling call optimization to `exec_node::operator new(unsigned long, void*)' does not allow automatic multiple TOCs; recompile with -mminimal-toc or -fno-optimize-sibling-calls, or make `exec_node::operator new(unsigned long, void*)' extern ===================================================================== this can be fixed using "-mminimal-toc" in ebuild, patch attached I don't know if -mminimal-toc is the "correct" fix but it does allow mesa to compile... Reproducible: Always Steps to Reproduce: 1.emerge =media-libs/mesa-7.11 2. 3. Actual Results: failed compile see build.log emerge --info Portage 2.1.10.11 (default/linux/powerpc/ppc64/10.0/64bit-userland/desktop/gnome, gcc-4.4.5, glibc-2.12.2-r0, 2.6.31-gentoo-r10-sl ppc64) ================================================================= System Settings ================================================================= System uname: Linux-2.6.31-gentoo-r10-sl-ppc64-PPC970FX,_altivec_supported-with-gentoo-2.0.3 Timestamp of tree: Sun, 09 Oct 2011 12:00:01 +0000 app-shells/bash: 4.1_p9 dev-java/java-config: 2.1.11-r3 dev-lang/python: 2.7.1-r1, 3.1.3-r1 dev-util/cmake: 2.8.4-r1 dev-util/pkgconfig: 0.26 sys-apps/baselayout: 2.0.3 sys-apps/openrc: 0.8.3-r1 sys-apps/sandbox: 2.4 sys-devel/autoconf: 2.13, 2.68 sys-devel/automake: 1.7.9-r2, 1.9.6-r3, 1.10.3, 1.11.1 sys-devel/binutils: 2.20.1-r1 sys-devel/gcc: 4.4.5, 4.5.3-r1 sys-devel/gcc-config: 1.4.1-r1 sys-devel/libtool: 2.4-r1 sys-devel/make: 3.82 sys-kernel/linux-headers: 2.6.36.1 (virtual/os-headers) sys-libs/glibc: 2.12.2 Repositories: gentoo x-portage ACCEPT_KEYWORDS="ppc64" ACCEPT_LICENSE="* -@EULA IBM-J1.6" CBUILD="powerpc64-unknown-linux-gnu" CFLAGS="-O2 -pipe -mcpu=970 -mtune=970 -maltivec -mabi=altivec" CHOST="powerpc64-unknown-linux-gnu" CONFIG_PROTECT="/etc /usr/share/gnupg/qualified.txt /var/bind" CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo" CXXFLAGS="-O2 -pipe -mcpu=970 -mtune=970 -maltivec -mabi=altivec" DISTDIR="/usr/portage/distfiles" FEATURES="assume-digests binpkg-logs distlocks ebuild-locks fixlafiles fixpackages news parallel-fetch protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch" FFLAGS="" GENTOO_MIRRORS="ftp://mirror.mcs.anl.gov/pub/gentoo/ http://distfiles.gentoo.org/ http://www.ibiblio.org/pub/Linux/distributions/gentoo/" LANG="en_US.utf8" LDFLAGS="-Wl,-O1 -Wl,--as-needed" LINGUAS="en" 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/portage" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="X a52 aac acl altivec audio berkdb branding bzip2 cairo cdda cdr cli consolekit cracklib crypt cups cxx dbus doc dri dts dvd dvdr eds emboss encode evo examples exif extensions fam ffmpeg fftw firefox flac fontconfig gconf gdbm gdu gif gnome gnome-keyring gnutls gpm graphite gstreamer gtk guile ibm iconv ieee1394 ipv6 jpeg jpeg2k lcms ldap libnotify mad mng modules mp3 mp4 mpeg mudflap nautilus ncurses nls nptl nptlonly ogg opengl openmp pam pango pcre pdf png policykit ppc64 ppds pppd pulseaudio qt3support qt4 readline sdl session sip spell sqlite sqlite3 ssl startup-notification stun svg symlink sysfs tcl tcpd theora threads tiff truetype udev unicode usb v4l v4l2 video vim vorbis wav wxwidgets xcb xine xml xorg xulrunner xv xvid zlib" 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 cgi cgid 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" CALLIGRA_FEATURES="kexi words flow plan stage tables krita karbon braindump" CAMERAS="canon ptp2" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf superstar2 timing tsip tripmate tnt ubx" INPUT_DEVICES="evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="en" PHP_TARGETS="php5-3" QEMU_SOFTMMU_TARGETS="i386 x86_64" QEMU_USER_TARGETS="i386 x86_64" RUBY_TARGETS="ruby18" USERLAND="GNU" VIDEO_CARDS="radeon" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account" Unset: CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LC_ALL, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS emerge -pqv # emerge -pqv =media-libs/mesa-7.11 [ebuild U ] media-libs/mesa-7.11 [7.10.1] USE="classic egl%* gallium nptl shared-glapi%* -bindist% -debug -gbm% -gles (-llvm) -motif -openvg% -pax_kernel% -pic (-selinux) -shared-dricore% (-hardened%)" VIDEO_CARDS="radeon (-intel) -mach64 -mga -nouveau -r128 (-savage) (-sis) (-tdfx) (-via) (-vmware)" build.log attached
Created attachment 289381 [details] media-libs/mesa build.log
Created attachment 289383 [details, diff] patch to fix ebuild
Guidance from ppc64@ requested.
I confirm this...
I see from doing a grep -r minimal-toc in the tree that a lot of packages use this flag, so i'd say its safe to use...
+ 06 Nov 2011; Kacper Kowalik <xarthisius@gentoo.org> mesa-7.11.ebuild: + Workaround TOC issues wrt #386545 by Stephen Lewis