This is after a stage-1 "bootstrap.sh" and then "emerge system". I saw what looks like a similar thread on the x86 side, but the Sparc glibc/gcc ebuilds are older than the ones mentioned there. This install was done with -fstack-protector. Hardware: Ultra60, 2x360MHz, 512MB RAM Messages below: gcc -c -DLOCALEDIR=\"/usr/share/locale\" -DENABLE_HTREE=1 -DENABLE_SWAPFS=1 -DPACKAGE=\"e2fsprogs\" -DVERSION=\"1.34\" -DHAVE_INTTYPES_H_WITH_UINTMAX=1 -DHAVE_STDINT_H_WITH_UINTMAX=1 -DHAVE_UNSIGNED_LONG_LONG=1 -DSTDC_HEADERS=1 -DHAVE_ALLOCA_H=1 -DHAVE_ALLOCA=1 -DHAVE_UNISTD_H=1 -DHAVE_GETPAGESIZE=1 -DHAVE_MMAP=1 -DINTDIV0_RAISES_SIGFPE=1 -DHAVE_INTTYPES_H=1 -DHAVE_ARGZ_H=1 -DHAVE_LIMITS_H=1 -DHAVE_LOCALE_H=1 -DHAVE_NL_TYPES_H=1 -DHAVE_MALLOC_H=1 -DHAVE_STDDEF_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_UNISTD_H=1 -DHAVE_SYS_PARAM_H=1 -DHAVE_FEOF_UNLOCKED=1 -DHAVE_FGETS_UNLOCKED=1 -DHAVE_GETC_UNLOCKED=1 -DHAVE_GETCWD=1 -DHAVE_GETEGID=1 -DHAVE_GETEUID=1 -DHAVE_GETGID=1 -DHAVE_GETUID=1 -DHAVE_MEMPCPY=1 -DHAVE_MUNMAP=1 -DHAVE_PUTENV=1 -DHAVE_SETENV=1 -DHAVE_SETLOCALE=1 -DHAVE_STPCPY=1 -DHAVE_STRCASECMP=1 -DHAVE_STRDUP=1 -DHAVE_STRTOUL=1 -DHAVE_TSEARCH=1 -DHAVE___ARGZ_COUNT=1 -DHAVE___ARGZ_STRINGIFY=1 -DHAVE___ARGZ_NEXT=1 -DHAVE_ICONV=1 -DICONV_CONST= -DHAVE_LANGINFO_CODESET=1 -DHAVE_LC_MESSAGES=1 -DENABLE_NLS=1 -DHAVE_GETTEXT=1 -DHAVE_DCGETTEXT=1 -DHAVE_STDLIB_H=1 -DHAVE_UNISTD_H=1 -DHAVE_STDARG_H=1 -DHAVE_ERRNO_H=1 -DHAVE_MALLOC_H=1 -DHAVE_MNTENT_H=1 -DHAVE_PATHS_H=1 -DHAVE_DIRENT_H=1 -DHAVE_GETOPT_H=1 -DHAVE_SETJMP_H=1 -DHAVE_SIGNAL_H=1 -DHAVE_TERMIOS_H=1 -DHAVE_LINUX_FD_H=1 -DHAVE_LINUX_MAJOR_H=1 -DHAVE_SYS_IOCTL_H=1 -DHAVE_SYS_MOUNT_H=1 -DHAVE_SYS_SOCKET_H=1 -DHAVE_SYS_SYSMACROS_H=1 -DHAVE_SYS_TIME_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_WAIT_H=1 -DHAVE_SYS_RESOURCE_H=1 -DHAVE_NET_IF_H=1 -DHAVE_NETINET_IN_H=1 -DHAVE_VPRINTF=1 -DHAVE_RECLEN_DIRENT=1 -DHAVE_TYPE_SSIZE_T=1 -DHAVE_LSEEK64_PROTOTYPE=1 -DSIZEOF_SHORT=2 -DSIZEOF_INT=4 -DSIZEOF_LONG=4 -DSIZEOF_LONG_LONG=8 -DWORDS_BIGENDIAN=1 -DHAVE_GETRUSAGE=1 -DHAVE_LLSEEK=1 -DHAVE_LSEEK64=1 -DHAVE_OPEN64=1 -DHAVE_STRTOULL=1 -DHAVE_STRCASECMP=1 -DHAVE_SRANDOM=1 -DHAVE_FCHOWN=1 -DHAVE_MALLINFO=1 -DHAVE_FDATASYNC=1 -DHAVE_STRNLEN=1 -DHAVE_STRPTIME=1 -DHAVE_SYSCONF=1 -DHAVE_PATHCONF=1 -DHAVE_POSIX_MEMALIGN=1 -DHAVE_MEMALIGN=1 -DHAVE_VALLOC=1 -DHAVE_DLOPEN=1 -DHAVE_EXT2_IOCTLS=1 -fstack-protector -mcpu=ultrasparc -O3 -pipe -DRESOURCE_TRACK -I../lib -I../lib rehash.c -o rehash.o gcc -o e2fsck.shared dict.o unix.o e2fsck.o super.o pass1.o pass1b.o pass2.o pass3.o pass4.o pass5.o journal.o swapfs.o badblocks.o util.o dirinfo.o dx_dirinfo.o ehandler.o problem.o message.o recovery.o region.o revoke.o ea_refcount.o rehash.o ../lib/libext2fs.so ../lib/libcom_err.so ../lib/libblkid.so ../lib/libuuid.so /bin/cp e2fsck.shared e2fsck gcc -static -o e2fsck.static dict.o unix.o e2fsck.o super.o pass1.o pass1b.o pass2.o pass3.o pass4.o pass5.o journal.o swapfs.o badblocks.o util.o dirinfo.o dx_dirinfo.o ehandler.o problem.o message.o recovery.o region.o revoke.o ea_refcount.o rehash.o \ ../lib/libext2fs.a ../lib/libcom_err.a ../lib/libblkid.a ../lib/libuuid.a /usr/lib/gcc-lib/sparc-unknown-linux-gnu/3.2.3/../../../libc.a(ssp.o)(.data+0x0): multiple definition of `__guard' /usr/lib/gcc-lib/sparc-unknown-linux-gnu/3.2.3/libgcc.a(_stack_smash_handler.oS)(.data+0x0): first defined here /usr/lib/gcc-lib/sparc-unknown-linux-gnu/3.2.3/../../../../sparc-unknown-linux-gnu/bin/ld: Disabling relaxation: it will not work with multiple definitions /usr/lib/gcc-lib/sparc-unknown-linux-gnu/3.2.3/../../../libc.a(ssp.o)(.text+0xa0): In function `__stack_smash_handler': : multiple definition of `__stack_smash_handler' /usr/lib/gcc-lib/sparc-unknown-linux-gnu/3.2.3/libgcc.a(_stack_smash_handler.oS)(.text+0x9c):/var/tmp/portage/gcc-3.2.3-r2/work/gcc-3.2.3/gcc/libgcc2.c:2093: first defined here /usr/lib/gcc-lib/sparc-unknown-linux-gnu/3.2.3/../../../../sparc-unknown-linux-gnu/bin/ld: Warning: size of symbol `__stack_smash_handler' changed from 448 in /usr/lib/gcc-lib/sparc-unknown-linux-gnu/3.2.3/../../../libc.a(ssp.o) to 340 in /usr/lib/gcc-lib/sparc-unknown-linux-gnu/3.2.3/../../../libc.a(ssp.o) collect2: ld returned 1 exit status make[2]: *** [e2fsck.static] Error 1 make[2]: Leaving directory `/var/tmp/portage/e2fsprogs-1.34/work/e2fsprogs-1.34/e2fsck' make[1]: *** [all-progs-recursive] Error 1 make[1]: Leaving directory `/var/tmp/portage/e2fsprogs-1.34/work/e2fsprogs-1.34'make: *** [all] Error 2 !!! ERROR: sys-fs/e2fsprogs-1.34 failed. !!! Function src_compile, Line 50, Exitcode 2 !!! (no error message) Thanks! I'll try anything suggested - there's nothing important on the box yet. I imagine I could just disable propolice, but that would defeat a large part of my purpose in running Gentoo in the first place. Reproducible: Always Steps to Reproduce: 1. CFLAGS += "-fstack-protector" 2. bootstrap.sh 3. emerge system Actual Results: Failed to compile e2fsck.static from e2fsprogs-1.34 Expected Results: Compile e2fsck.static without errors # emerge info Portage 2.0.49-r21 (default-sparc64-1.4, gcc-3.2.3, glibc-2.3.2-r1,2.3.2-r3, 2.4.22-rc2-iso-up) ================================================================= System uname: 2.4.22-rc2-iso-up sparc64 sun4u Gentoo Base System version 1.4.3.10 ACCEPT_KEYWORDS="sparc" AUTOCLEAN="yes" CFLAGS="-fstack-protector -mcpu=ultrasparc -O3 -pipe" CHOST="sparc-unknown-linux-gnu" COMPILER="gcc3" CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3/share/config /usr/share/config /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/env.d" CXXFLAGS="-fstack-protector -mcpu=ultrasparc -O3 -pipe" DISTDIR="/usr/portage/distfiles" FEATURES="ccache sandbox" GENTOO_MIRRORS="http://gentoo.oregonstate.edu http://www.ibiblio.org/pub/Linux/distributions/gentoo" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="sparc acl adns apache2 berkdb crypt cups curl encode ethereal fastcgi fbcon foomaticdb gd gdbm gif imagemagick imap imlib innodb ipv6 jpeg kerberos ldap libwww mad maildir mbox ncurses nls odbc oggvorbis oss pam pdflib perl png postgres ppds python readline sasl slang snmp speex spell ssl tcpd tiff truetype unicode xml2 zlib"
propolice-3.3-7 should fix this.
Although I'm very comfortable with Linux in general, I'm a Gentoo newbie, so be warned, I may ask stupid questions. The propolice patch just applies to gcc and any given propolice patch will be tied to a specific version of gcc, right? So it sounds like if I want to use propolice I will need to either 1) upgrade to a newer version of gcc or 2) backport the latest propolice to the current gentoo-sparc-approved gcc (if that's even possible). So, recommendations? Should I wait for a new ebuild to come out, forget propolice for a while, what? Thanks!
Same here on my Ultra 5 during stage2 (sparc64-20040210) when trying to compile sys-fs/e2fsprogs-1.34-r1. Portage 2.0.50-r1 (default-sparc64-2004.0, gcc-3.2.3, glibc-2.3.3_pre20040207-r0, 2.4.22-rc2-iso-up) ================================================================= System uname: 2.4.22-rc2-iso-up sparc64 sun4u Gentoo Base System version 1.4.3.13 Autoconf: sys-devel/autoconf-2.59-r3 Automake: sys-devel/automake-1.8.2 ACCEPT_KEYWORDS="sparc ~sparc" AUTOCLEAN="yes" CFLAGS="-mcpu=ultrasparc -O3 -pipe -fomit-frame-pointer -fstack-protector" CHOST="sparc-unknown-linux-gnu" COMPILER="gcc3" CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3/share/config /usr/share/config /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/env.d" CXXFLAGS="-mcpu=ultrasparc -O3 -pipe -fomit-frame-pointer -fstack-protector" DISTDIR="/usr/portage/distfiles" FEATURES="ccache sandbox" GENTOO_MIRRORS="http://gentoo.oregonstate.edu http://www.ibiblio.org/pub/Linux/distributions/gentoo" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="arts avi berkdb crypt cups encode esd fbcon foomaticdb gdbm gif imlib jpeg kde libwww mad mikmod motif mpeg ncurses nls oggvorbis opengl oss pam pdflib perl png python qt readline sdl slang sparc spell ssl tcpd truetype xml2 xmms xv zlib" (I now just compiled e2fsprogs without stack-protector. :-/)
gcc-3.3.x is now available on regular sparc profiles for users running ~sparc. try emerging this and let us know how it works for you.
Resolving this as fixed as gcc-3.3.3 is now stable on sparc and I've successfully built out a system from stage 1 using -fstack-protector. If for some reason this continues to plague you, feel free to re-open.