在ubuntu x86_64 GCC4.6上ics编译错误以及解决办法
2012-12-18 13:32
387 查看
问题1:
<command-line>:0:0:warning:"_FORTIFY_SOURCE" redefined [enabled by default]
<built-in>:0:0:note: this is the location of theprevious definition
hostExecutable:mksnapshot(out/host/linux-x86/obj/EXECUTABLES/mksnapshot_intermediates/mksnapshot)
true
Install:out/host/linux-x86/bin/mksnapshot
Install:out/host/linux-x86/bin/mkyaffs2image
host C++:obbtool <=frameworks/base/tools/obbtool/Main.cpp
<command-line>:0:0:error: "_FORTIFY_SOURCE"redefined [-Werror]
<built-in>:0:0:note: this is the location of theprevious definition
cc1plus:all warnings being treated as errors
make:***[out/host/linux-x86/obj/EXECUTABLES/obbtool_intermediates/Main.o] Error 1
icscompile fail!
解决办法:参考http://code.google.com/p/android/issues/detail?id=20795
修改build/core/combo/HOST_linux-x86.mk:
-HOST_GLOBAL_CFLAGS += -D_FORTIFY_SOURCE=0
+HOST_GLOBAL_CFLAGS += -U_FORTIFY_SOURCE-D_FORTIFY_SOURCE=0
问题2:
make[1]: Leavingdirectory`ics/device/hisilicon/godbox/driver/sdk/msp/android_driver/RT3090_LinuxSTA_V2.3.1.4_20100222'
之后就报错了。看不出什么原因。重新make试试;
->重新make居然就过去了。
问题3:
external/mesa3d/src/glsl/linker.cpp:1394:49: error:expectedprimary-expression before ',' token
external/mesa3d/src/glsl/linker.cpp:1394:50:error:'varyings' was not declared in this scope
external/mesa3d/src/glsl/linker.cpp:1394:58:error:'offsetof' was not declared in this scope
external/mesa3d/src/glsl/linker.cpp:1395:48: error:expectedprimary-expression before ',' token
external/mesa3d/src/glsl/linker.cpp:1412:47: error:expectedprimary-expression before ',' token
external/mesa3d/src/glsl/linker.cpp:1412:48:error:'position' was not declared in this scope
external/mesa3d/src/glsl/linker.cpp:1414:47: error:expectedprimary-expression before ',' token
external/mesa3d/src/glsl/linker.cpp:1414:48:error:'pointSize' was not declared in this scope
external/mesa3d/src/glsl/linker.cpp:1424:47: error:expectedprimary-expression before ',' token
external/mesa3d/src/glsl/linker.cpp:1424:48:error:'position' was not declared in this scope
external/mesa3d/src/glsl/linker.cpp:1428:47: error:expectedprimary-expression before ',' token
external/mesa3d/src/glsl/linker.cpp:1428:48:error:'frontFacingPointCoord' was not declared in this scope
external/mesa3d/src/glsl/linker.cpp:1431:47: error:expectedprimary-expression before ',' token
external/mesa3d/src/glsl/linker.cpp:1431:48:error:'frontFacingPointCoord' was not declared in this scope
external/mesa3d/src/glsl/linker.cpp: In function'voidlink_shaders(const gl_context*, gl_shader_program*)':
external/mesa3d/src/glsl/linker.cpp:1734:49: error:expectedprimary-expression before ',' token
external/mesa3d/src/glsl/linker.cpp:1734:50:error:'fragColor' was not declared in this scope
external/mesa3d/src/glsl/linker.cpp:1734:59:error:'offsetof' was not declared in this scope
解决方法参考http://code.google.com/p/android/issues/detail?id=23206:
Adding a "#include <stddef.h>" tolinker.cppfixes the issue
The full location of the linker.cpp fileis"external/mesa3d/src/glsl/linker.cpp" from with in yourandroidsource directory.
(Problem comes from host libstdc++. Since version4.6<cstdio> does not include <cstddef> anymore.
Downgrade host package to libstdc++ 4.5 or add'#include<cstddef>' into linker.cpp)
问题4:
external/oprofile/libpp/format_output.h:94:22:error:reference 'counts' cannot be declared 'mutable'
解决办法:http://code.google.com/p/android/issues/detail?id=22003
Fix/Work-around:
-mutable counts_t & counts;
+counts_t & counts;
问题5:
external/gtest/src/../include/gtest/internal/gtest-param-util.h:122:11:error:'ptrdiff_t' does not name a type
解决办法:http://code.google.com/p/android/issues/detail?id=22005
external/gtest/include/gtest/internal/gtest-param-util.h
#include<vector>
+#include <cstddef>
#include<gtest/internal/gtest-port.h>
问题6:external/llvm/lib/Support/Mutex.cpp:143:undefinedreference to `pthread_mutex_trylock'
解决方法:http://code.google.com/p/android/issues/detail?id=22011
Add "LOCAL_LDLIBS := -lpthread -ldl"inexternal/llvm/llvm-host-build.mk works for me.
问题7:frameworks/compile/slang/slang_rs_export_foreach.cpp:249:23:error:variable 'ParamName' set but not used
解决办法:
http://blog.csdn.net/zhbpd/article/details/7680835
$vimframeworks/compile/slang/Android.mk
将 local_cflags_for_slang 所在行最后的 -Werror 去掉:
#local_cflags_for_slang:=-Wno-sign-promo -Wall -Wno-unused-parameter -Werror
local_cflags_for_slang := -Wno-sign-promo-Wall-Wno-unused-parameter
问题8:In file included from external/gtest/src/gtest-all.cc:38:0:
external/gtest/src/../src/gtest-filepath.cc: In member function ‘bool testing::internal::FilePath::FileOrDirectoryExists() const’:
external/gtest/src/../src/gtest-filepath.cc:180:28: warning: missing initializer for member ‘stat::st_dev’ [-Wmissing-field-initializers]
external/gtest/src/../src/gtest-filepath.cc:180:28: warning: missing initializer for member ‘stat::__pad1’ [-Wmissing-field-initializers]
external/gtest/src/../src/gtest-filepath.cc:180:28: warning: missing initializer for member ‘stat::__st_ino’ [-Wmissing-field-initializers]
external/gtest/src/../src/gtest-filepath.cc:180:28: warning: missing initializer for member ‘stat::st_mode’ [-Wmissing-field-initializers]
external/gtest/src/../src/gtest-filepath.cc:180:28: warning: missing initializer for member ‘stat::st_nlink’ [-Wmissing-field-initializers]
external/gtest/src/../src/gtest-filepath.cc:180:28: warning: missing initializer for member ‘stat::st_uid’ [-Wmissing-field-initializers]
external/gtest/src/../src/gtest-filepath.cc:180:28: warning: missing initializer for member ‘stat::st_gid’ [-Wmissing-field-initializers]
external/gtest/src/../src/gtest-filepath.cc:180:28: warning: missing initializer for member ‘stat::st_rdev’ [-Wmissing-field-initializers]
external/gtest/src/../src/gtest-filepath.cc:180:28: warning: missing initializer for member ‘stat::__pad2’ [-Wmissing-field-initializers]
external/gtest/src/../src/gtest-filepath.cc:180:28: warning: missing initializer for member ‘stat::st_size’ [-Wmissing-field-initializers]
extern
4000
al/gtest/src/../src/gtest-filepath.cc:180:28: warning: missing initializer for member ‘stat::st_blksize’ [-Wmissing-field-initializers]
external/gtest/src/../src/gtest-filepath.cc:180:28: warning: missing initializer for member ‘stat::st_blocks’ [-Wmissing-field-initializers]
external/gtest/src/../src/gtest-filepath.cc:180:28: warning: missing initializer for member ‘stat::st_atim’ [-Wmissing-field-initializers]
external/gtest/src/../src/gtest-filepath.cc:180:28: warning: missing initializer for member ‘stat::st_mtim’ [-Wmissing-field-initializers]
external/gtest/src/../src/gtest-filepath.cc:180:28: warning: missing initializer for member ‘stat::st_ctim’ [-Wmissing-field-initializers]
external/gtest/src/../src/gtest-filepath.cc:180:28: warning: missing initializer for member ‘stat::st_ino’ [-Wmissing-field-initializers]
external/gtest/src/../src/gtest-filepath.cc: In member function ‘bool testing::internal::FilePath::DirectoryExists() const’:
external/gtest/src/../src/gtest-filepath.cc:208:28: warning: missing initializer for member ‘stat::st_dev’ [-Wmissing-field-initializers]
external/gtest/src/../src/gtest-filepath.cc:208:28: warning: missing initializer for member ‘stat::__pad1’ [-Wmissing-field-initializers]
external/gtest/src/../src/gtest-filepath.cc:208:28: warning: missing initializer for member ‘stat::__st_ino’ [-Wmissing-field-initializers]
external/gtest/src/../src/gtest-filepath.cc:208:28: warning: missing initializer for member ‘stat::st_mode’ [-Wmissing-field-initializers]
external/gtest/src/../src/gtest-filepath.cc:208:28: warning: missing initializer for member ‘stat::st_nlink’ [-Wmissing-field-initializers]
external/gtest/src/../src/gtest-filepath.cc:208:28: warning: missing initializer for member ‘stat::st_uid’ [-Wmissing-field-initializers]
external/gtest/src/../src/gtest-filepath.cc:208:28: warning: missing initializer for member ‘stat::st_gid’ [-Wmissing-field-initializers]
external/gtest/src/../src/gtest-filepath.cc:208:28: warning: missing initializer for member ‘stat::st_rdev’ [-Wmissing-field-initializers]
external/gtest/src/../src/gtest-filepath.cc:208:28: warning: missing initializer for member ‘stat::__pad2’ [-Wmissing-field-initializers]
external/gtest/src/../src/gtest-filepath.cc:208:28: warning: missing initializer for member ‘stat::st_size’ [-Wmissing-field-initializers]
external/gtest/src/../src/gtest-filepath.cc:208:28: warning: missing initializer for member ‘stat::st_blksize’ [-Wmissing-field-initializers]
external/gtest/src/../src/gtest-filepath.cc:208:28: warning: missing initializer for member ‘stat::st_blocks’ [-Wmissing-field-initializers]
external/gtest/src/../src/gtest-filepath.cc:208:28: warning: missing initializer for member ‘stat::st_atim’ [-Wmissing-field-initializers]
external/gtest/src/../src/gtest-filepath.cc:208:28: warning: missing initializer for member ‘stat::st_mtim’ [-Wmissing-field-initializers]
external/gtest/src/../src/gtest-filepath.cc:208:28: warning: missing initializer for member ‘stat::st_ctim’ [-Wmissing-field-initializers]
external/gtest/src/../src/gtest-filepath.cc:208:28: warning: missing initializer for member ‘stat::st_ino’ [-Wmissing-field-initializers]
make: *** [out/host/linux-x86/obj/STATIC_LIBRARIES/libgtest_host_intermediates/gtest-all.o] Error 1
解决办法:
在external/gtest/include/gtest/internal/gtest-param-util.h加入 #include <cstddef>
另外,将gcc版本降低为4.4可以避免ics编译错误:
sudo apt-getinstall gcc-4.4
sudo apt-getinstall g++-4.4
sudo ln -s/usr/bin/gcc-4.4/usr/bin/gcc
sudo ln -s/usr/bin/g++-4.4/usr/bin/g++
<command-line>:0:0:warning:"_FORTIFY_SOURCE" redefined [enabled by default]
<built-in>:0:0:note: this is the location of theprevious definition
hostExecutable:mksnapshot(out/host/linux-x86/obj/EXECUTABLES/mksnapshot_intermediates/mksnapshot)
true
Install:out/host/linux-x86/bin/mksnapshot
Install:out/host/linux-x86/bin/mkyaffs2image
host C++:obbtool <=frameworks/base/tools/obbtool/Main.cpp
<command-line>:0:0:error: "_FORTIFY_SOURCE"redefined [-Werror]
<built-in>:0:0:note: this is the location of theprevious definition
cc1plus:all warnings being treated as errors
make:***[out/host/linux-x86/obj/EXECUTABLES/obbtool_intermediates/Main.o] Error 1
icscompile fail!
解决办法:参考http://code.google.com/p/android/issues/detail?id=20795
修改build/core/combo/HOST_linux-x86.mk:
-HOST_GLOBAL_CFLAGS += -D_FORTIFY_SOURCE=0
+HOST_GLOBAL_CFLAGS += -U_FORTIFY_SOURCE-D_FORTIFY_SOURCE=0
问题2:
make[1]: Leavingdirectory`ics/device/hisilicon/godbox/driver/sdk/msp/android_driver/RT3090_LinuxSTA_V2.3.1.4_20100222'
之后就报错了。看不出什么原因。重新make试试;
->重新make居然就过去了。
问题3:
external/mesa3d/src/glsl/linker.cpp:1394:49: error:expectedprimary-expression before ',' token
external/mesa3d/src/glsl/linker.cpp:1394:50:error:'varyings' was not declared in this scope
external/mesa3d/src/glsl/linker.cpp:1394:58:error:'offsetof' was not declared in this scope
external/mesa3d/src/glsl/linker.cpp:1395:48: error:expectedprimary-expression before ',' token
external/mesa3d/src/glsl/linker.cpp:1412:47: error:expectedprimary-expression before ',' token
external/mesa3d/src/glsl/linker.cpp:1412:48:error:'position' was not declared in this scope
external/mesa3d/src/glsl/linker.cpp:1414:47: error:expectedprimary-expression before ',' token
external/mesa3d/src/glsl/linker.cpp:1414:48:error:'pointSize' was not declared in this scope
external/mesa3d/src/glsl/linker.cpp:1424:47: error:expectedprimary-expression before ',' token
external/mesa3d/src/glsl/linker.cpp:1424:48:error:'position' was not declared in this scope
external/mesa3d/src/glsl/linker.cpp:1428:47: error:expectedprimary-expression before ',' token
external/mesa3d/src/glsl/linker.cpp:1428:48:error:'frontFacingPointCoord' was not declared in this scope
external/mesa3d/src/glsl/linker.cpp:1431:47: error:expectedprimary-expression before ',' token
external/mesa3d/src/glsl/linker.cpp:1431:48:error:'frontFacingPointCoord' was not declared in this scope
external/mesa3d/src/glsl/linker.cpp: In function'voidlink_shaders(const gl_context*, gl_shader_program*)':
external/mesa3d/src/glsl/linker.cpp:1734:49: error:expectedprimary-expression before ',' token
external/mesa3d/src/glsl/linker.cpp:1734:50:error:'fragColor' was not declared in this scope
external/mesa3d/src/glsl/linker.cpp:1734:59:error:'offsetof' was not declared in this scope
解决方法参考http://code.google.com/p/android/issues/detail?id=23206:
Adding a "#include <stddef.h>" tolinker.cppfixes the issue
The full location of the linker.cpp fileis"external/mesa3d/src/glsl/linker.cpp" from with in yourandroidsource directory.
(Problem comes from host libstdc++. Since version4.6<cstdio> does not include <cstddef> anymore.
Downgrade host package to libstdc++ 4.5 or add'#include<cstddef>' into linker.cpp)
问题4:
external/oprofile/libpp/format_output.h:94:22:error:reference 'counts' cannot be declared 'mutable'
解决办法:http://code.google.com/p/android/issues/detail?id=22003
Fix/Work-around:
-mutable counts_t & counts;
+counts_t & counts;
问题5:
external/gtest/src/../include/gtest/internal/gtest-param-util.h:122:11:error:'ptrdiff_t' does not name a type
解决办法:http://code.google.com/p/android/issues/detail?id=22005
external/gtest/include/gtest/internal/gtest-param-util.h
#include<vector>
+#include <cstddef>
#include<gtest/internal/gtest-port.h>
问题6:external/llvm/lib/Support/Mutex.cpp:143:undefinedreference to `pthread_mutex_trylock'
解决方法:http://code.google.com/p/android/issues/detail?id=22011
Add "LOCAL_LDLIBS := -lpthread -ldl"inexternal/llvm/llvm-host-build.mk works for me.
问题7:frameworks/compile/slang/slang_rs_export_foreach.cpp:249:23:error:variable 'ParamName' set but not used
解决办法:
http://blog.csdn.net/zhbpd/article/details/7680835
$vimframeworks/compile/slang/Android.mk
将 local_cflags_for_slang 所在行最后的 -Werror 去掉:
#local_cflags_for_slang:=-Wno-sign-promo -Wall -Wno-unused-parameter -Werror
local_cflags_for_slang := -Wno-sign-promo-Wall-Wno-unused-parameter
问题8:In file included from external/gtest/src/gtest-all.cc:38:0:
external/gtest/src/../src/gtest-filepath.cc: In member function ‘bool testing::internal::FilePath::FileOrDirectoryExists() const’:
external/gtest/src/../src/gtest-filepath.cc:180:28: warning: missing initializer for member ‘stat::st_dev’ [-Wmissing-field-initializers]
external/gtest/src/../src/gtest-filepath.cc:180:28: warning: missing initializer for member ‘stat::__pad1’ [-Wmissing-field-initializers]
external/gtest/src/../src/gtest-filepath.cc:180:28: warning: missing initializer for member ‘stat::__st_ino’ [-Wmissing-field-initializers]
external/gtest/src/../src/gtest-filepath.cc:180:28: warning: missing initializer for member ‘stat::st_mode’ [-Wmissing-field-initializers]
external/gtest/src/../src/gtest-filepath.cc:180:28: warning: missing initializer for member ‘stat::st_nlink’ [-Wmissing-field-initializers]
external/gtest/src/../src/gtest-filepath.cc:180:28: warning: missing initializer for member ‘stat::st_uid’ [-Wmissing-field-initializers]
external/gtest/src/../src/gtest-filepath.cc:180:28: warning: missing initializer for member ‘stat::st_gid’ [-Wmissing-field-initializers]
external/gtest/src/../src/gtest-filepath.cc:180:28: warning: missing initializer for member ‘stat::st_rdev’ [-Wmissing-field-initializers]
external/gtest/src/../src/gtest-filepath.cc:180:28: warning: missing initializer for member ‘stat::__pad2’ [-Wmissing-field-initializers]
external/gtest/src/../src/gtest-filepath.cc:180:28: warning: missing initializer for member ‘stat::st_size’ [-Wmissing-field-initializers]
extern
4000
al/gtest/src/../src/gtest-filepath.cc:180:28: warning: missing initializer for member ‘stat::st_blksize’ [-Wmissing-field-initializers]
external/gtest/src/../src/gtest-filepath.cc:180:28: warning: missing initializer for member ‘stat::st_blocks’ [-Wmissing-field-initializers]
external/gtest/src/../src/gtest-filepath.cc:180:28: warning: missing initializer for member ‘stat::st_atim’ [-Wmissing-field-initializers]
external/gtest/src/../src/gtest-filepath.cc:180:28: warning: missing initializer for member ‘stat::st_mtim’ [-Wmissing-field-initializers]
external/gtest/src/../src/gtest-filepath.cc:180:28: warning: missing initializer for member ‘stat::st_ctim’ [-Wmissing-field-initializers]
external/gtest/src/../src/gtest-filepath.cc:180:28: warning: missing initializer for member ‘stat::st_ino’ [-Wmissing-field-initializers]
external/gtest/src/../src/gtest-filepath.cc: In member function ‘bool testing::internal::FilePath::DirectoryExists() const’:
external/gtest/src/../src/gtest-filepath.cc:208:28: warning: missing initializer for member ‘stat::st_dev’ [-Wmissing-field-initializers]
external/gtest/src/../src/gtest-filepath.cc:208:28: warning: missing initializer for member ‘stat::__pad1’ [-Wmissing-field-initializers]
external/gtest/src/../src/gtest-filepath.cc:208:28: warning: missing initializer for member ‘stat::__st_ino’ [-Wmissing-field-initializers]
external/gtest/src/../src/gtest-filepath.cc:208:28: warning: missing initializer for member ‘stat::st_mode’ [-Wmissing-field-initializers]
external/gtest/src/../src/gtest-filepath.cc:208:28: warning: missing initializer for member ‘stat::st_nlink’ [-Wmissing-field-initializers]
external/gtest/src/../src/gtest-filepath.cc:208:28: warning: missing initializer for member ‘stat::st_uid’ [-Wmissing-field-initializers]
external/gtest/src/../src/gtest-filepath.cc:208:28: warning: missing initializer for member ‘stat::st_gid’ [-Wmissing-field-initializers]
external/gtest/src/../src/gtest-filepath.cc:208:28: warning: missing initializer for member ‘stat::st_rdev’ [-Wmissing-field-initializers]
external/gtest/src/../src/gtest-filepath.cc:208:28: warning: missing initializer for member ‘stat::__pad2’ [-Wmissing-field-initializers]
external/gtest/src/../src/gtest-filepath.cc:208:28: warning: missing initializer for member ‘stat::st_size’ [-Wmissing-field-initializers]
external/gtest/src/../src/gtest-filepath.cc:208:28: warning: missing initializer for member ‘stat::st_blksize’ [-Wmissing-field-initializers]
external/gtest/src/../src/gtest-filepath.cc:208:28: warning: missing initializer for member ‘stat::st_blocks’ [-Wmissing-field-initializers]
external/gtest/src/../src/gtest-filepath.cc:208:28: warning: missing initializer for member ‘stat::st_atim’ [-Wmissing-field-initializers]
external/gtest/src/../src/gtest-filepath.cc:208:28: warning: missing initializer for member ‘stat::st_mtim’ [-Wmissing-field-initializers]
external/gtest/src/../src/gtest-filepath.cc:208:28: warning: missing initializer for member ‘stat::st_ctim’ [-Wmissing-field-initializers]
external/gtest/src/../src/gtest-filepath.cc:208:28: warning: missing initializer for member ‘stat::st_ino’ [-Wmissing-field-initializers]
make: *** [out/host/linux-x86/obj/STATIC_LIBRARIES/libgtest_host_intermediates/gtest-all.o] Error 1
解决办法:
在external/gtest/include/gtest/internal/gtest-param-util.h加入 #include <cstddef>
另外,将gcc版本降低为4.4可以避免ics编译错误:
sudo apt-getinstall gcc-4.4
sudo apt-getinstall g++-4.4
sudo ln -s/usr/bin/gcc-4.4/usr/bin/gcc
sudo ln -s/usr/bin/g++-4.4/usr/bin/g++
相关文章推荐
- 在ubuntu x86_64 GCC4.6上ics编译错误以及解决办法
- VirtualBox 安装 ubuntu 出现This kernel requires an X86-64 CPU,but only detected an i686 CPU错误的解决办法
- 用xcode6.3编译早期工程时出现Undefined symbols for architecture x86_64错误的解决办法(转)
- mac上使用g++编译出错“Undefined symbols for architecture x86_64:” 错误解决办法
- ubuntu10.04 gedit 支持 中文 以及 打开 空文件提示段错误的解决办法【转】
- 32位ubuntu编译Gingerbread的一项错误解决办法
- 编译错误“The run destination My Mac 64-bit is not valid for Running the scheme '***',解决办法
- armv6,armv7,armv7s,arm64对应的机型以及报armv7s错误时的解决办法
- 编译错误“The run destination My Mac 64-bit is not valid for Running the scheme '***',解决办法
- Ubuntu16.04编译Android6.0/cm13.0教程及相关错误解决办法
- ubuntu16.04 编译android6.0遇到的两个错误解决办法
- IDEA 2017 2.2常见的编译错误以及解决办法
- Ubuntu下 交叉编译树莓派内核时出现错误“没有那个文件或目录” 的解决办法
- ubuntu Qt creator 编译错误:-1: error: cannot find -lGL解决办法
- VirtualBox 安装 Linux时 报错This kernel requires an X86-64 CPU,but only detected an i686 CPU错误的解决办法
- 在Ubuntu 64位环境下编译Liunx内核出现 Can't use 'defined(@array)' 错误的解决办法
- 玩转BeagleBoard xM——TI_Android_ICS_4.0.3_DevKit编译错误及解决办法汇总
- ubuntu 11.10(32位系统)下编译android源码 make错误解决办法
- VirtualBox 安装 Linux时 报错This kernel requires an X86-64 CPU,but only detected an i686 CPU错误的解决办法
- 在Ubuntu 64位环境下编译Liunx内核出现 Can't use 'defined(@array)' 错误的解决办法