源码编译之错误解决

源码编译之错误解决

  • 错误1:
    描述:
    ...
    error: unsupported reloc 42
    target thumb C++: libGLES_trace_32 <=
    clang: error: linker command failed with exit code 1 (use -v to see invocation)
    ...
    

解决1:修改 build/core/clang/HOST_x86_common.mk

CLANG_CONFIG_x86_LINUX_HOST_EXTRA_ASFLAGS := \
--gcc-toolchain=$($(clang_2nd_arch_prefix)HOST_TOOLCHAIN_FOR_CLANG) \
--sysroot=$($(clang_2nd_arch_prefix)HOST_TOOLCHAIN_FOR_CLANG)/sysroot \
  • -B$($(clang_2nd_arch_prefix)HOST_TOOLCHAIN_FOR_CLANG)/x86_64-linux/bin \
    -no-integrated-as

    CLANG_CONFIG_x86_LINUX_HOST_EXTRA_CFLAGS := \

解决2:修改 art/build/Android.common_build.mk

  # Host.
  ART_HOST_CLANG := false
  ifeq ($(WITHOUT_HOST_CLANG),false)
    # By default, host builds use clang for better warnings.
    ART_HOST_CLANG := true
  endif

执行命令,更改链接指向

  ln -sf /usr/bin/ld.gold prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.11-4.6/x86_64-linux/bin/ld

解决3:

cp /usr/bin/ld.gold prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.11-4.6/x86_64-linux/bin/ld
坚持原创技术分享,您的支持将鼓励我继续创作!