openEuler 20.03 LTS在尝试引入chrome浏览器,目前遇到编译问题

 

目前怀疑需要gcc 8特性,需要具体看下是否可以简单补丁方式解决,否则可能会需要引入gcc 8及以上版本,需要麻烦@章海剑 @谢志恒看下

 

发件人: qiaopeixin
发送时间: 20201113 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.09.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.com>; sunguoshuai <sunguoshuai@huawei.com>; xiasenlin <xiasenlin1@huawei.com>; qiaopeixin <qiaopeixin@huawei.com>
Cc: guoge (A) <guoge1@huawei.com>; Zhangtao (zhangtao, AX) <zhangtao221@huawei.com>; tc <tc@openeuler.org>
Subject: chrome
浏览器,在openEuler-20.03 系列分支编译进展情况

 

Chrome 试引入进展情况:

        1openEuler-20.09  、主线基于gcc 9.3.0  可以正常编译,功能待测试;

  2、基于openEuler-20.03-LTS-Next 编译器gcc 7.3.0  版本,已进展如下

       21  在编译第三方库 libjpeg_turbo 时,vld1_s16_x3 错误,已找到gccpatch 

             AARCH64-Neon-vld1_-_x3-vst1_-_x2-and-vst1_-_x3-intrinsics.patch 

          22  编译第三方库blink时, “requested alignment is not an integer constant”错误,已找到patch 

                  Bogus error with alignof [PR90736]

          23、编译gpu/vulkan相关文件出错是因为gcc-7 不支持GNU C 方式的c++结构体对象赋值,已通过补丁形式修改chromium vulkan相关代码解决。 ---已解决

                   gcc相关特性是在gcc-8及以上版本支持的,gcc-7社区没有相关补丁,需要修改的地方比较多,且需要自个做补丁修改,困难较大。

                24、编译net/dns/dns_query.cc 时出现如下错误,问题还在定位、修复中—已解决

       合入乔沛鑫提供的patchPR c++/80452 optional-bug-fix.patch  此部分已编译通过

                25、当前编译 gpu/command_buffer/service/external_vk_image_backing.cc出现错误,正在修改chromium相应文件。 预期上午今天上午解决

 

 

 

发件人: gaojianxing
发送时间: 20201111 18:11
收件人: 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>; 'qiaopeixin@huawei.com' <qiaopeixin@huawei.com>
主题: 答复: 关于firefox后续版本(firefox82) 因专利问题存在引入风险

 

Chrome 试引入进展情况:

        1openEuler-20.09  、主线基于gcc 9.3.0  可以正常编译,功能待测试;

   2、基于openEuler-20.03-LTS-Next 编译器gcc 7.3.0  版本,已进展如下

       21  在编译第三方库 libjpeg_turbo 时,vld1_s16_x3 错误,已找到gccpatch 

             AARCH64-Neon-vld1_-_x3-vst1_-_x2-and-vst1_-_x3-intrinsics.patch 

          22  编译第三方库blink时, “requested alignment is not an integer constant”错误,已找到patch 

                  Bogus error with alignof [PR90736]

           23 当前编译错误如下图,已找到patchpatch commit ID为:d68ddd2b35078ab61f164b268bac63767b2a8e6a 但此patch不能直接合入,需要多个patch解决,正在回溯gcc解决此问题的历史patch

 

 

发件人: gaojianxing
发送时间: 2020119 20:45
收件人: 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>
主题: 答复: 关于firefox后续版本(firefox82) 因专利问题存在引入风险

 

Chrome 试引入进展情况:

        1openEuler-20.09  、主线基于gcc 9.3.0  可以正常编译,功能待测试;

   2、基于openEuler-20.03-LTS-Next 编译器gcc 7.3.0  版本,已进展如下

       21  在编译第三方库 libjpeg_turbo 时,vld1_s16_x3 错误,已找到gccpatch 

             AARCH64-Neon-vld1_-_x3-vst1_-_x2-and-vst1_-_x3-intrinsics.patch 

          22  编译第三方库blink时, “requested alignment is not an integer constant”错误,已找到patch 

                  Bogus error with alignof [PR90736]

          23、编译gpu/vulkan相关文件出错是因为gcc-7 不支持GNU C 方式的c++结构体对象赋值,已通过补丁形式修改chromium vulkan相关代码解决。 ---已解决

                   gcc相关特性是在gcc-8及以上版本支持的,gcc-7社区没有相关补丁,需要修改的地方比较多,且需要自个做补丁修改,困难较大。

                24编译net/dns/dns_query.cc 时出现如下错误,问题还在定位、修复中

 

 

发件人: Hufeng (Solar, Euler)
发送时间: 2020117 14:51
收件人: gaojianxing <gaojianxing@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>
主题: RE: 关于firefox后续版本(firefox82) 因专利问题存在引入风险

 

20.09ukui有桌面,挂epol的源,可以试试

 

 

From: gaojianxing
Sent: Friday, November 6, 2020 6:16 PM
To: sunguoshuai <sunguoshuai@huawei.com>; xiasenlin <xiasenlin1@huawei.com>
Cc: guoge (A) <guoge1@huawei.com>; Zhangtao (zhangtao, AX) <zhangtao221@huawei.com>; tc <tc@openeuler.org>; Hufeng (Solar, Euler) <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在编译第三方库 libjpeg_turbo 时,vld1_s16_x3 错误,已找到gccpatch 

          AARCH64-Neon-vld1_-_x3-vst1_-_x2-and-vst1_-_x3-intrinsics.patch 

       patch已合入到私有工程中,并编译通过,相应问题已解决;

        2当前错误 blink/renderer/platform/wtf/vector.h:268:58: error: requested alignment is not an integer constant  
                   对应的漏洞原因正在定位中,尝试通过gcc补丁解决。
  

 

 

 

 

 

发件人: sunguoshuai
发送时间: 2020114 17:48
收件人: xiasenlin <xiasenlin1@huawei.com>; gaojianxing <gaojianxing@huawei.com>
抄送: guoge (A) <guoge1@huawei.com>; Zhangtao (zhangtao, AX) <zhangtao221@huawei.com>; tc <tc@openeuler.org>; Hufeng (Solar, Euler) <solar.hu@huawei.com>
主题: 答复: 关于firefox后续版本(firefox82) 因专利问题存在引入风险

 

Chrome编译时间过长的问题需要提前考虑

Obs上次自己的分支编译了9个多小时

 

发件人: xiasenlin
发送时间: 2020114 15:45
收件人: gaojianxing <gaojianxing@huawei.com>
抄送: guoge (A) <guoge1@huawei.com>; Zhangtao (zhangtao, AX) <zhangtao221@huawei.com>; sunguoshuai <sunguoshuai@huawei.com>; tc <tc@openeuler.org>; Hufeng (Solar, Euler) <solar.hu@huawei.com>
主题: 答复: 关于firefox后续版本(firefox82) 因专利问题存在引入风险

 

引入chrome是很好的尝试,意义不止在于替换调更新版本的存在专利问题的firefox,更多的是为了提供更安全的浏览器。

接下来需要做的:

1.“openEuler-20.03及衍生版本中当前gcc是编译不过的(可以尝试gcc打补丁解决)”,具体打什么补丁尽快与编译器同事确认

2.本地编译打包完成之后,要给出进一步的安装和功能验证的自验文档

 

发件人: gaojianxing
发送时间: 2020114 14:56
收件人: xiasenlin <xiasenlin1@huawei.com>
抄送: Zhangtao (zhangtao, AX) <zhangtao221@huawei.com>; sunguoshuai <sunguoshuai@huawei.com>; platform.zhang@huawei.com; tc <tc@openeuler.org>; dev@openeuler.org
主题: 关于firefox后续版本(firefox82) 因专利问题存在引入风险

 

1、当前firefox 在主线已经升级到79版本,openEuler-20.03-LTS 经过适配已经可以升级到79版本,但因下游需求及CVE解决需要,及firefox本身在不断的演进,后续存在升级的需求,注:(当前firefox最新版本已是firefox82

Firefox后续版本流媒编解码依赖于包fdk-accfdk-acc包托管于github.com, license经与公司法务张伟咨询发现存在专利权问题:

具体见附件的license,有风险部分如下:

2.可采取的解决方案:

  2.1.后续采用chromium 浏览器,当前调查不存在专利和license等相关法务风险,但是在openEuler-20.03及衍生版本中当前gcc是编译不过的(可以尝试gcc打补丁解决),当前在主线和09版本引入没有问题;

  2.2.继续使用firefox,尝试寻找其它包替代fdk-aac相关包功能(有风险,可能引入的包也有法务问题,且需要解决依赖问题);

  2.3.继续使用firefox,但是firefox后续升级存在法务风险(firefox不升级,但漏洞无法修复)。