当使用 gclient runhooks 后

出现下面的错误

 File gs://chromium-gn/1088992877b3a13f25b61c8fc18e25296d8cab33 for src/buildtools/win/gn does not exist.
> File gs://chromium-gn/1088992877b3a13f25b61c8fc18e25296d8cab33 for src/buildtools/win/gn does not exist, skipping.
> Error: Command download_from_google_storage --no_resume --platform=linux* --no_auth --bucket chromium-gn -s src/buildtools/win/gn.sha1 returned non-zero exit status

已经设置 .boto 以及

set NO_AUTH_BOTO_CONFIG=E:\_ChromiumDev\gclient_chromium_src\.boto

.boto 内容是:

[Boto]
proxy = 127.0.0.1
proxy_port =

但是 貌似通过 download_from_google_storage.py 这个工具,还是无法下载谷歌的文件,上面的是使用了代理。否则某些谷歌的文件无法访问。

现在是工具无法下载,但是浏览器可以下载。

后来 查了下,以及通过浏览器下载了部分文件。没有快速的解决方案,那就自己解决吧。

于是乎 写个 wget 下载的bat脚本,把缺失的文件批量下载下来!

RunDownloads.py.bat

@rem When Run Command [gclient runhooks]

@rem Download_Failed===========================
@rem download_from_google_storage --no_resume --platform=win32 --directory --recursive --no_auth --num_threads=16 --bucket chromium-apache-win32 --boto=E:\_ChromiumDev\gclient_chromium_src\.boto src/third_party/apache-win32
@rem Download_Failed=========================== call RunWget.bat gs://chromium-apache-win32/11ba0c1941b9c46ad279f33c2db3e3c628197ae8 src/third_party/apache-win32\bin\httpd.exe
call RunWget.bat gs://chromium-apache-win32/199cb003a5a40db260f29128ae630f298aaf7702 src/third_party/apache-win32\bin\libapriconv-1.dll
call RunWget.bat gs://chromium-apache-win32/d76ccf8a113227d63927616a45d7c8eb8df44cc7 src/third_party/apache-win32\bin\libapr-1.dll
call RunWget.bat gs://chromium-apache-win32/4e51ce1a90b99d7b08a0ed1d151eee023d43966c src/third_party/apache-win32\bin\libaprutil-1.dll
call RunWget.bat gs://chromium-apache-win32/230b1d13ba0c4c90089e5e239b2f206ce313bb1e src/third_party/apache-win32\bin\libhttpd.dll
call RunWget.bat gs://chromium-apache-win32/4dca3606f57e1ea9bde5d1e088bda0ae0d4ad3e0 src/third_party/apache-win32\bin\libeay32.dll
call RunWget.bat gs://chromium-apache-win32/2c7b52a7f6b9651a9ba19119d3d842247d541af6 src/third_party/apache-win32\bin\ApacheMonitor.exe
call RunWget.bat gs://chromium-apache-win32/02c3d37fac86cd239fe02a1842134775e40a3331 src/third_party/apache-win32\bin\ssleay32.dll
call RunWget.bat gs://chromium-apache-win32/923f8e771902c6da79ae720817cba8b389a6b275 src/third_party/apache-win32\bin\php5ts.dll
call RunWget.bat gs://chromium-apache-win32/c54ee354a2cdc075b9b4379cf58aba90ebea774b src/third_party/apache-win32\bin\zlib1.dll
call RunWget.bat gs://chromium-apache-win32/27b23f5fc9f2ace1ae53edbee3f32ef0a5d37287 src/third_party/apache-win32\bin\openssl.exe
call RunWget.bat gs://chromium-apache-win32/eb6e8b068a8db9dfa80180ea16b0927b33760298 src/third_party/apache-win32\modules\mod_asis.so
call RunWget.bat gs://chromium-apache-win32/49345ed7627a7019402c46db98bca55a6da80ace src/third_party/apache-win32\modules\mod_alias.so
call RunWget.bat gs://chromium-apache-win32/99b9959e5fbec830fd08a8d398c52f23894dd485 src/third_party/apache-win32\modules\mod_autoindex.so
call RunWget.bat gs://chromium-apache-win32/333d1d54b459797d9419fce049e7d5efe7fb0a69 src/third_party/apache-win32\modules\mod_cgi.so
call RunWget.bat gs://chromium-apache-win32/b2a72bb8447cda2800be56db3959bb8bac68e810 src/third_party/apache-win32\modules\mod_authz_host.so
call RunWget.bat gs://chromium-apache-win32/f6eebd3da324d7a4c36593677ccefcb626ac9548 src/third_party/apache-win32\modules\mod_log_config.so
call RunWget.bat gs://chromium-apache-win32/5926b9d7d4f1e3aae31c10e0498923cb2fbc19a9 src/third_party/apache-win32\modules\mod_headers.so
call RunWget.bat gs://chromium-apache-win32/b7dd1e015a88c96e03bb8845636472bb256e862b src/third_party/apache-win32\modules\mod_mime.so
call RunWget.bat gs://chromium-apache-win32/8c81e5e9fa1d6d07d5235e553b42ac02be49b996 src/third_party/apache-win32\modules\mod_ssl.so
call RunWget.bat gs://chromium-apache-win32/81c42674bc5865c3df35a9f47e3bc6910d89c4b1 src/third_party/apache-win32\modules\php5apache2_2.dll
call RunWget.bat gs://chromium-apache-win32/ee17b7f92645403edb0c3bb80ceeb49791989995 src/third_party/apache-win32\modules\mod_rewrite.so cmd

RunWget.bat

@echo off
if "%1"=="" goto error @rem ##########
@rem 2> File gs://chromium-apache-win32/11ba0c1941b9c46ad279f33c2db3e3c628197ae8 for
@rem src/third_party/apache-win32\bin\httpd.exe does not exist, skipping.
@rem 3> File gs://chromium-apache-win32/199cb003a5a40db260f29128ae630f298aaf7702 for
@rem src/third_party/apache-win32\bin\libapriconv-1.dll does not exist, skipping.
@rem ##########
set SRC_DIR=E:\_ChromiumDev\gclient_chromium_src @rem set param1=gs://chromium-apache-win32/11ba0c1941b9c46ad279f33c2db3e3c628197ae8
@rem set param2=src/third_party/apache-win32\bin\httpd.exe
set param1=%1
set param2=%2
echo [INFO][%time%] ==========Begin==================
echo [INFO][%time%] gs_url=%param1%
set baseurl=https://storage.googleapis.com/
set baseurl=%baseurl%%param1:~5%
echo [INFO][%time%] httpBaseUrl=%baseurl% :StartDownload
@rem 进行一次 文件是否 覆盖的用户交互
pushd .
cd %SRC_DIR%
set cover
if "%cover%"=="" set cover=2
if exist %param2% (
if %cover%==2 (
set /p cover=文件已存在,是否覆盖?[0=不覆盖 1=覆盖]:
)
)
popd
if not exist %param2% (
goto :continue
)
if %cover%==1 goto :continue
echo [INFO][%time%]================END================
goto :eof :continue
pushd .
cd %SRC_DIR%
wget --no-check-certificate %baseurl% -O %param2%
echo [%time%][SUCCESS] Dwonloads to url:%param2% success!!!
echo [INFO][%time%]===============END=================
popd
goto :eof :error
echo Help:
echo %0 [gs://name/hash] [saveToPath]
pause

wget 单文件 可以从这里下载: wget.zip

运行 gclient runhooks 出现的所有

 0> File gs://chromium-gn/1088992877b3a13f25b61c8fc18e25296d8cab33 for src/buildtools/linux32/gn does not exist, skipping.

这样的错误,只要用上面的bat脚本运行下就可以下载了。直到 gclient runhooks 没有报错。就可以进行下一步 编译 chromium了。

编译chromium就是命令:

ninja -C src/out/Debug chrome

又出现了错误

ninja: build stopped: subcommand failed.

通过下面命令查看 具体哪里出错了。因为 批量任务,一下子刷屏了,看不到错误在哪里。

ninja -C src/out/Debug chrome|findstr error

rated_cjk_delta_bi_4.cc : error C2220: 警告被视为错误 - 没有生成“object”文件
注意: 包含文件: C:\Program Files (x86)\Windows Kits\8.0\Include\shared\winerror.h
注意: 包含文件: C:\Program Files (x86)\Windows Kits\8.0\Include\shared\winerror.h

解决方案,修改文件编码。

  今天编译gamebryo,出现error C2220: 警告被视为错误 - 没有生成“object”文件,晕死,在公司编译的时候还好好的。打开文件看了下,就是个头文件,里面定义了几个宏error <wbr>C2220: <wbr>警告被视为错误 <wbr>- <wbr>没有生成“object”文件。没办法,清除,重新编译,错误依旧,又搞了半天终于找到错误原因error <wbr>C2220: <wbr>警告被视为错误 <wbr>- <wbr>没有生成“object”文件

这种错误的原因是:原因是该文件的代码页为英文,而我用的系统中的代码页为中文。

解决方案:

1. 文件->打开->选择,然后保存。从新打开程序文件运行,此错误不再出现。

我用 notepad++ 配合everything 快速打开目标文件,然后 格式 转为 ansi编码。原来的是 utf8 no-bom 编码。这种编码,cl.exe MSVC的编译器 老是报错。

[已解决]下载chromium源码 download_from_google_storage 无法下载文件的更多相关文章

  1. chromium浏览器开发系列第三篇:chromium源码目录结构

    上两篇介绍了下载源码和编译源码,这次主要介绍chromium的源码目录结构,我也是通过源码和官网结合来跟大家说,如果有说的不准确的,欢迎交流. 另外,官网的不一定准确,他们其实也很懒,所以最主要还是靠 ...

  2. 下载android4.4.2源码全过程(附已下载的源码)

    今天在下载andriod源码,特来与大家分享一下我的经验.当然,网上教下载源码的教程较多,本文主要针对在GFW下下载源码出现的各种问题的解决方法. 1.首先安装下载客户端git , curl. 命令如 ...

  3. chromium浏览器开发系列第二篇:如何编译最新chromium源码

    说一下为什么这么晚才发第二篇,上周和这周department的工作太多了,晚上都是十点半从公司出发,回家以后实在没有多余的精力去摸键盘了.所以请大家包涵! 上期回顾: chromium源码下载: 1. ...

  4. Android最新源码4.3下载-教程 2013-11

    Android最新源码4.3下载-教程 有的下载会出现问题: 需要 修改manifest.xml中的fetch: "git://Android.git.linaro.org/"  ...

  5. 【转】Linux CentOS内核编译:下载CentOS源码、编译2.6.32-220的错误(apic.c:819 error 'numi_watchdog' undeclared)

    一.下载CentOS源码 1.1 查看CentOS版本 cat /etc/issue 1.2 查看Linux内核版本 uname -r 1.3 下载 文件名:kernel-2.6.32-220.el6 ...

  6. 【转载】chromium浏览器开发系列第一篇:如何获取最新chromium源码

    背景:     最近摊上一个事儿,领导非要让写一篇技术文章,思来想去,自己接触chrome浏览器时间也不短了,干脆就总结一下吧.于是乎,本文顺理成章.由于有些细节必需描述清楚,所以这次先讲如何拿到ch ...

  7. Chromium源码--视频播放流程分析(拨开云雾)

    转载请注明出处: http://www.cnblogs.com/fangkm/p/3791964.html 在PC浏览器中播放视频,大部分视频网站都是采用flash播放器,这多亏了Adobe Flas ...

  8. 【Linux/Ubuntu学习6】unbuntu 下载android源码

    在Windows下安装Cygwin,通过Cygwin也可在Windows里通过本文的下载步骤下载Android源码. 以下为在Ubuntu下下载Google Android4.4源码的步骤: 1. 安 ...

  9. Chromium浏览器高级开发系列第一篇:如何获取最新chromium源码

    背景:     最近摊上一个事儿,领导非要让写一篇技术文章,思来想去,自己接触chrome浏览器时间也不短了,干脆就总结一下吧.于是乎,本文顺理成章.由于有些细节必需描述清楚,所以这次先讲如何拿到ch ...

随机推荐

  1. 009.KVM配置调整

    一 内存CPU调整 1.1 增大虚拟机内存 [root@kvm-host ~]# virsh shutdown vm01-centos6.8 [root@kvm-host ~]# virsh edit ...

  2. Java文件类

    在Java语言中,无论是目录还是文件,都抽象成java.io.File类 直接上示例吧 java,io,File的常用操作 删除.创建 因为我的e盘里面是没有这个文件的,所以不存在I哦 创建文件: 获 ...

  3. javascript相关基础

    1.javascript:void(0) javascript:void(0)表示不做任何动作 Javascript中void是一个操作符,该操作符指定要计算一个表达式但是不返回值. <a hr ...

  4. 大学启示录I 浅谈大学生的学习与就业

    教育触感 最近看了一些书,有了一些思考,以下纯属博主脑子被抽YY的一些无关大雅的思考,如有雷同,纯属巧合.. 现实总是令人遗憾的,我们当中太多人已经习惯于沿着那一成不变的"典型成功道路&qu ...

  5. ELASTIC的备份与恢复

    前言 elasticsearch官方并没有提供合适的备份工具,然而生产场景中备份却是的确需要的. 本文介绍了使用自己写的php脚本以及第三方工具来进行索引的备份,恢复以及删除等操作. 全量备份 ela ...

  6. Java 中的“implements Runnable” 和“extends Thread”

    知识点 “implements Runnable” 和“extends Thread”的不同 具体分析 最近在学习Android中的Handler消息传递机制时,创建新线程有两种方式:一种是实现Run ...

  7. HNA CloudOS | 容器云服务专家

    HNA CloudOS | 容器云服务专家 http://cloudos.hnaresearch.com  

  8. excel中文转成拼音字母(包括首字母大写)

    参考文献: 1.首字母大写:http://www.excelpx.com/thread-168029-1-1.html(里面下载一个excel,里面有宏) 中文转拼音: 2.http://blog.s ...

  9. javascript UI框架

    http://www.jianshu.com/p/709e8d6c03c9 http://www.cnblogs.com/kingboy2008/p/5261771.html jQuery uiboo ...

  10. 面试笔试-脚本-1:使用shell脚本输出登录次数最多的用户

    原题目: 一个文本类型的文件,里面每行存放一个登陆者的IP(某些行是反复的),写一个shell脚本输出登陆次数最多的用户. 之前刚看到这个题目时,立即没有想到一行直接解决的办法,尽管知道能够先进行排序 ...