Chromium60编译说明

系统说明

Fedora21系统(Loongson发布的loongnix系统版本为主)—-推荐

Deepin系统

其它系统也可进行源码编译,依赖库有所区别,其它过程都是一样的

代码下载

环境配置

1)安装依赖库

Loongnix系统

yum install gcc-c++ alsa-lib-devel ninja-build atk-devel bison cups-devel dbus-devel expat-devel flex fontconfig-devel GConf2-devel glib2-devel

yum install gtk3-devel glibc-devel gperf libatomic libcap-devel libdrm-devel libgcrypt-devel libudev-devel libusb-devel libXdamage-devel libXScrnSaver-devel

yum install libappstream-glib libgnome-keyring-devel gnome-keyring-devel gtk2-devel

yum install libstdc++-devel openssl-devel libXtst-devel nodejs nss-devel pciutils-devel pulseaudio-libs-devel npm

yum install bzip2-devel dbus-glib-devel elfutils-libelf-devel flac-devel hwdata kernel-headers libevent-devel libffi-devel

yum install libicu-devel libuuid-devel

yum install libudev-devel libxslt-devel opus-devel perl-Switch speech-dispatcher-devel yasm pam-devel

yum install msttcorefonts kochi-substitute-fonts

Deepin系统

apt-get install net-tools git ftp

apt-get install libcups2-dev libnss3-dev libfreetype6-dev libpango1.0-dev libatk1.0-dev libdbus-1-dev libpulse-dev libgtk2.0-dev libffi-dev

apt-get install ninja-build nodejs(nodejs安装后,需执行sudo ln -sv /usr/bin/nodejs /usr/bin/node)

apt-get install libasound2-dev bison gperf libpci-dev libgl1-mesa-dev libxtst-dev libxss-dev libkrb5-dev

2)设置swap分区,防止编译内存地址空间不够

最好设置4G及以上的交换分区

dd if=/dev/zero of=/swapfile bs=1M count=4096

mkswap /swapfile

swapon /swapfile

代码编译

1)先进入$Chromium 目录进行GN_CONFIGS设置。

GN_CONFIG=('google_api_key="AIzaSyDxKL42zsPjbke5O8_rPVpVrLrJ8aeE9rQ"'

'google_default_client_id="595013732528-llk8trb03f0ldpqq6nprjp1s79596646.apps.googleusercontent.com"'

'google_default_client_secret="5ntt6GbbkjnTVXx-MSxbmx5e"'

'clang_use_chrome_plugins=false'

'enable_hangout_services_extension=true'

'enable_nacl=false'

'enable_nacl_nonsfi=false'

'enable_widevine=true'

'fatal_linker_warnings=false'

'ffmpeg_branding="Chrome"'

'fieldtrial_testing_like_official_build=true'

'is_debug=false'

'is_clang=false'

'link_pulseaudio=true'

'linux_use_bundled_binutils=false'

'proprietary_codecs=true'

'remove_webcore_debug_symbols=true'

'symbol_level=0'

'treat_warnings_as_errors=false'

'use_allocator="none"'

'use_cups=true'

'use_gconf=false'

'use_gnome_keyring=false'

'use_gold=false'

'use_gtk3=false'

'use_kerberos=true'

'use_pulseaudio=true'

'use_sysroot=false')

2)GN生成配置

a)下载depot_tools

git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git

export PATH=$PATH:$depot_tools(你所下载的depot_tools的绝对路径)

b)python tools/gn/bootstrap/bootstrap.py --gn-gen-args "${GN_CONFIG[*]}"

该过程可能需要设置ninja的路径。

cd ~

git clone https://github.com/martine/ninja.git -b v1.7.2

cd ninja && ./configure.py —bootstrap

export PATH=$ninja:$PATH ($ninja表示ninja所在的绝对路径)

c)out/Release/gn gen out/Release --args="${GN_CONFIG[*]}"

3)代码编译

ninja -C out/Release chrome

执行完,进入out/Release即可发现执行文件chrome,运行需要设置下chrome-sandbox

4)chrome-sandbox设置

ninja -C out/Release chrome_sandbox

进入out/Release,进入如下设置:

mv chrome_sandbox chrome-sandbox

sudo chown root:root chrome-sandbox

sudo chmod 4755 chrome-sandbox

运行

直接进入out/Release,运行./chrome即可打开你所编译的chromium浏览器了。

安装包制作

目前龙芯chromium只适配了Loongnix系统rpm包:

其它系统,大家可以利用源码自行适配。

Logo

瓜分20万奖金 获得内推名额 丰厚实物奖励 易参与易上手

更多推荐