Skia 流水线 编译问题小记

Skia 流水线 编译问题小记

ohos sdk 目录错误

cp -Rf "${workspace}/skia/build/ohos-sdk/ohos-sdk/linux/*" "${workspace}/skia/build/ohos/linux-x86_64"
cp -Rf "${workspace}/skia/build/ohos-sdk/ohos-sdk/linux/"* "${workspace}/skia/build/ohos/linux-x86_64/"

这两行代码的区别

gn lru_cache error

2024-06-05 18:11:51]Traceback (most recent call last):
[2024-06-05 18:11:51] File "/data/__qci/root-workspaces/__qci-pipeline-10875810-1//depot_tools/gn.py", line 14, in <module>
[2024-06-05 18:11:51] import gclient_paths
[2024-06-05 18:11:51] File "/data/__qci/root-workspaces/__qci-pipeline-10875810-1/depot_tools/gclient_paths.py", line 24, in <module>
[2024-06-05 18:11:51] def FindGclientRoot(from_dir, filename='.gclient'):
[2024-06-05 18:11:51] File "/usr/lib64/python3.6/functools.py", line 477, in lru_cache

主要问题是python版本和depot_tools兼容性问题

cd "$workspace/depot_tools/"
git -c advice.detachedHead=false checkout 5decb175

git apply error

git apply  ../patches/ohos_adapter_skia_chrome_121.patch 
../patches/ohos_adapter_skia_chrome_121.patch:4236: trailing whitespace.
        
../patches/ohos_adapter_skia_chrome_121.patch:5237: trailing whitespace.
             }           
error: cannot apply binary patch to 'ninja' without full index line
error: ninja: patch does not apply
../patches/ohos_adapter_skia_chrome_121.patch:3421: new blank line at EOF.

主要问题是在补丁文件中存在尾随空格
首先,检查补丁文件中的尾随空格。你可以使用文本编辑器(如Notepad++、Visual Studio Code等)或者命令行工具(如sed)来删除尾随空格。例如,使用sed的命令如下:

sed -i 's/[[:blank:]]*$//' ../patches/ohos_adapter_skia_chrome_121.patch
#!/bin/bash

git diff --cached > ohos_adapter_skia_chrome_121.patch

if [[ "$(uname)" == "Darwin" ]]; then
  echo "This is a macOS machine."
  sed -i '' -E 's/[[:blank:]]+$//' ohos_adapter_skia_chrome_121.patch
elif [[ "$(uname)" == "MINGW"* ]] || [[ "$(uname)" == "CYGWIN"* ]]; then
  echo "This is a Windows machine."
elif [[ "$(uname)" == "Linux" ]]; then
  echo "This is a Linux machine."
  sed -i 's/[[:blank:]]*$//' ohos_adapter_skia_chrome_121.patch
else
  echo "This is an unknown operating system."
fi

architecture=$(uname -m)
if [[ "$architecture" == "arm"* ]]; then
  echo "This is an ARM-based Linux machine."
elif [[ "$architecture" == "x86_64" ]]; then
  echo "This is a 64-bit Linux machine."
elif [[ "$architecture" == "i386" ]] || [[ "$architecture" == "i686" ]]; then
  echo "This is a 32-bit Linux machine."
else
  echo "This is an unknown architecture."
fi
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

forevermgg

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值