Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/video/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
针对ARM gn构建问题的铬版本53_Arm_Linker Errors_Chromium_Ninja - Fatal编程技术网

针对ARM gn构建问题的铬版本53

针对ARM gn构建问题的铬版本53,arm,linker-errors,chromium,ninja,Arm,Linker Errors,Chromium,Ninja,我在为ARM平台构建chromium时遇到问题。以下是有关我的主机服务器的一些详细信息: Linux版本4.2.0-42-generic(buildd@lgw01-55)(gcc版本4.8.4(Ubuntu 4.8.4-2ubuntu1~14.04.3)) 我使用的是Chromium版本53.0.2785.143。我尝试使用gn构建chromium,以下是我在args.gn文件中的参数: target_cpu = "arm" arm_tune = "generic-armv7-a" arm_fl

我在为ARM平台构建chromium时遇到问题。以下是有关我的主机服务器的一些详细信息:

Linux版本4.2.0-42-generic(buildd@lgw01-55)(gcc版本4.8.4(Ubuntu 4.8.4-2ubuntu1~14.04.3))

我使用的是Chromium版本53.0.2785.143。我尝试使用gn构建chromium,以下是我在args.gn文件中的参数:

target_cpu = "arm"
arm_tune = "generic-armv7-a"
arm_float_abi = "softfp"
基本上,由于我的ARM平台,我使用了上面这些特定的参数。gn命令运行时没有错误。但是,在使用忍者构建项目时,出现了以下错误:

忍者:进入目录'out/Default\u arm64' [1/1]重新生成忍者文件 [296/46119]链接。/minidump-2-core 失败:minidump-2-core ../../third_party/llvm build/Release+Asserts/bin/clang++-Wl,-fatal warnings-fPIC-Wl,-z,noexecstack-Wl,-z,now-Wl,-z,relro-Wl,-z,defs-fuse ld=gold-B..//第三方/binutils/Linux_x64/Release/bin-Wl,--icf=all-pthread--target=arm-linux-gnueabihf--sysroot=../build/linux/debian_-wheezy_-arm-sysroot-L/home/miaozixiong/workspace/chromium/src/build/linux/debian_-wheezy_-arm-sysroot/lib/arm-linux-gnueabihf -Wl,-rpath link=/home/miaozixiong/workspace/chromium/src/build/linux/debian_wheezy_arm-sysroot/lib/arm-linux-gnueabihf -L/home/miaozixiong/workspace/chromium/src/build/linux/debian_wheezy_arm-sysroot/usr/lib/arm-linux-gnueabihf -Wl,-rpath link=/home/miaozixiong/workspace/chromium/src/build/linux/debian_wheezy_arm-sysroot/usr/lib/arm-linux-gnueabihf -Wl,-rpath link=../Default_arm64-Wl,--禁用新的dtags-o.“/minidump-2-core”-Wl,--启动组@”。/minidump-2-core.rsp” -Wl,--端组-ldl-lrt ld.gold:错误:obj/breakpad/MinidDump-2-core/MinidDump-2-core.o使用VFP寄存器 参数,则输出不可用

我对chromium是新手,不知道这些错误意味着什么。所以有人知道如何工作吗?谢谢你

注意:根据我的arm平台,我需要我的arm\U float\U abi属性为“softfp”。所以请注意,我不能将其更改为“硬”。此外,当设置float abi=“hard”时,没有构建错误

ld.gold:错误:obj/breakpad/minidump-2-core/minidump-2-core.o使用VFP寄存器参数,输出不正确

这是一个链接错误,表明由于浮点ABI不匹配,
minidump-2-core
无法链接:对象
minidump-2-core.o
为硬浮点编译(生成的代码利用了“uses VFP register arguments”),但要求目标可执行文件使用软浮点(模拟浮点支持,而不是使用专门的FP硬件指令)

根据这一点,铬应建立良好的软浮动

我最好的猜测是,试着用
soft
替换
softfp
arm\u float\u abi=“soft”
。 根据,
softfp
维护软ABI,但仍然“允许使用硬件浮点指令生成代码”,这可能会导致出现错误

如果这不起作用,您可能希望查看有关ARM的交叉构建Chromium的本教程:

我发布了这个问题,并最终解决了它。我在ARM平台上使用了我的本地工具链,并用g++成功编译了它。

你好@valiano。谢谢你的回复。我尝试了ARM\u float\u abi=“soft”选项,得到了相同的错误。此外,我还阅读了你之前提到的教程。不幸的是,我猜本教程主要关注的是“很难"浮动方式。我对linux arm交叉工具链很陌生,如果我错了,请纠正我。@tonymiao我明白了……在工具链方面,你可能想安装:
sudo apt get-install gcc-arm-linux-gnueabi g++-4.7-multilib-arm-linux-gnueabi
,并删除HF对应的
gcc-arm-linux-gnueabihf
g++-4。8-multi-lib-arm-linux-gnueabihf
以防它们以前是按照上述教程安装的。谢谢兄弟,@valiano。我尝试了你在评论中提到的方式。仍然无法实现。我猜谷歌在2015年更改了arm编译器。我在这里跟踪了一个补丁,它将gnueabi更改为gnueabihf。在至少我找不到所有的。