1.编译环境准备
1.1系统
虚拟机:virtualbox
操作系统:ubuntu-16.04.7
内存:6G以上
磁盘:120G
设置创建root用户密码:sudo passwd root
1.2设置代理
必须设置能科学上网的代理,编译过程中需从gitlab还有google下载代码或者程序
可以设置全局代理:这样就无需设置git,node npm,curl,wget,svn等软件的代理,否则必须对以上几个软件设置单独的代理,
ubuntu设置全局代理:如下图分别设置http和https代理
ps:此外必须保证网络网速足够快,否则可能会经常出现代码拉取错误或者其他网络错误,大部分错误都是由于网络代理问题造成的
代理设置参考:
设置代理
①在设置中选择网络--代理--手动设置代理。
②设置git代理(普通用户也设置,不然检出个别代码有问题):
sudo git config --global http.proxy http://127.0.0.1:7890
sudo git config --global https.proxy https://127.0.0.1:7890
git config --global http.proxy http://127.0.0.1:7890
git config --global https.proxy https://127.0.0.1:7890
③设置全局代理(curl也是用这个的)
sudo export http_proxy=http://192.168.3.18:7890
sudo export https_proxy=http://192.168.3.18:7890
export http_proxy=http://127.0.0.1:7890
export https_proxy=http://127.0.0.1:7890
Export ALL_PROXY=socks://127.0.0.1:7891
Export all_proxy=socks://127.0.0.1:7891
取消git代理:
git config --global --unset http.proxy
git config --global --unset https.proxy
查看git代理:
git config --global --get http.proxy
git config --global --get https.proxy
如果curl不能访问的话,请参考这里再设置一下:
ssl - curl :(35)错误:1408F10B:SSL例程:ssl3_get_record:错误的版本号 - IT工具网
https://www.cnblogs.com/panxuejun/p/10574038.html
curl --proxy "http://user:pwd@1.0.0.1:8090" "http://httpbin.org/ip"
1.3软件准备
登录到root用户:su root
1.3.1安装git
sudo apt-get install -y git
设置缓存:sudo git config --global http.postBuffer 824288000 不设置可能会导致后续获取代码报错
安装python sudo apt-get install -y python
1.3.2安装pycharm-community
安装pycharm社区版本,用于查看项目python代码
1、sudo add-apt-repository ppa:mystic-mirage/pycharm
2、sudo apt-get update
3、sudo apt-get install pycharm-community
4、启动命令:pycharm-community
1.3.3下载build_tools项目
1、mkdir /home/onlyoffice
2、mkdir /home/onlyoffice/tools
3、cd /home/onlyoffice/
4、git clone GitHub - ONLYOFFICE/build_tools: Used to build ONLYOFFICE DocumentServer-related products
5、更改/home/onlyoffice/build_tools/tools/linux/automate.py 文件只编译desktop模块
1.3.4安装下载一些必备软件
- qt
环境准备
qt版本:5.9.9
-
- 重命名
下载后将文件名改为qt_source_5.9.9.tar.xz并放置在/build_tools/tools/linux文件夹下
2.编译
运行入口文件在/home/onlyoffice/build_tools/tools/linux目录的下automate.py
- cd /home/onlyoffice/build_tools/tools/linux
- ./automate.py
2.1报错
2.1.1执行到安装npm
1、Unable to locate package yarn报错,采用npm install -g yarn
2、npm install -g grunt-cli 报错
设置淘宝镜像:
npm config set registry https://registry.npmjs.org/
不知为何设置了1.2章节的系统全局代理后还是会报错,单独在设置代理
设置代理:
npm config set proxy=http://10.0.7.74:7890
npm config set https-proxy=http://10.0.7.74:7890
http://10.0.7.74:7890为主机自己的科学上网代理,
2.1.2执行编译core/Common/3dParty/icu模块报错
svn不走系统全局代理,需要单独设置代理,如下
要配置subversion的代理服务器,需要修改$HOME/.subversion/servers文件,在此文件的[global]段加上:
http-proxy-host = 10.0.7.74
http-proxy-port = 7890
注意以上配置前面不要留有空格,否则使用svn时会出现如下错误
.subversion/servers:68: Option expected
vim $HOME/.subversion/servers
2.1.3执行编译core/Common/3dParty/v8模块报错
原因是,depot_tools 需要设置环境变量代理,./depot_tools/fetch v8 执行失败,实际情况是否这样不可知
原来:
export http_proxy=http://10.0.7.74:7890/
export https_proxy=http://10.0.7.74:7890/
改为:
export http_proxy=http://10.0.7.74:7890
export https_proxy=http://10.0.7.74:7890
选过一个新的代理节点说不定也可以
2.2相关代码修改
2.2.1代码下载后可屏蔽如下代码,避免git更新拉取最新
3.运行
在非管理员执行
cd /home/onlyoffice/build_tools/out/linux_64/onlyoffice/desktopeditors/ LD_LIBRARY_PATH=./ ./DesktopEditors cd /home/onlyoffice/build_tools/out/linux_64/onlyoffice/desktopeditors/;LD_LIBRARY_PATH=./ ./DesktopEditors