原先在英文環境下的記錄沒有了,在中文環境下重新Build了一次:
1) “_FORTIFY_SOURCE”重定義
<命令行>:0:0: 警告: “_FORTIFY_SOURCE”重定義 [默認啓用]
<built-in>:0:0: 附註: 這是先前定義的位置
解決方法:
將
build/core/combo/HOST_linux-x86.mk: 56行
HOST_GLOBAL_CFLAGS += -D_FORTIFY_SOURCE=0
更改爲:
HOST_GLOBAL_CFLAGS += -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=0
2)錯誤: variable ‘ParamName’ set but not used
frameworks/compile/slang/slang_rs_export_foreach.cpp: 在靜態成員函數‘static slang::RSExportForEach* slang::RSExportForEach::Create(slang::RSContext*, const clang::FunctionDecl*)’中:
frameworks/compile/slang/slang_rs_export_foreach.cpp:247:23: 錯誤: variable ‘ParamName’ set but not used [-Werror=unused-but-set-variable]
cc1plus: all warnings being treated as errors
解決方法:
將frameworks/compile/slang/slang_rs_export_foreach.cpp: 247行
llvm::StringRef ParamName = PVD->getName();
註解掉。
3)錯誤: reference ‘counts’ cannot be declared ‘mutable’
In file included from external/oprofile/libpp/arrange_profiles.cpp:24:0:
external/oprofile/libpp/format_output.h:94:22: 錯誤: reference ‘counts’ cannot be declared ‘mutable’ [-fpermissive]
make: *** [out/host/linux-x86/obj/STATIC_LIBRARIES/liboprofile_pp_intermediates/arrange_profiles.o] 錯誤 1
解決辦法:
將external/oprofile/libpp/format_output.h: 94行
mutable counts_t & counts;
改爲:
counts_t & counts;
4)undefined reference to `pthread_mutex_trylock' collect2
out/host/linux-x86/obj/STATIC_LIBRARIES/libLLVMSupport_intermediates/libLLVMSupport.a(Mutex.o): In function `llvm::sys::MutexImpl::tryacquire()':
/home/rzzhang/workspace/external/llvm/lib/Support/Mutex.cpp:143: undefined reference to `pthread_mutex_trylock'
collect2: ld 返回 1
make: *** [out/host/linux-x86/obj/EXECUTABLES/test-librsloader_intermediates/test-librsloader] 錯誤 1
解決方法:
在vim external/llvm/llvm-host-build.mk: 45行
LOCAL_IS_HOST_MODULE := true
後添加:
LOCAL_LDLIBS := -lpthread -ldl
5) ‘ptrdiff_t’不是一個類型名
host C++: libgtest_host <= external/gtest/src/gtest-all.cc
In file included from external/gtest/src/../include/gtest/gtest-param-test.h:157:0,
from external/gtest/src/../include/gtest/gtest.h:69,
from external/gtest/src/../src/gtest.cc:34,
from external/gtest/src/gtest-all.cc:36:
external/gtest/src/../include/gtest/internal/gtest-param-util.h:122:11: 錯誤: ‘ptrdiff_t’不是一個類型名
In file included from external/gtest/src/gtest-all.cc:38:0:
external/gtest/src/../src/gtest-filepath.cc: 在成員函數‘bool testing::internal::FilePath::FileOrDirectoryExists() const’中:
external/gtest/src/../src/gtest-filepath.cc:180:28: 警告: 成員‘stat::st_dev’缺少初始值設定 [-Wmissing-field-initializers]
external/gtest/src/../src/gtest-filepath.cc:180:28: 警告: 成員‘stat::__pad1’缺少初始值設定 [-Wmissing-field-initializers]
external/gtest/src/../src/gtest-filepath.cc:180:28: 警告: 成員‘stat::__st_ino’缺少初始值設定 [-Wmissing-field-initializers]
external/gtest/src/../src/gtest-filepath.cc:180:28: 警告: 成員‘stat::st_mode’缺少初始值設定 [-Wmissing-field-initializers]
external/gtest/src/../src/gtest-filepath.cc:180:28: 警告: 成員‘stat::st_nlink’缺少初始值設定 [-Wmissing-field-initializers]
external/gtest/src/../src/gtest-filepath.cc:180:28: 警告: 成員‘stat::st_uid’缺少初始值設定 [-Wmissing-field-initializers]
external/gtest/src/../src/gtest-filepath.cc:180:28: 警告: 成員‘stat::st_gid’缺少初始值設定 [-Wmissing-field-initializers]
external/gtest/src/../src/gtest-filepath.cc:180:28: 警告: 成員‘stat::st_rdev’缺少初始值設定 [-Wmissing-field-initializers]
external/gtest/src/../src/gtest-filepath.cc:180:28: 警告: 成員‘stat::__pad2’缺少初始值設定 [-Wmissing-field-initializers]
external/gtest/src/../src/gtest-filepath.cc:180:28: 警告: 成員‘stat::st_size’缺少初始值設定 [-Wmissing-field-initializers]
external/gtest/src/../src/gtest-filepath.cc:180:28: 警告: 成員‘stat::st_blksize’缺少初始值設定 [-Wmissing-field-initializers]
external/gtest/src/../src/gtest-filepath.cc:180:28: 警告: 成員‘stat::st_blocks’缺少初始值設定 [-Wmissing-field-initializers]
external/gtest/src/../src/gtest-filepath.cc:180:28: 警告: 成員‘stat::st_atim’缺少初始值設定 [-Wmissing-field-initializers]
external/gtest/src/../src/gtest-filepath.cc:180:28: 警告: 成員‘stat::st_mtim’缺少初始值設定 [-Wmissing-field-initializers]
external/gtest/src/../src/gtest-filepath.cc:180:28: 警告: 成員‘stat::st_ctim’缺少初始值設定 [-Wmissing-field-initializers]
external/gtest/src/../src/gtest-filepath.cc:180:28: 警告: 成員‘stat::st_ino’缺少初始值設定 [-Wmissing-field-initializers]
In file included from external/gtest/src/gtest-all.cc:38:0:
external/gtest/src/../src/gtest-filepath.cc: 在成員函數‘bool testing::internal::FilePath::DirectoryExists() const’中:
external/gtest/src/../src/gtest-filepath.cc:208:28: 警告: 成員‘stat::st_dev’缺少初始值設定 [-Wmissing-field-initializers]
external/gtest/src/../src/gtest-filepath.cc:208:28: 警告: 成員‘stat::__pad1’缺少初始值設定 [-Wmissing-field-initializers]
external/gtest/src/../src/gtest-filepath.cc:208:28: 警告: 成員‘stat::__st_ino’缺少初始值設定 [-Wmissing-field-initializers]
external/gtest/src/../src/gtest-filepath.cc:208:28: 警告: 成員‘stat::st_mode’缺少初始值設定 [-Wmissing-field-initializers]
external/gtest/src/../src/gtest-filepath.cc:208:28: 警告: 成員‘stat::st_nlink’缺少初始值設定 [-Wmissing-field-initializers]
external/gtest/src/../src/gtest-filepath.cc:208:28: 警告: 成員‘stat::st_uid’缺少初始值設定 [-Wmissing-field-initializers]
external/gtest/src/../src/gtest-filepath.cc:208:28: 警告: 成員‘stat::st_gid’缺少初始值設定 [-Wmissing-field-initializers]
external/gtest/src/../src/gtest-filepath.cc:208:28: 警告: 成員‘stat::st_rdev’缺少初始值設定 [-Wmissing-field-initializers]
external/gtest/src/../src/gtest-filepath.cc:208:28: 警告: 成員‘stat::__pad2’缺少初始值設定 [-Wmissing-field-initializers]
external/gtest/src/../src/gtest-filepath.cc:208:28: 警告: 成員‘stat::st_size’缺少初始值設定 [-Wmissing-field-initializers]
external/gtest/src/../src/gtest-filepath.cc:208:28: 警告: 成員‘stat::st_blksize’缺少初始值設定 [-Wmissing-field-initializers]
external/gtest/src/../src/gtest-filepath.cc:208:28: 警告: 成員‘stat::st_blocks’缺少初始值設定 [-Wmissing-field-initializers]
external/gtest/src/../src/gtest-filepath.cc:208:28: 警告: 成員‘stat::st_atim’缺少初始值設定 [-Wmissing-field-initializers]
external/gtest/src/../src/gtest-filepath.cc:208:28: 警告: 成員‘stat::st_mtim’缺少初始值設定 [-Wmissing-field-initializers]
external/gtest/src/../src/gtest-filepath.cc:208:28: 警告: 成員‘stat::st_ctim’缺少初始值設定 [-Wmissing-field-initializers]
external/gtest/src/../src/gtest-filepath.cc:208:28: 警告: 成員‘stat::st_ino’缺少初始值設定 [-Wmissing-field-initializers]
make: *** [out/host/linux-x86/obj/STATIC_LIBRARIES/libgtest_host_intermediates/gtest-all.o] 錯誤 1
解決方法:
在external/gtest/include/gtest/internal/gtest-param-util.h開頭
添加:
#include <cstddef>
host StaticLib: libGLcommon (out/host/linux-x86/obj/STATIC_LIBRARIES/libGLcommon
_intermediates/libGLcommon.a)
host SharedLib: libGLES_CM_translator (out/host/linux-x86/obj/lib/libGLES_CM_tra
nslator.so)
/usr/bin/ld: cannot find -lGL
collect2: ld returned 1 exit status
make: *** [out/host/linux-x86/obj/lib/libGLES_CM_translator.so] Error 1
解決方法:
sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1.2 /usr/lib/libGL.so
說明:第六項在本次編譯中沒有遇到,但是在英文環境下曾經遇到過。