It seems perl-5.8.2-r1 cannot be emerged sucessfully on sparc32. This was tested on a Sparc 10 with dual 50 Mhz SuperSparcs... Reproducible: Always Steps to Reproduce: 1. emerge sync 2. emerge --update perl Actual Results: <some lines removed> ks_03_t.c:16483: stray '\31' in program ks_03_t.c:16483: syntax error at '@' token ks_03_t.c:16483:4167: warning: null character(s) ignored ks_03_t.c:16483: stray '\5' in program ks_03_t.c:16483:4177: warning: null character(s) ignored ks_03_t.c:16483: stray '\27' in program ks_03_t.c:16483: stray '\203' in program ks_03_t.c:16483: stray '\200' in program ks_03_t.c:16483: stray '\31' in program ks_03_t.c:16483: syntax error at '@' token ks_03_t.c:16483:4191: warning: null character(s) ignored ks_03_t.c:16483: stray '\10' in program ks_03_t.c:16483:4201: warning: null character(s) ignored ks_03_t.c:16483: confused by earlier errors, bailing out {standard input}: Assembler messages: {standard input}:78338: Error: symbol `P' is already defined {standard input}:78344: Error: symbol `P' is already defined make[2]: *** [ks_03_t.o] Error 1 make[2]: Leaving directory `/var/tmp/portage/perl-5.8.2-r1/work/perl-5.8.2/ext/Encode/KR' make[1]: *** [subdirs] Error 2 make[1]: Leaving directory `/var/tmp/portage/perl-5.8.2-r1/work/perl-5.8.2/ext/Encode' make: *** [lib/auto/Encode/Encode.so] Error 2 !!! ERROR: dev-lang/perl-5.8.2-r1 failed. !!! Function src_compile, Line 190, Exitcode 2 !!! Unable to make Expected Results: Emerged Perl sucessfully... Portage 2.0.50-r1 (default-sparc-1.4, gcc-3.2.3, glibc-2.3.2-r3, 2.4.24-sparc) ================================================================= System uname: 2.4.24-sparc sparc sun4m Gentoo Base System version 1.4.3.10 Autoconf: sys-devel/autoconf-2.58 Automake: sys-devel/automake-1.7.7 ACCEPT_KEYWORDS="sparc" AUTOCLEAN="yes" CFLAGS="-mcpu=supersparc -mtune=supersparc -O3 -fomit-frame-pointer -pipe" CHOST="sparc-unknown-linux-gnu" COMPILER="gcc3" CONFIG_PROTECT="/etc /usr/X11R6/lib/X11/xkb /usr/kde/2/share/config /usr/kde/3.1/share/config /usr/kde/3/share/config /usr/share/config /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/env.d" CXXFLAGS="-mcpu=supersparc -mtune=supersparc -O3 -fomit-frame-pointer -pipe" DISTDIR="/usr/portage/distfiles" FEATURES="ccache" GENTOO_MIRRORS="http://gentoo.oregonstate.edu http://www.ibiblio.org/pub/Linux/distributions/gentoo" MAKEOPTS="-j3" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="X arts berkdb crypt cups fbcon foomaticdb gdbm gnome gtk gtk2 imlib jpeg kde libwww mad mikmod motif mpeg ncurses nls opengl pam perl png python qt readline slang sparc spell ssl tcpd truetype xv zlib"
This is looking suspiciously familiar... Does the error still occur if you boot with a UP kernel?
The previous release of Perl (5.8.0-R12) compiled without a hitch (I believe).. I will need to make a UP kernel to test your request. The Duals I have in the box are exactly matched (even to the rev) Do you think its "Strip -R .note -R .comment vmlinux"? I did not want too many modules for Sparc32, for speed concerns since it will be a dhcpd/router/NAT, etc...
I suggest a UP kernel because I had a very similar error on perl (I forget the version, whatever was ~sparc about two weeks ago...) which went away when I dropped down to one CPU. The box in question was an ss20 with dual 65MHz supersparcs running 2.4.x-sparc. The strip stuff should be fine, I'd be very surprised if that's to blame.
I've seen issues like this before and they seem to be increasing in frequency, so I'll make a stronger statement this time. sparc32 2.4 is extremely buggy, to the point it's basically unusable. That's for UP; SMP is worse still. Please don't use it unless you really enjoy these kinds of problems. That said, I realize no good alternatives exist for SMP right now; if you really have to have SMP, please give 2.2 a look (requires rebuilding your system, be careful) or help me with 2.6 by sending kernel patches. Otherwise please test 2.6 by emerging sparc-dev-sources and building a UP kernel. Usable 2.6 SMP is perhaps a few weeks off at this point. I do not intend fixing 2.4 except to the extent that's needed to ensure it compiles. If you want to, send patches and I'll consider them.
Also, modules have no measurable effect on speed. Once loaded, there is no difference. If the module load time concerns you, use modules.autoload so that all modules are loaded at boot time. Performance is not an excuse for not using modules.
I will try a UP 2.6 kernel and then perform a sync, and --update world. Did you look at the compiler flags I used, "mtune=supersparc -fomit-frame-pointer"? I had read the frame pointer omission does increase performance; but maybe at this - or similiar - cost?
Your flags should be ok, although -O2 is probably safer (and for that matter faster). -fomit-frame-pointer does pretty much zilch on sparc, it's only an issue on those overclocked washing machine controllers with the anemic register set :)
perl-5.8.2-r1 built for me on an ss20 with dual SM71s using sparc-sources-2.4.23. May try again under 2.4.24 to see if it breaks.
I switched to "~sparc" for developer builds and reduced the optimization to -O2. Interestingly, Perl 5.8.3 built fine on kernel 2.4.24. I am getting some of the packages updates so I can transition to Kernel 2.6.x.. which of couse it taking this Sparc 10 .. a long long time :).. Any other ideas?
Perl gurus got an idea on this? I vaguely recall something like this on one of my machines months ago, I think it was one of my mips machines, but I can't recall.
If you can, please update to the latest portage (2.0.50-r3 or 2.0.50-r4) and see if this still happens? I was unable to replicate this any more once I had upgraded to these portage versions.
Updating to a later Portage, running UP only, and using -O2 optimization did correct the problem... Other emerges fail (coreutils), but that is a different bug :).. Thanks to all that helped.
Im still having problems building perl 5.8.2 on an SS10. Im using a uP kernel (2.4.22-rc2-iso-up) from the 1.4rc5 CD. My CFLAGS is "-mcpu=supersparc -O2 -pipe" and CHOST is "sparc-unknown-linux-gnu".