diff --git a/bootstrap_sdk b/bootstrap_sdk index f3fb419e12..631b057959 100755 --- a/bootstrap_sdk +++ b/bootstrap_sdk @@ -92,7 +92,11 @@ if [[ "$STAGES" =~ stage4 ]]; then libdir=$(get_sdk_libdir) mkdir -p "${ROOT_OVERLAY}/usr/${libdir}" if [[ "${libdir}" != lib ]]; then - ln -s "${libdir}" "${ROOT_OVERLAY}/usr/lib" + if [[ "$(get_sdk_symlink_lib)" == "yes" ]]; then + ln -s "${libdir}" "${ROOT_OVERLAY}/usr/lib" + else + mkdir -p "${ROOT_OVERLAY}/usr/lib" + fi fi "${BUILD_LIBRARY_DIR}/set_lsb_release" \ --root "${ROOT_OVERLAY}" diff --git a/build_library/toolchain_util.sh b/build_library/toolchain_util.sh index d48f1c4f6c..286735d2cc 100644 --- a/build_library/toolchain_util.sh +++ b/build_library/toolchain_util.sh @@ -167,6 +167,10 @@ get_sdk_libdir() { portageq envvar "LIBDIR_$(get_sdk_arch)" } +get_sdk_symlink_lib() { + portageq envvar "SYMLINK_LIB" +} + # Usage: get_sdk_binhost [version...] # If no versions are specified the current and SDK versions are used. get_sdk_binhost() { @@ -333,7 +337,7 @@ install_cross_toolchain() { $sudo emerge "${emerge_flags[@]}" \ "cross-${cross_chost}/gdb" "${cross_pkgs[@]}" if [ "${cross_chost}" = aarch64-cros-linux-gnu ] && \ - [ ! -d /usr/lib64/rust-*/rustlib/aarch64-unknown-linux-gnu ] && [ ! -d /usr/lib64/rustlib/aarch64-unknown-linux-gnu ]; then + [ ! -d /usr/lib/rust-*/rustlib/aarch64-unknown-linux-gnu ] && [ ! -d /usr/lib/rustlib/aarch64-unknown-linux-gnu ]; then # If no aarch64 folder exists, warn about the situation but don't compile Rust here or download it as binary package echo "WARNING: No aarch64 cross-compilation Rust libraries found!" echo "In case building fails, make sure the old Rust version is deleted with: sudo emerge -C virtual/rust dev-lang/rust"