Hi all! I've just installed a SUN Enterprise 250 with 2x400Mhz UltraIIi cpus, 512mb ram, 2x18G HDD on linux SW RAID from 2006.0 livecd. When trying to update the system, at reemerging glibc fails with: CPP='sparc-unknown-linux-gnu-gcc -E -x c-header' /var/tmp/portage/glibc-2.3.6-r4/work/build-sparc32-sparc-unknown-linux-gnu -nptl/elf/ld-linux.so.2 --library-path /var/tmp/portage/glibc-2.3.6-r4/work/build-sparc32-sparc-unknown-linux-gnu-nptl:/var/ tmp/portage/glibc-2.3.6-r4/work/build-sparc32-sparc-unknown-linux-gnu-nptl/math:/var/tmp/portage/glibc-2.3.6-r4/work/build-s parc32-sparc-unknown-linux-gnu-nptl/elf:/var/tmp/portage/glibc-2.3.6-r4/work/build-sparc32-sparc-unknown-linux-gnu-nptl/dlfc n:/var/tmp/portage/glibc-2.3.6-r4/work/build-sparc32-sparc-unknown-linux-gnu-nptl/nss:/var/tmp/portage/glibc-2.3.6-r4/work/b uild-sparc32-sparc-unknown-linux-gnu-nptl/nis:/var/tmp/portage/glibc-2.3.6-r4/work/build-sparc32-sparc-unknown-linux-gnu-npt l/rt:/var/tmp/portage/glibc-2.3.6-r4/work/build-sparc32-sparc-unknown-linux-gnu-nptl/resolv:/var/tmp/portage/glibc-2.3.6-r4/ work/build-sparc32-sparc-unknown-linux-gnu-nptl/crypt:/var/tmp/portage/glibc-2.3.6-r4/work/build-sparc32-sparc-unknown-linux -gnu-nptl/nptl /var/tmp/portage/glibc-2.3.6-r4/work/build-sparc32-sparc-unknown-linux-gnu-nptl/sunrpc/rpcgen -Y ../scripts - h rpcsvc/bootparam_prot.x -o /var/tmp/portage/glibc-2.3.6-r4/work/build-sparc32-sparc-unknown-linux-gnu-nptl/sunrpc/rpcsvc/b ootparam_prot.T make[2]: *** [/var/tmp/portage/glibc-2.3.6-r4/work/build-sparc32-sparc-unknown-linux-gnu-nptl/sunrpc/rpcsvc/bootparam_prot.s tmp] Segmentation fault (core dumped) make[2]: *** Waiting for unfinished jobs.... make[2]: *** [/var/tmp/portage/glibc-2.3.6-r4/work/build-sparc32-sparc-unknown-linux-gnu-nptl/sunrpc/xbootparam_prot.stmp] S egmentation fault (core dumped) make[2]: Leaving directory `/var/tmp/portage/glibc-2.3.6-r4/work/glibc-2.3.6/sunrpc' make[1]: *** [sunrpc/others] Error 2 make[1]: Leaving directory `/var/tmp/portage/glibc-2.3.6-r4/work/glibc-2.3.6' make: *** [all] Error 2 !!! ERROR: sys-libs/glibc-2.3.6-r4 failed. Call stack: ebuild.sh, line 1539: Called dyn_compile ebuild.sh, line 939: Called src_compile glibc-2.3.6-r4.ebuild, line 1128: Called toolchain-glibc_src_compile glibc-2.3.6-r4.ebuild, line 224: Called die !!! make for sparc32 failed !!! If you need support, post the topmost build error, and the call stack if relevant. ------------ I'd like to attach the core file. How can I do that? It has interesting strings inside. I've played around with the make.conf CFLAGS and USE flags and tried 15 times tom compile, but still no success. Google and bugzilla haven't helped, either. Other softwares compile well. emerge --info ------------- Portage 2.1-r2 (default-linux/sparc/sparc64/2006.0, gcc-3.4.6, glibc-2.3.5-r3, 2.6.14-hardened-r7 sparc64) ================================================================= System uname: 2.6.14-hardened-r7 sparc64 sun4u Gentoo Base System version 1.12.4 ccache version 2.3 [enabled] app-admin/eselect-compiler: [Not Present] dev-lang/python: 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-r6 ACCEPT_KEYWORDS="sparc" AUTOCLEAN="yes" CBUILD="sparc-unknown-linux-gnu" CFLAGS="-O2 -mcpu=ultrasparc -pipe -fomit-frame-pointer " CHOST="sparc-unknown-linux-gnu" CONFIG_PROTECT="/etc" CONFIG_PROTECT_MASK="/etc/env.d /etc/gconf /etc/revdep-rebuild /etc/terminfo" CXXFLAGS="-O2 -mcpu=ultrasparc -pipe -fomit-frame-pointer " DISTDIR="/usr/portage/distfiles" FEATURES="autoaddcvs autoconfig ccache distlocks metadata-transfer parallel-fetch sandbox sfperms strict userfetch" GENTOO_MIRRORS="ftp://gentoo.inf.elte.hu/ ftp://ftp.nyx.hu/gentoo " LANG="hu_HU" LC_ALL="hu_HU" LINGUAS="hu" MAKEOPTS="-j3" PKGDIR="/usr/portage/packages" 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" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="sparc acl apache2 arts avi bash-completion berkdb bitmap-fonts bzip2 caps clamav cli crypt dba dlloader dri eds encode erandom esd fbcon foomaticdb fortran ftp gcc64 gd gdbm gif glibc-omitfp gnutls gstreamer hardened hardenedphp idn imlib isdnlog jpeg libwww logrotate lzo mad maildir mbox mikmod mime motif mpeg mpm-worker mysql ncurses network nls nptl nptlonly ogg opengl oss pam pcre pdflib perl php pic pie png posix postfix pppd python radius readline reflection samba session snmp spl ssl ssp sysvipc threads truetype-fonts type1-fonts udev urandom userlocales verbose vorbis xinetd xml xorg zip zlib elibc_glibc input_devices_keyboard input_devices_mouse input_devices_evdev kernel_linux linguas_hu userland_GNU" Unset: CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LDFLAGS, PORTAGE_RSYNC_EXTRA_OPTS, PORTDIR_OVERLAY --------- USE flags current: USE="gnutls -linuxthreads-tls glibc-omitfp erandom mpm-worker -sdl zip -sharedmem -rpc urandom -truetype multilib clamav mysql pcre postfix apache2 ftp hardenedphp idn crypt ssp pic pie hardened logrotate nls pam ssl zlib network lzo samba userlocales nptl nptlonly acl bash-completion bzip2 snmp -slp -debug -ipv6 -X -gtk -gtk2 -gnome -kde -qt -games -java -xv -xmms -xosd -xprint xinetd -wifi -cups -usb verbose -v4l -unicode -tk threads -tetex -tcltk sysvipc -tcpd -spell -sasl radius -qt4 -qt3 python posix php perl -nis mime maildir mbox -ldap -krb4 -kerberos -java caps -bonobo "
Created attachment 94399 [details] core file of rpcgen I've just found how to add an attachment :). With strings you'll learn strange error msgs.
Well, your gcc segfaults. Can you reproduce it, i.e. - does it fail again at *exactly* the same spot?
Other info: # cat /proc/sys/kernel/version #3 SMP Mon Aug 14 22:21:32 CEST 2006 # uname -a Linux napvirag.net.somedomain 2.6.14-hardened-r7 #3 SMP Mon Aug 14 22:21:32 CEST 2006 sparc64 sun4u GNU/Linux Is it ok, that the proc version file does NOT show the full version info?
Yes, I've tried 15 times, all took 45 mins. It dies exactly at the same point! With the same segfault! Thank you for the fast reaction :)
Do you need the kernel config? Does it matter? I think it's a glibc bug. Google showed some similar results with x86, but the solution for THEM was using kernel 2.6 instead of 2.4 and using autoconf 2.59 instead of 2.1x. Also somebody was telling that --with-tls and --with-__thread conflicts. But all above might be a misunderstanding on my side.
You need to reopen the bug after you've provided the requested info.
This is hardened-land, which isn't quite supported by the sparc team itself. Best chance is to try building gcc with USE=boundschecking, last time i checked it was REQUIRED for hardened to even approach a working state.
I've recompiled gcc and gcc-sparc64 with boundchecking USE flag, but it fails with the same error. The only difference is that instead of 45 minutes, it took 105 mins, but I've also clear ccache's cache before compilation, so that may have been the cause. I'll try to do everything without hardened, ssp, pic and pic. And give more feedback. Anyway, this system is aimed to be a hardened one, as the same setup works fine on intel, and on the server, security is critical. .././scripts/mkinstalldirs /var/tmp/portage/glibc-2.3.6-r4/work/build-sparc32-sparc-unknown-linux-gnu-nptl/sunrpc/rpcsvc CPP='sparc-unknown-linux-gnu-gcc -E -x c-header' /var/tmp/portage/glibc-2.3.6-r4/work/build-sparc32-sparc-unknown-linux-gnu-nptl/elf/ld-linux.so.2 --library-path /var/tmp/portage/glibc-2.3.6-r4/work/build-sparc32-sparc-unknown-linux-gnu-nptl:/var/tmp/portage/glibc-2.3.6-r4/work/build-sparc32-sparc-unknown-linux-gnu-nptl/math:/var/tmp/portage/glibc-2.3.6-r4/work/build-sparc32-sparc-unknown-linux-gnu-nptl/elf:/var/tmp/portage/glibc-2.3.6-r4/work/build-sparc32-sparc-unknown-linux-gnu-nptl/dlfcn:/var/tmp/portage/glibc-2.3.6-r4/work/build-sparc32-sparc-unknown-linux-gnu-nptl/nss:/var/tmp/portage/glibc-2.3.6-r4/work/build-sparc32-sparc-unknown-linux-gnu-nptl/nis:/var/tmp/portage/glibc-2.3.6-r4/work/build-sparc32-sparc-unknown-linux-gnu-nptl/rt:/var/tmp/portage/glibc-2.3.6-r4/work/build-sparc32-sparc-unknown-linux-gnu-nptl/resolv:/var/tmp/portage/glibc-2.3.6-r4/work/build-sparc32-sparc-unknown-linux-gnu-nptl/crypt:/var/tmp/portage/glibc-2.3.6-r4/work/build-sparc32-sparc-unknown-linux-gnu-nptl/nptl /var/tmp/portage/glibc-2.3.6-r4/work/build-sparc32-sparc-unknown-linux-gnu-nptl/sunrpc/rpcgen -Y ../scripts -c rpcsvc/bootparam_prot.x -o /var/tmp/portage/glibc-2.3.6-r4/work/build-sparc32-sparc-unknown-linux-gnu-nptl/sunrpc/xbootparam_prot.T make[2]: *** [/var/tmp/portage/glibc-2.3.6-r4/work/build-sparc32-sparc-unknown-linux-gnu-nptl/sunrpc/xbootparam_prot.stmp] Segmentation fault (core dumped) make[2]: *** Waiting for unfinished jobs.... mkdir /var/tmp/portage/glibc-2.3.6-r4/work/build-sparc32-sparc-unknown-linux-gnu-nptl/sunrpc/rpcsvc CPP='sparc-unknown-linux-gnu-gcc -E -x c-header' /var/tmp/portage/glibc-2.3.6-r4/work/build-sparc32-sparc-unknown-linux-gnu-nptl/elf/ld-linux.so.2 --library-path /var/tmp/portage/glibc-2.3.6-r4/work/build-sparc32-sparc-unknown-linux-gnu-nptl:/var/tmp/portage/glibc-2.3.6-r4/work/build-sparc32-sparc-unknown-linux-gnu-nptl/math:/var/tmp/portage/glibc-2.3.6-r4/work/build-sparc32-sparc-unknown-linux-gnu-nptl/elf:/var/tmp/portage/glibc-2.3.6-r4/work/build-sparc32-sparc-unknown-linux-gnu-nptl/dlfcn:/var/tmp/portage/glibc-2.3.6-r4/work/build-sparc32-sparc-unknown-linux-gnu-nptl/nss:/var/tmp/portage/glibc-2.3.6-r4/work/build-sparc32-sparc-unknown-linux-gnu-nptl/nis:/var/tmp/portage/glibc-2.3.6-r4/work/build-sparc32-sparc-unknown-linux-gnu-nptl/rt:/var/tmp/portage/glibc-2.3.6-r4/work/build-sparc32-sparc-unknown-linux-gnu-nptl/resolv:/var/tmp/portage/glibc-2.3.6-r4/work/build-sparc32-sparc-unknown-linux-gnu-nptl/crypt:/var/tmp/portage/glibc-2.3.6-r4/work/build-sparc32-sparc-unknown-linux-gnu-nptl/nptl /var/tmp/portage/glibc-2.3.6-r4/work/build-sparc32-sparc-unknown-linux-gnu-nptl/sunrpc/rpcgen -Y ../scripts -h rpcsvc/bootparam_prot.x -o /var/tmp/portage/glibc-2.3.6-r4/work/build-sparc32-sparc-unknown-linux-gnu-nptl/sunrpc/rpcsvc/bootparam_prot.T make[2]: *** [/var/tmp/portage/glibc-2.3.6-r4/work/build-sparc32-sparc-unknown-linux-gnu-nptl/sunrpc/rpcsvc/bootparam_prot.stmp] Segmentation fault (core dumped) make[2]: Leaving directory `/var/tmp/portage/glibc-2.3.6-r4/work/glibc-2.3.6/sunrpc' make[1]: *** [sunrpc/others] Error 2 make[1]: Leaving directory `/var/tmp/portage/glibc-2.3.6-r4/work/glibc-2.3.6' make: *** [all] Error 2 !!! ERROR: sys-libs/glibc-2.3.6-r4 failed. Call stack: ebuild.sh, line 1539: Called dyn_compile ebuild.sh, line 939: Called src_compile glibc-2.3.6-r4.ebuild, line 1128: Called toolchain-glibc_src_compile glibc-2.3.6-r4.ebuild, line 224: Called die !!! make for sparc32 failed !!! If you need support, post the topmost build error, and the call stack if relevant.
I've recompiled gcc, gcc-sparc64, glibc with -hardened -pic -ssp -pie, and it has worked. (Took 206 mins) So it is a hardened problem. Can anyone fix this? What are the supported use flags on sparc? Where can I find docs about it? In the long term, I'd like to use all the hardened toolchain, if possible. Can anybody fix this thing? Thank you.
Masking hardened for sparc. No dev is taking care of this and until one arises we can't/won't do anything about it and this bug will sit here forever, sorry. Closing as LATER.
The bug has been referenced in the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=61173f37e9c83e8d78707674e2bd6a998966073b commit 61173f37e9c83e8d78707674e2bd6a998966073b Author: Sam James <sam@gentoo.org> AuthorDate: 2025-03-21 21:35:53 +0000 Commit: Sam James <sam@gentoo.org> CommitDate: 2025-03-21 21:42:55 +0000 profiles/arch/sparc: unmask USE=hardened Long obsolete. Bug: https://bugs.gentoo.org/78951 Bug: https://bugs.gentoo.org/144126 Signed-off-by: Sam James <sam@gentoo.org> profiles/arch/sparc/use.mask | 2 -- 1 file changed, 2 deletions(-)