Attempting to emerge @world on a fresh install, the dev-lang/rust package fails during configuration as it invokes `rustc --version` which exits with Illegal operation. $ gdb -q ./rustc Reading symbols from ./rustc... (No debugging symbols found in ./rustc) (gdb) run Starting program: /tmp/foo/rust-1.68.2-sparc64-unknown-linux-gnu/rustc/bin/rustc Program received signal SIGILL, Illegal instruction. 0x000001000000085c in __sparc_get_pc_thunk.l7 () (gdb) backtrace #0 0x000001000000085c in __sparc_get_pc_thunk.l7 () Backtrace stopped: previous frame identical to this frame (corrupt stack?) I found other versions of rustc binary online for sparc64 which generated the same fault. I had to go back to 1.65 before i had a copy that would work. With that, I was able to build dev-lang/rust-1.66 and incrementally step up one minor version at a time using the resulting rustc binary. arrow@helium ~ $ emerge --info Portage 3.0.49 (python 3.11.4-final-0, default/linux/sparc/17.0/64ul, gcc-13, glibc-2.37-r3, 6.3.9-gentoo sparc64) ================================================================= System uname: Linux-6.3.9-gentoo-sparc64-sun4v-with-glibc2.37 KiB Mem: 8137512 total, 88208 free KiB Swap: 16771848 total, 16610568 free Timestamp of repository gentoo: Sun, 25 Jun 2023 00:45:01 +0000 Head commit of repository gentoo: 492707d027de8c62d7ff6d1d40a40cff80d635b6 sh bash 5.2_p15-r6 ld GNU ld (Gentoo 2.39 p6) 2.39.0 app-misc/pax-utils: 1.3.7::gentoo app-shells/bash: 5.2_p15-r6::gentoo dev-lang/perl: 5.36.1-r2::gentoo dev-lang/python: 3.11.4::gentoo, 3.12.0_beta3::gentoo dev-lang/rust: 1.68.2::gentoo dev-lang/rust-bin: 1.66.1-r1::gentoo dev-util/cmake: 3.26.4-r1::gentoo dev-util/meson: 1.1.1::gentoo sys-apps/baselayout: 2.13-r1::gentoo sys-apps/openrc: 0.47.1::gentoo sys-apps/sandbox: 2.32::gentoo sys-devel/autoconf: 2.71-r6::gentoo sys-devel/automake: 1.16.5-r1::gentoo sys-devel/binutils: 2.39-r5::gentoo, 2.40-r5::gentoo sys-devel/binutils-config: 5.5::gentoo sys-devel/gcc: 13.1.1_p20230527::gentoo sys-devel/gcc-config: 2.11::gentoo sys-devel/libtool: 2.4.7-r1::gentoo sys-devel/make: 4.4.1-r1::gentoo sys-kernel/linux-headers: 6.3::gentoo (virtual/os-headers) sys-libs/glibc: 2.37-r3::gentoo Repositories: gentoo location: /var/db/repos/gentoo sync-type: rsync sync-uri: rsync://rsync.gentoo.org/gentoo-portage priority: -1000 volatile: False sync-rsync-verify-jobs: 1 sync-rsync-verify-metamanifest: yes sync-rsync-extra-opts: sync-rsync-verify-max-age: 24 ACCEPT_KEYWORDS="sparc ~sparc" ACCEPT_LICENSE="@FREE @FREE @BINARY-REDISTRIBUTABLE linux-fw-redistributable" CBUILD="sparc64-unknown-linux-gnu" CFLAGS="-O2 -mcpu=ultrasparc -pipe" CHOST="sparc64-unknown-linux-gnu" CONFIG_PROTECT="/etc /usr/share/gnupg/qualified.txt" CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/dconf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo" CXXFLAGS="-O2 -mcpu=ultrasparc -pipe" DISTDIR="/var/cache/distfiles" ENV_UNSET="CARGO_HOME DBUS_SESSION_BUS_ADDRESS DISPLAY GDK_PIXBUF_MODULE_FILE GOBIN GOPATH PERL5LIB PERL5OPT PERLPREFIX PERL_CORE PERL_MB_OPT PERL_MM_OPT XAUTHORITY XDG_CACHE_HOME XDG_CONFIG_HOME XDG_DATA_HOME XDG_RUNTIME_DIR XDG_STATE_HOME" FCFLAGS="-O2 -mcpu=ultrasparc -pipe" FEATURES="assume-digests binpkg-docompress binpkg-dostrip binpkg-logs binpkg-multi-instance buildpkg-live config-protect-if-modified distlocks ebuild-locks fixlafiles ipc-sandbox merge-sync network-sandbox news parallel-fetch pid-sandbox preserve-libs protect-owned qa-unresolved-soname-deps sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync xattr" FFLAGS="-O2 -mcpu=ultrasparc -pipe" GENTOO_MIRRORS="[REDACTED due to URL posting limitation on new accounts]" LANG="en_US.utf8" LDFLAGS="-Wl,-O1 -Wl,--as-needed" LEX="flex" MAKEOPTS="-j28" PKGDIR="/var/cache/binpkgs" PORTAGE_CONFIGROOT="/" PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --omit-dir-times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages --exclude=/.git" PORTAGE_TMPDIR="/var/tmp" SHELL="/bin/bash" USE="X acl big-endian bzip2 cleartype cli corefonts crypt dbus dri egl elogind fortran gccgo gdbm gles gtk iconv ipv6 jpeg legacy-systray libtirpc llvm-libunwind ncurses nls nptl openmp oss pam pcre png policykit pulseaudio readline sparc split-usr ssl svsi test-rust truetype udisks unicode xattr xcb zlib" ADA_TARGET="gnat_2021" APACHE2_MODULES="authn_core authz_core socache_shmcb unixd 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="karbon sheets words" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock greis isync itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf skytraq superstar2 timing tsip tripmate tnt ublox ubx" INPUT_DEVICES="libinput" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" LUA_SINGLE_TARGET="lua5-1" LUA_TARGETS="lua5-1" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php8-1" POSTGRES_TARGETS="postgres12 postgres13" PYTHON_SINGLE_TARGET="python3_11" PYTHON_TARGETS="python3_11" RUBY_TARGETS="ruby31" VIDEO_CARDS="radeon" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq proto steal rawnat logmark ipmark dhcpmac delude chaos account" Unset: ADDR2LINE, AR, ARFLAGS, AS, ASFLAGS, CC, CCLD, CONFIG_SHELL, CPP, CPPFLAGS, CTARGET, CXX, CXXFILT, ELFEDIT, EMERGE_DEFAULT_OPTS, EXTRA_ECONF, F77FLAGS, FC, GCOV, GPROF, INSTALL_MASK, LC_ALL, LD, LFLAGS, LIBTOOL, LINGUAS, MAKE, MAKEFLAGS, NM, OBJCOPY, OBJDUMP, PORTAGE_BINHOST, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, RANLIB, READELF, RUSTFLAGS, SIZE, STRINGS, STRIP, YACC, YFLAGS
Out of interest, do the older ones build ok? I suspect gyakovlev used a diff. config than I normally do, maybe?
I was unable to get any of gyakolev's binaries to work. Your 1.65 and 1.66 builds worked fine. None of the ones I found >1.66 would work.
Thanks. I'll do a rebuild, but I can't promise to get to it tonight.
(In reply to Sam James from comment #3) > Thanks. I'll do a rebuild, but I can't promise to get to it tonight. I am not in any rush. As I mentioned, I received instruction from another user on Discord to incrementally build dev-lang/rust and I am currently waiting for 1.69.0-r1 to finish, so I do have a workaround. I just want to help make sure that if there is an issue with the binaries that might impact others attempting to bootstrap a sparc64 box that these issues are worked out.
The bug has been closed via the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e39916208e77195cccd3bb51915b48dd65c23b7d commit e39916208e77195cccd3bb51915b48dd65c23b7d Author: Sam James <sam@gentoo.org> AuthorDate: 2023-07-03 01:59:47 +0000 Commit: Sam James <sam@gentoo.org> CommitDate: 2023-07-03 01:59:47 +0000 dev-lang/rust-bin: regenerate 1.67.1 sparc binary Needs to be generic for -march=ultrasparc. Closes: https://bugs.gentoo.org/909455 Signed-off-by: Sam James <sam@gentoo.org> dev-lang/rust-bin/Manifest | 2 +- .../rust-bin/{rust-bin-1.70.0-r2.ebuild => rust-bin-1.70.0-r3.ebuild} | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) Additionally, it has been referenced in the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=30d5815f78c02bce8860e02789111801fefdbab4 commit 30d5815f78c02bce8860e02789111801fefdbab4 Author: Sam James <sam@gentoo.org> AuthorDate: 2023-07-03 01:56:03 +0000 Commit: Sam James <sam@gentoo.org> CommitDate: 2023-07-03 01:56:03 +0000 dev-lang/rust-bin: regenerate 1.67.1 sparc binary Needs to be generic for -march=ultrasparc. Bug: https://bugs.gentoo.org/909455 Signed-off-by: Sam James <sam@gentoo.org> dev-lang/rust-bin/Manifest | 1 + dev-lang/rust-bin/{rust-bin-1.69.0.ebuild => rust-bin-1.69.0-r1.ebuild} | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=35859efaa343c65f8f23fea42e320af29d68cc6b commit 35859efaa343c65f8f23fea42e320af29d68cc6b Author: Sam James <sam@gentoo.org> AuthorDate: 2023-07-03 01:51:52 +0000 Commit: Sam James <sam@gentoo.org> CommitDate: 2023-07-03 01:52:33 +0000 dev-lang/rust-bin: regenerate 1.68.2 sparc binary Needs to be generic for -march=ultrasparc. Bug: https://bugs.gentoo.org/909455 Signed-off-by: Sam James <sam@gentoo.org> dev-lang/rust-bin/Manifest | 2 +- .../rust-bin/{rust-bin-1.68.2-r1.ebuild => rust-bin-1.68.2-r2.ebuild} | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=4417bc340ac91d71c70c9e6ce13f3e0174e9be45 commit 4417bc340ac91d71c70c9e6ce13f3e0174e9be45 Author: Sam James <sam@gentoo.org> AuthorDate: 2023-07-03 01:49:48 +0000 Commit: Sam James <sam@gentoo.org> CommitDate: 2023-07-03 01:52:24 +0000 dev-lang/rust-bin: regenerate 1.67.1 sparc binary Needs to be generic for -march=ultrasparc. Bug: https://bugs.gentoo.org/909455 Signed-off-by: Sam James <sam@gentoo.org> dev-lang/rust-bin/Manifest | 2 +- .../rust-bin/{rust-bin-1.67.1-r2.ebuild => rust-bin-1.67.1-r3.ebuild} | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-)
The bug has been closed via the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ec2efa345794382e6f859a2be41ae4ea0d55cb5c commit ec2efa345794382e6f859a2be41ae4ea0d55cb5c Author: Sam James <sam@gentoo.org> AuthorDate: 2023-07-03 01:59:47 +0000 Commit: Sam James <sam@gentoo.org> CommitDate: 2023-07-03 02:01:53 +0000 dev-lang/rust-bin: regenerate 1.70.0 sparc binary Needs to be generic for -march=ultrasparc. Closes: https://bugs.gentoo.org/909455 Signed-off-by: Sam James <sam@gentoo.org> (cherry picked from commit e39916208e77195cccd3bb51915b48dd65c23b7d) dev-lang/rust-bin/Manifest | 2 +- .../rust-bin/{rust-bin-1.70.0-r2.ebuild => rust-bin-1.70.0-r3.ebuild} | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) Additionally, it has been referenced in the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=adc9c14b217b04536b3a5981cf56826ac7c062ae commit adc9c14b217b04536b3a5981cf56826ac7c062ae Author: Sam James <sam@gentoo.org> AuthorDate: 2023-07-03 01:56:03 +0000 Commit: Sam James <sam@gentoo.org> CommitDate: 2023-07-03 02:01:47 +0000 dev-lang/rust-bin: regenerate 1.69.0 sparc binary Needs to be generic for -march=ultrasparc. Bug: https://bugs.gentoo.org/909455 Signed-off-by: Sam James <sam@gentoo.org> (cherry picked from commit 30d5815f78c02bce8860e02789111801fefdbab4) dev-lang/rust-bin/Manifest | 1 + dev-lang/rust-bin/{rust-bin-1.69.0.ebuild => rust-bin-1.69.0-r1.ebuild} | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a025cf5d2f77703d410fcf636244cf1492103186 commit a025cf5d2f77703d410fcf636244cf1492103186 Author: Sam James <sam@gentoo.org> AuthorDate: 2023-07-03 02:01:01 +0000 Commit: Sam James <sam@gentoo.org> CommitDate: 2023-07-03 02:01:44 +0000 Revert "dev-lang/rust-bin: regenerate 1.67.1 sparc binary" This reverts commit 30d5815f78c02bce8860e02789111801fefdbab4. Fixing commit message... Bug: https://bugs.gentoo.org/909455 Signed-off-by: Sam James <sam@gentoo.org> dev-lang/rust-bin/Manifest | 1 - dev-lang/rust-bin/{rust-bin-1.69.0-r1.ebuild => rust-bin-1.69.0.ebuild} | 2 +- 2 files changed, 1 insertion(+), 2 deletions(-) https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=03d96d372a86624f4895bad3acde85cb7cf7c13e commit 03d96d372a86624f4895bad3acde85cb7cf7c13e Author: Sam James <sam@gentoo.org> AuthorDate: 2023-07-03 02:00:51 +0000 Commit: Sam James <sam@gentoo.org> CommitDate: 2023-07-03 02:01:26 +0000 Revert "dev-lang/rust-bin: regenerate 1.67.1 sparc binary" This reverts commit e39916208e77195cccd3bb51915b48dd65c23b7d. Fixing commit message... Bug: https://bugs.gentoo.org/909455 Signed-off-by: Sam James <sam@gentoo.org> dev-lang/rust-bin/Manifest | 2 +- .../rust-bin/{rust-bin-1.70.0-r3.ebuild => rust-bin-1.70.0-r2.ebuild} | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-)
Thanks for the report!
If I understand correctly, the updated binaries addressing this bug report are included in this tarball: https://dev.gentoo.org/~gyakovlev/distfiles/dev-lang/rust-bin/rust-1.70.0-sparc64-unknown-linux-gnu.tar.xz I encountered the same issue with the binaries just now as I tested them. arrow@helium /tmp/rust-1.70.0-sparc64-unknown-linux-gnu/rustc/bin $ gdb -q ./rustc Reading symbols from ./rustc... (No debugging symbols found in ./rustc) (gdb) run Starting program: /tmp/rust-1.70.0-sparc64-unknown-linux-gnu/rustc/bin/rustc Program received signal SIGILL, Illegal instruction. 0xffff800106a887dc in ?? () (gdb) backtrace #0 0xffff800106a887dc in ?? () Backtrace stopped: previous frame identical to this frame (corrupt stack?)
(In reply to Arrow Westervelt from comment #8) > If I understand correctly, the updated binaries addressing this bug report > are included in this tarball: > https://dev.gentoo.org/~gyakovlev/distfiles/dev-lang/rust-bin/rust-1.70.0- > sparc64-unknown-linux-gnu.tar.xz No, the fixed ones are in my devspace. And none of the ebuilds reference gyakovlev now: ~/g/dev-lang/rust-bin $ grep -rsin gyakovlev ~/g/dev-lang/rust-bin $