openEuler 20.03 LTS在尝试引入chrome浏览器,目前遇到编译问题
目前怀疑需要gcc 8特性,需要具体看下是否可以简单补丁方式解决,否则可能会需要引入gcc 8及以上版本,需要麻烦@章海剑 @谢志恒看下
发件人: qiaopeixin 发送时间: 2020年11月13日 10:25 收件人: gaojianxing gaojianxing@huawei.com; Hufeng (Solar, Euler) solar.hu@huawei.com; sunguoshuai sunguoshuai@huawei.com; xiasenlin xiasenlin1@huawei.com 抄送: guoge (A) guoge1@huawei.com; Zhangtao (zhangtao, AX) zhangtao221@huawei.com; tc tc@openeuler.org; Zhanghaijian (A) z.zhanghaijian@huawei.com 主题: RE: chrome 浏览器,在openEuler-20.03 系列分支编译进展情况
修正2.3: 代码是C++用了C语言结构体的格式。GCC trunk进入8.0.0之前的时候拉出来一个分支gcc-7,后面继续演进直到7.3,都没有修掉这个问题,7.5也没有修掉;trunk 同时继续演进,在8.0.0和9.0.0之间某一个节点修掉了这个问题。所以GCC release的版本中8.1之后的都修掉了这个问题。
我找到修掉这个问题的节点后我们分析了一下,该节点依赖不少trunk之前合入的patch, gcc-7没有合入,初步尝试往前追溯了几个patch,都无法打到GCC 7.3.0上。预计需要合入多个patch,短时间无法适配好。
祝好, 乔沛鑫
From: gaojianxing Sent: Friday, November 13, 2020 9:14 AM To: Hufeng (Solar, Euler) <solar.hu@huawei.commailto:solar.hu@huawei.com>; sunguoshuai <sunguoshuai@huawei.commailto:sunguoshuai@huawei.com>; xiasenlin <xiasenlin1@huawei.commailto:xiasenlin1@huawei.com>; qiaopeixin <qiaopeixin@huawei.commailto:qiaopeixin@huawei.com> Cc: guoge (A) <guoge1@huawei.commailto:guoge1@huawei.com>; Zhangtao (zhangtao, AX) <zhangtao221@huawei.commailto:zhangtao221@huawei.com>; tc <tc@openeuler.orgmailto:tc@openeuler.org> Subject: chrome 浏览器,在openEuler-20.03 系列分支编译进展情况
Chrome 试引入进展情况: 1、openEuler-20.09 、主线基于gcc 9.3.0 可以正常编译,功能待测试; 2、基于openEuler-20.03-LTS-Next, 编译器gcc 7.3.0 版本,已进展如下
2.1、 在编译第三方库 libjpeg_turbo 时,vld1_s16_x3 错误,已找到gcc的patch
AARCH64-Neon-vld1_-_x3-vst1_-_x2-and-vst1_-_x3-intrinsics.patch 2.2、 编译第三方库blink时, “requested alignment is not an integer constant”错误,已找到patch Bogus error with alignof [PR90736] 2.3、编译gpu/vulkan相关文件出错是因为gcc-7 不支持GNU C 方式的c++结构体对象赋值,已通过补丁形式修改chromium vulkan相关代码解决。 ---已解决 因gcc相关特性是在gcc-8及以上版本支持的,gcc-7社区没有相关补丁,需要修改的地方比较多,且需要自个做补丁修改,困难较大。 2.4、编译net/dns/dns_query.cc 时出现如下错误,问题还在定位、修复中―已解决 合入乔沛鑫提供的patch,PR c++/80452, optional-bug-fix.patch 此部分已编译通过
2.5、当前编译 gpu/command_buffer/service/external_vk_image_backing.cc出现错误,正在修改chromium相应文件。 预期上午今天上午解决
发件人: gaojianxing 发送时间: 2020年11月11日 18:11 收件人: Hufeng (Solar, Euler) <solar.hu@huawei.commailto:solar.hu@huawei.com>; sunguoshuai <sunguoshuai@huawei.commailto:sunguoshuai@huawei.com>; xiasenlin <xiasenlin1@huawei.commailto:xiasenlin1@huawei.com> 抄送: guoge (A) <guoge1@huawei.commailto:guoge1@huawei.com>; Zhangtao (zhangtao, AX) <zhangtao221@huawei.commailto:zhangtao221@huawei.com>; 'tc' <tc@openeuler.orgmailto:tc@openeuler.org>; ';qiaopeixin@huawei.commailto:qiaopeixin@huawei.com' <;qiaopeixin@huawei.commailto:qiaopeixin@huawei.com> 主题: 答复: 关于firefox后续版本(firefox82) 因专利问题存在引入风险
Chrome 试引入进展情况: 1、openEuler-20.09 、主线基于gcc 9.3.0 可以正常编译,功能待测试; 2、基于openEuler-20.03-LTS-Next, 编译器gcc 7.3.0 版本,已进展如下
2.1、 在编译第三方库 libjpeg_turbo 时,vld1_s16_x3 错误,已找到gcc的patch
AARCH64-Neon-vld1_-_x3-vst1_-_x2-and-vst1_-_x3-intrinsics.patch 2.2、 编译第三方库blink时, “requested alignment is not an integer constant”错误,已找到patch Bogus error with alignof [PR90736] 2.3、 当前编译错误如下图,已找到patch,patch commit ID为:d68ddd2b35078ab61f164b268bac63767b2a8e6a, 但此patch不能直接合入,需要多个patch解决,正在回溯gcc解决此问题的历史patch。
发件人: gaojianxing 发送时间: 2020年11月9日 20:45 收件人: Hufeng (Solar, Euler) <solar.hu@huawei.commailto:solar.hu@huawei.com>; sunguoshuai <sunguoshuai@huawei.commailto:sunguoshuai@huawei.com>; xiasenlin <xiasenlin1@huawei.commailto:xiasenlin1@huawei.com> 抄送: guoge (A) <guoge1@huawei.commailto:guoge1@huawei.com>; Zhangtao (zhangtao, AX) <zhangtao221@huawei.commailto:zhangtao221@huawei.com>; tc <tc@openeuler.orgmailto:tc@openeuler.org> 主题: 答复: 关于firefox后续版本(firefox82) 因专利问题存在引入风险
Chrome 试引入进展情况: 1、openEuler-20.09 、主线基于gcc 9.3.0 可以正常编译,功能待测试; 2、基于openEuler-20.03-LTS-Next, 编译器gcc 7.3.0 版本,已进展如下
2.1、 在编译第三方库 libjpeg_turbo 时,vld1_s16_x3 错误,已找到gcc的patch
AARCH64-Neon-vld1_-_x3-vst1_-_x2-and-vst1_-_x3-intrinsics.patch 2.2、 编译第三方库blink时, “requested alignment is not an integer constant”错误,已找到patch Bogus error with alignof [PR90736] 2.3、编译gpu/vulkan相关文件出错是因为gcc-7 不支持GNU C 方式的c++结构体对象赋值,已通过补丁形式修改chromium vulkan相关代码解决。 ---已解决 因gcc相关特性是在gcc-8及以上版本支持的,gcc-7社区没有相关补丁,需要修改的地方比较多,且需要自个做补丁修改,困难较大。 2.4、编译net/dns/dns_query.cc 时出现如下错误,问题还在定位、修复中 [cid:image001.png@01D6B9AD.4C816EC0]
发件人: Hufeng (Solar, Euler) 发送时间: 2020年11月7日 14:51 收件人: gaojianxing <gaojianxing@huawei.commailto:gaojianxing@huawei.com>; sunguoshuai <sunguoshuai@huawei.commailto:sunguoshuai@huawei.com>; xiasenlin <xiasenlin1@huawei.commailto:xiasenlin1@huawei.com> 抄送: guoge (A) <guoge1@huawei.commailto:guoge1@huawei.com>; Zhangtao (zhangtao, AX) <zhangtao221@huawei.commailto:zhangtao221@huawei.com>; tc <tc@openeuler.orgmailto:tc@openeuler.org> 主题: RE: 关于firefox后续版本(firefox82) 因专利问题存在引入风险
20.09ukui有桌面,挂epol的源,可以试试
From: gaojianxing Sent: Friday, November 6, 2020 6:16 PM To: sunguoshuai <sunguoshuai@huawei.commailto:sunguoshuai@huawei.com>; xiasenlin <xiasenlin1@huawei.commailto:xiasenlin1@huawei.com> Cc: guoge (A) <guoge1@huawei.commailto:guoge1@huawei.com>; Zhangtao (zhangtao, AX) <zhangtao221@huawei.commailto:zhangtao221@huawei.com>; tc <tc@openeuler.orgmailto:tc@openeuler.org>; Hufeng (Solar, Euler) <solar.hu@huawei.commailto:solar.hu@huawei.com> Subject: 答复: 关于firefox后续版本(firefox82) 因专利问题存在引入风险
Chrome 试引入进展情况:
1、 openEuler-20.09 、主线基于gcc 9.3.0 可以正常编译,功能未测试(需要GUI界面才能进行测试);
2、 基于openEuler-20.03-LTS-Next, 编译器gcc 7.3.0 版本,已发现问题如下
2.1 在编译第三方库 libjpeg_turbo 时,vld1_s16_x3 错误,已找到gcc的patch
AARCH64-Neon-vld1_-_x3-vst1_-_x2-and-vst1_-_x3-intrinsics.patch 此patch已合入到私有工程中,并编译通过,相应问题已解决;
2.2 当前错误 blink/renderer/platform/wtf/vector.h:268:58: error: requested alignment is not an integer constant
对应的漏洞原因正在定位中,尝试通过gcc补丁解决。
发件人: sunguoshuai 发送时间: 2020年11月4日 17:48 收件人: xiasenlin <xiasenlin1@huawei.commailto:xiasenlin1@huawei.com>; gaojianxing <gaojianxing@huawei.commailto:gaojianxing@huawei.com> 抄送: guoge (A) <guoge1@huawei.commailto:guoge1@huawei.com>; Zhangtao (zhangtao, AX) <zhangtao221@huawei.commailto:zhangtao221@huawei.com>; tc <tc@openeuler.orgmailto:tc@openeuler.org>; Hufeng (Solar, Euler) <solar.hu@huawei.commailto:solar.hu@huawei.com> 主题: 答复: 关于firefox后续版本(firefox82) 因专利问题存在引入风险
Chrome编译时间过长的问题需要提前考虑… Obs上次自己的分支编译了9个多小时
发件人: xiasenlin 发送时间: 2020年11月4日 15:45 收件人: gaojianxing <gaojianxing@huawei.commailto:gaojianxing@huawei.com> 抄送: guoge (A) <guoge1@huawei.commailto:guoge1@huawei.com>; Zhangtao (zhangtao, AX) <zhangtao221@huawei.commailto:zhangtao221@huawei.com>; sunguoshuai <sunguoshuai@huawei.commailto:sunguoshuai@huawei.com>; tc <tc@openeuler.orgmailto:tc@openeuler.org>; Hufeng (Solar, Euler) <solar.hu@huawei.commailto:solar.hu@huawei.com> 主题: 答复: 关于firefox后续版本(firefox82) 因专利问题存在引入风险
引入chrome是很好的尝试,意义不止在于替换调更新版本的存在专利问题的firefox,更多的是为了提供更安全的浏览器。 接下来需要做的: 1.“在openEuler-20.03及衍生版本中当前gcc是编译不过的(可以尝试gcc打补丁解决)”,具体打什么补丁尽快与编译器同事确认 2.本地编译打包完成之后,要给出进一步的安装和功能验证的自验文档
发件人: gaojianxing 发送时间: 2020年11月4日 14:56 收件人: xiasenlin <xiasenlin1@huawei.commailto:xiasenlin1@huawei.com> 抄送: Zhangtao (zhangtao, AX) <zhangtao221@huawei.commailto:zhangtao221@huawei.com>; sunguoshuai <sunguoshuai@huawei.commailto:sunguoshuai@huawei.com>; platform.zhang@huawei.commailto:platform.zhang@huawei.com;; tc <tc@openeuler.orgmailto:tc@openeuler.org>; dev@openeuler.orgmailto:dev@openeuler.org 主题: 关于firefox后续版本(firefox82) 因专利问题存在引入风险
1、当前firefox 在主线已经升级到79版本,openEuler-20.03-LTS 经过适配已经可以升级到79版本,但因下游需求及CVE解决需要,及firefox本身在不断的演进,后续存在升级的需求,注:(当前firefox最新版本已是firefox82) Firefox后续版本流媒编解码依赖于包fdk-acc,fdk-acc包托管于github.com, license经与公司法务张伟咨询发现存在专利权问题: 具体见附件的license,有风险部分如下: [cid:image002.png@01D6B9AD.4C816EC0] [cid:image003.png@01D6B9AD.4C816EC0] 2.可采取的解决方案: 2.1.后续采用chromium 浏览器,当前调查不存在专利和license等相关法务风险,但是在openEuler-20.03及衍生版本中当前gcc是编译不过的(可以尝试gcc打补丁解决),当前在主线和09版本引入没有问题; 2.2.继续使用firefox,尝试寻找其它包替代fdk-aac相关包功能(有风险,可能引入的包也有法务问题,且需要解决依赖问题); 2.3.继续使用firefox,但是firefox后续升级存在法务风险(firefox不升级,但漏洞无法修复)。