This is happening on my sparc64 non multilib box I haven't tested elsewhere. Reproducible: Always Steps to Reproduce: 1. Get access to a sparc box 2. emerge any clang ebuild Actual Results: Calculating dependencies... done! emerge: there are no ebuilds to satisfy "~sys-devel/llvm-9999[clang(-),debug=,multitarget?,python?,static-analyzer,abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?]". (dependency required by "sys-devel/clang-9999-r100::gentoo" [ebuild]) Expected Results: clang should build on sparc it is even supposed to be self hosting on sparc64.
please paste the complete output of emerge -pv clang and emerge --info.
emerge --info Portage 2.2.18 (python 2.7.9-final-0, default/linux/sparc/13.0, gcc-5.1.0, glibc-2.19-r1, 4.0.0-gentoo sparc64) ================================================================= System uname: Linux-4.0.0-gentoo-sparc64-sun4v-with-gentoo-2.2 KiB Mem: 16495112 total, 15380776 free KiB Swap: 48184 total, 48184 free Timestamp of repository gentoo: Sat, 11 Jul 2015 07:30:01 +0000 sh bash 4.2_p53 ld GNU ld (Gentoo 2.24 p1.4) 2.24 app-shells/bash: 4.2_p53::gentoo dev-java/java-config: 2.2.0::gentoo dev-lang/perl: 5.20.2::gentoo dev-lang/python: 2.7.9-r1::gentoo, 3.2.5-r6::gentoo, 3.3.5-r1::gentoo, 3.4.1::gentoo dev-util/cmake: 3.1.0::gentoo dev-util/pkgconfig: 0.28-r2::gentoo sys-apps/baselayout: 2.2::gentoo sys-apps/openrc: 0.17::gentoo sys-apps/sandbox: 2.6-r1::gentoo sys-devel/autoconf: 2.13::gentoo, 2.69::gentoo sys-devel/automake: 1.11.6-r1::gentoo, 1.13.4::gentoo, 1.14.1::gentoo sys-devel/binutils: 2.24-r3::gentoo sys-devel/gcc: 4.7.3-r1::gentoo, 4.8.2::gentoo, 4.9.2::gentoo, 5.1.0::gentoo sys-devel/gcc-config: 1.7.3::gentoo sys-devel/libtool: 2.4.6::gentoo sys-devel/make: 4.1-r1::gentoo sys-kernel/linux-headers: 3.18::gentoo (virtual/os-headers) sys-libs/glibc: 2.19-r1::gentoo Repositories: gentoo location: /usr/portage sync-type: rsync sync-uri: rsync://rsync.gentoo.org/gentoo-portage priority: -1000 voyageur location: /var/lib/layman/voyageur masters: gentoo priority: 0 stuff location: /var/lib/layman/stuff masters: gentoo priority: 1 pentoo location: /var/lib/layman/pentoo masters: gentoo priority: 2 rust location: /var/lib/layman/rust masters: gentoo priority: 3 dotnet location: /var/lib/layman/dotnet masters: gentoo priority: 4 rebutia location: /var/lib/layman/rebutia masters: gentoo priority: 5 java location: /var/lib/layman/java masters: gentoo priority: 6 science location: /var/lib/layman/science masters: gentoo priority: 7 Chaseix location: /usr/local/portage masters: gentoo priority: 8 ACCEPT_KEYWORDS="sparc" ACCEPT_LICENSE="* -@EULA" CBUILD="sparc-unknown-linux-gnu" CFLAGS="-O2 -mcpu=niagara -pipe -ggdb -munaligned-doubles" CHOST="sparc-unknown-linux-gnu" CONFIG_PROTECT="/etc /usr/share/gnupg/qualified.txt" CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/php/apache2-php5.5/ext-active/ /etc/php/cgi-php5.5/ext-active/ /etc/php/cli-php5.5/ext-active/ /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo" CXXFLAGS="-O2 -mcpu=niagara -pipe -ggdb -munaligned-doubles" DISTDIR="/usr/portage/distfiles" FCFLAGS="" FEATURES="assume-digests binpkg-logs config-protect-if-modified distlocks ebuild-locks fixlafiles merge-sync news nostrip parallel-fetch preserve-libs protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync" FFLAGS="" GENTOO_MIRRORS="http://distfiles.gentoo.org" LANG="en_US.UTF-8" LC_ALL="en_US.UTF-8" LDFLAGS="-Wl,--as-needed -Wl,-O1 -Wl,--hash-style=gnu -Wl,--sort-common" MAKEOPTS="-j32" PKGDIR="/var/www/localhost/htdocs/gentoo/packages" 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" PORTAGE_TMPDIR="/var/tmp" USE="X acl apng berkdb bzip2 cli cracklib crypt cxx dri fortran gcc64 gdbm iconv ipv6 llvm-shared-libs lto modules native ncurses nls nptl openmp pcre readline session sparc ssl tcpd threads unicode zlib" 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="kexi words flow plan sheets stage tables krita karbon braindump author" CAMERAS="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 ublox ubx" INPUT_DEVICES="keyboard mouse evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php5-5" PYTHON_SINGLE_TARGET="python2_7" PYTHON_TARGETS="python2_7 python3_3" QEMU_SOFTMMU_TARGETS="sparc sparc64" RUBY_TARGETS="ruby19 ruby20" 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, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, USE_PYTHON
emerge -pv clang These are the packages that would be merged, in order: Calculating dependencies... done! emerge: there are no ebuilds to satisfy "~sys-devel/llvm-9999[clang(-),debug=,multitarget?,python?,static-analyzer,abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?]". (dependency required by "sys-devel/clang-9999-r100::gentoo" [ebuild]) (dependency required by "clang" [argument])
I suppose you have both =sys-devel/clang-9999-r100 and =sys-devel/llvm-9999 in your package.unmask ? Also clang USE-flag is masked on sparc, did you also unmask it? Else I don't really have an idea right now, maybe the portage team will have one By the way, llvm is keyworded on sparc, but not clang. If it works fine now (on a release), it could be worth a keywording bug
I recommend to verify that the USE settings are sane, using a command like this: emerge -pv --nodeps llvm clang
(In reply to Zac Medico from comment #5) > I recommend to verify that the USE settings are sane, using a command like > this: > > emerge -pv --nodeps llvm clang LLVM is already installed with USE="debug doc gold libffi multitarget ncurses static-analyzer ". VIDEO_CARDS="radeon" also as I was experimenting with building mesa on here. I should have mentioned that before. leafblower ~ # emerge -pv --nodeps llvm clang These are the packages that would be merged, in order: [ebuild R *] sys-devel/llvm-9999:0/9999::gentoo USE="debug doc gold libffi multitarget ncurses static-analyzer (-clang) (-libedit) -lldb -ocaml -python {-test} -xml" PYTHON_TARGETS="python2_7 (-pypy)" VIDEO_CARDS="radeon" 0 KiB [ebuild N *] sys-devel/clang-9999-r100:0/9999::gentoo USE="static-analyzer -debug -multitarget -python" 0 KiB Total: 2 packages (1 new, 1 reinstall), Size of downloads: 0 KiB
(In reply to Chase Rayfield from comment #6) > [ebuild R *] sys-devel/llvm-9999:0/9999::gentoo USE="debug doc gold > libffi multitarget ncurses static-analyzer (-clang) (-libedit) -lldb -ocaml > -python {-test} -xml" PYTHON_TARGETS="python2_7 (-pypy)" > VIDEO_CARDS="radeon" 0 KiB This shows that the clang flag is masked, and the message in comment #0 shows that it is needed. You can unmask it like this: mkdir -p /etc/portage/profile echo -clang >> /etc/portage/profile/use.mask
Also, you shouldn't use USE=debug. It means a lot of trouble.
I removed the debug flag earier... and it currently fails during attempting to build llvm-9999 when applying the clang-0001-Install-clang-runtime-into-usr-lib-without-suffix.patch So I am attempting with a release version of llvm.
For some reason LLVM 3.6.2 crashes during the emerge... so I just did: ebuild llvm-3.6.2.ebuild merge then I emerged clang 3.6.2-r100 and put this in /etc/portage/env/clang CC="clang -target sparc-unknown-linux-gnu" CXX="clang++ -target sparc-unknown-linux-gnu" CFLAGS="-O2 -pipe" CXXFLAGS="${CFLAGS}" then setup an htop to build with clang in packages.env and it just works mostly I had to override the CFLAGS because it barfs on -cpu=niagra and also I believe it needs to have the target passed to it. Other than spewing a bunch of warnings about ignoring soft float it builds htop just fine. When attemting to rebuild llvm with clang I get: checking whether Clang will select a modern C++ standard library... no configure: error: We detected a missing feature in the standard C++ library that was known to be missing in libstdc++4.6 and implemented in libstdc++4.7. There are numerous C++11 problems with 4.6's library, and we don't support GCCs or libstdc++ older than 4.7. You will need to update your system and ensure Clang uses the newer standard library. Does that mean I need to emerge @system or @world with a newer compiler Than gcc 4.6? I did build clang itself with gcc 5.2. ldd `which clang` libLLVM-3.6.so => /usr/bin/../lib/libLLVM-3.6.so (0xf5c78000) libpthread.so.0 => /lib/libpthread.so.0 (0xf5c34000) libstdc++.so.6 => /usr/lib/gcc/sparc-unknown-linux-gnu/5.2.0/libstdc++.so.6 (0xf5aa8000) libgcc_s.so.1 => /usr/lib/gcc/sparc-unknown-linux-gnu/5.2.0/libgcc_s.so.1 (0xf5a84000) libc.so.6 => /lib/libc.so.6 (0xf5904000) libz.so.1 => /lib/libz.so.1 (0xf58dc000) libffi.so.6 => /usr/bin/../lib/libffi.so.6 (0xf58c0000) libncurses.so.5 => /lib/libncurses.so.5 (0xf5864000) libdl.so.2 => /lib/libdl.so.2 (0xf5850000) libm.so.6 => /lib/libm.so.6 (0xf576c000) /lib/ld-linux.so.2 (0xf7a94000)
This one's really old. Please retry with 7.0.1, and open a new bug if it still doesn't work. However, please note that I don't have any sparc hardware, so you'll probably need to figure it out yourself and provide a patch.