smaeul / portage-overlay

Extra ebuilds for Gentoo systems, mostly packages fixed to work with musl
18 stars 2 forks source link

dev-lang/rust fails in pkg_setup with No LLVM slot <= 4 found installed! #5

Closed stefson closed 7 years ago

stefson commented 7 years ago

Does your rust ebuild depend on llvm installed with -system-llvm? I didn't run into this on my main system because it has llvm installed anyway, but as I created a clean chroot the emerge throws out an error:

Calculating dependencies... done! [ebuild R ~] dev-lang/rust-1.20.0:stable/1.20::smaeul USE="-debug -doc -jemalloc -system-llvm" 0 KiB

 * rustc-1.20.0-src.tar.gz SHA256 SHA512 WHIRLPOOL size ;-) ...                    [ ok ]
 * rust-1.19.0-x86_64-unknown-linux-musl.tar.xz SHA256 SHA512 WHIRLPOOL size ;-) ... [ ok ]
 * ERROR: dev-lang/rust-1.20.0::smaeul failed (setup phase):
 *   No LLVM slot <= 4 found installed!
 * 
 * Call stack:
 *            ebuild.sh, line 115:  Called pkg_setup
 *   rust-1.20.0.ebuild, line  89:  Called llvm_pkg_setup
 *          llvm.eclass, line 162:  Called get_llvm_prefix '4'
 *          llvm.eclass, line 141:  Called die
 * The specific snippet of code:
 *      die "No LLVM slot${1:+ <= ${1}} found installed!"
 * 
 * If you need support, post the output of `emerge --info '=dev-lang/rust-1.20.0::smaeul'`,
 * the complete build log and the output of `emerge -pqv '=dev-lang/rust-1.20.0::smaeul'`.
 * The complete build log is located at '/var/tmp/portage/dev-lang/rust-1.20.0/temp/build.log'.
 * The ebuild environment file is located at '/var/tmp/portage/dev-lang/rust-1.20.0/temp/environment'.
 * Working directory: '/var/tmp/portage/dev-lang/rust-1.20.0/homedir'
 * S: '/var/tmp/portage/dev-lang/rust-1.20.0/work/rustc-1.20.0-src'

So I installed llvm (and GCC 6) via emerge and got rust-1.20.0 up and working on amd64 :) If you need llvm for dev-lang/rust please consider to add it to the dependencies of the ebuild so that it will get pulled in.