编译CockroachDB比较麻烦,尤其是从git下载代码编译还需要关联项目的下载,本文整理从官网下载代码的编译过程,非常简单,几乎没有异常,供大家参考。

编译CockroachDB 21.2

1、安装Centos 8.5 虚拟机

  • 服务器类型选择Server,在软件包集合中选中“Performance Tools”和“Development Tools”
  • 设置网络并启动网络时间服务
  • 设置ISO文件为软件源
  • 简化安全选项:关闭和禁用firewalld服务,禁用selinux

2、准备开发环境

2.1、安装go开发环境

从go官网 https://golang.google.cn/dl/ 下载最新go版本 1.17.3

tar -xf tools/go1.17.3.linux-amd64.tar.gz -C .

编辑 .bash_profile 设置环境变量

export GOROOT=$HOME/go
export GOBIN=$HOME/go/bin
export GOPATH=$HOME/works
export PATH=$HOME/works/src/github.com/cockroachdb/cockroach/:$GOBIN:$PATH
export GOPROXY=https://goproxy.io,direct
export GOARCH=amd64
export CGO_ENABLED=1

执行source .bash_profile后验证

$ go version
go version go1.17.3 linux/amd64

2.2、安装go 调试工具

下载对应go 1.17的delve工具

http://mirror.centos.org/centos/8-stream/AppStream/x86_64/os/Packages/delve-1.7.2-1.module_el8.6.0+962+0036b8f3.x86_64.rpm

2.3、安装nodejs和yarn

cockroachdb自带http服务,编译时需要nodejs和yarn,ISO中带有NodeJs,也可以从镜像站点下载最新版本并安装,如:

https://mirrors.aliyun.com/centos/8-stream/AppStream/x86_64/os/Packages/nodejs-16.8.0-1.module_el8.6.0+928+039f010b.x86_64.rpm
https://mirrors.aliyun.com/centos/8-stream/AppStream/x86_64/os/Packages/nodejs-docs-16.8.0-1.module_el8.6.0+928+039f010b.noarch.rpm
https://mirrors.aliyun.com/centos/8-stream/AppStream/x86_64/os/Packages/nodejs-full-i18n-16.8.0-1.module_el8.6.0+928+039f010b.x86_64.rpm
https://mirrors.aliyun.com/centos/8-stream/AppStream/x86_64/os/Packages/npm-7.21.0-1.16.8.0.1.module_el8.6.0+928+039f010b.x86_64.rpm

注:如果下载404失败,一般是版本更新了,打开网页https://mirrors.aliyun.com/centos/8-stream/AppStream/x86_64/os/Packages/,更正链接即可

验证

$node --version
v16.8.0 $npm --version
7.21.0

设置代理

$npm config set registry http://registry.npm.taobao.org/

验证

$npm get registry
http://registry.npm.taobao.org/

安装yarn

$npm install -g yarn

安装

$yarn --version
1.22.17

设置yarn代理

$yarn config set registry http://registry.npm.taobao.org/

验证

$yarn config get registry
http://registry.npm.taobao.org/

2.4、安装其他依赖库

yum install cmake ncurses-devel -y

3、编译cockroachdb源码

3.1、准备源码

为了避免从github下载各种依赖包的麻烦,采用从官网下载源码编译

https://binaries.cockroachdb.com/cockroach-v21.2.0.src.tgz

tar -xf ~/tools/cockroach-v21.2.0.src.tgz -C ~/works/
cd works
mv cockroach-v21.2.0/* .
rm cockroach-v21.2.0 -rf

3.2、编译

cockroach-v21.2.0 首次编译时不会编译ui,最简单的方式就touch ui下的随便一个文件就好

cd src/github.com/cockroachdb/cockroach
touch pkg/ui/workspaces/db-console/src/app.tsx
然后编译
make build

简单验证

$cockroach version
Build Tag: v21.2.0
Build Time: 2021/11/21 07:09:43
Distribution: CCL
Platform: linux amd64 (x86_64-redhat-linux)
Go Version: go1.17.3
C Compiler: gcc 8.5.0 20210514 (Red Hat 8.5.0-3)
Build Commit ID: 79e5979416cb426092a83beff0be1c20aebf84c6
Build Type: development

单元测试

make test

在编译的最后生成文档节点会报:fatal: not a git repository (or any of the parent directories): .git

在单元测试中有几个用例会报错,也是git原因,还有就是作者邮箱不匹配,都可忽略,放心下一步探索即可。

最简编译CockroachDB 21.2的更多相关文章

  1. clang8.0及以上编译rocks问题

    升级了MacOS 10.15 Beta版,结果编译 CockroachDB 遇到了问题. [ %] Building CXX object CMakeFiles/rocksdb.dir/db/buil ...

  2. opencv 相关一个很好的博客

    http://blog.csdn.net/zouxy09/article/category/1218765 图像卷积与滤波的一些知识点 图像卷积与滤波的一些知识点zouxy09@qq.comhttp: ...

  3. 《深入理解Android内核设计思想》

    <深入理解Android内核设计思想> 基本信息 作者: 林学森 出版社:人民邮电出版社 ISBN:9787115348418 上架时间:2014-4-25 出版日期:2014 年5月 开 ...

  4. 本书版权输出到台湾地区,《深入理解Android内核设计思想》诚挚感谢大家一直以来的支持!

  5. Atitit.attilax软件研发与项目管理之道

    Atitit.attilax软件研发与项目管理之道 1. 前言4 2. 鸣谢4 3. Genesis 创世记4 4. 软件发展史4 5. 箴言4 6. 使徒行传 4 7. attilax书 4 8. ...

  6. Java虚拟机3:常用JVM命令参数

    之后写的东西就会用到虚拟机参数了,现在这里汇个总自己平时用到的.看到的一些虚拟机参数.现在看不懂没关系,反正之后都会用到的: (1)-Xms20M 表示设置堆容量的最小值为20M,必须以M为单位 (2 ...

  7. Unity3D所使用的第三方工具

    前言 最近在研究Unity3D的结构和原理.关于Unity3D怎么用之类的教程在网上一找一大堆,想看教程之类的就不用看这篇文章了.我想做的是从使用Unity3D所看到的表象(表),摸透其设计原则和组织 ...

  8. 《Cocos2d-x实战 C++卷》上线了-源码-样章-感谢大家的支持

    <Cocos2d-x实战 C++卷>上线了 感谢大家一直以来的支持! 全面介绍Cocos开发技巧,采用Cocos2d-x3.2版本,并且详细介绍跨平台移植已经多平台发布细节. · 各大商店 ...

  9. Debian 7 安装 Emacs 24.3

    Emacs 24.3出来好久了,但是在Debian 7里还是Emacs 23的版本. 以下是安装步骤(9步): -dev libncurses5-dev autoconf automake texin ...

  10. Codeforces Round #232 (Div. 1)

    这次运气比较好,做出两题.本来是冲着第3题可以cdq分治做的,却没想出来,明天再想好了. A. On Number of Decompositions into Multipliers 题意:n个数a ...

随机推荐

  1. JS5-PC端网页特效

    常见offset系列属性作用 常见client系列属性作用 常见scroll系列属性作用 封装简单动画函数 写出网页轮播图案例 offset 偏移量,使用offset相关属性可以动态的得到该元素的位置 ...

  2. 音频wav文件转sbc工具wav2sbc下载

    前记: 书到用时方恨少,工具用时方才发现好不到.为了一个工具,也是折腾了有一阵了. 工具说明: 在耳机中,各大芯片公司为了节省内存,本地播放的一般都是sbc格式文件,这就用到了wav转sbc文件的软件 ...

  3. 什么叫运行时的Java程序?

    Java程序的运行包含编写.编译和运行三个主要步骤. 1.在编写阶段: 开发人员在Java开发环境中输入程序代码,形成后缀名为.java的Java源文件. 2.在编译阶段: 使用Java编译器对源文件 ...

  4. electron程序运行在某些 windows 上白屏

    现象: 打包后的 electron 程序 运行在某些 windows 上白屏 项目情况: vue3.0  项目使用 vue-cli 创建 使用 vue add electron-builder 添加打 ...

  5. Tomcat异常之 Exception loading sessions from persistent storage解决方案

    启动项目时报以下异常 严重: Exception loading sessions from persistent storage java.io.EOFException 遇到上述异常,删除Tomc ...

  6. Android IjkPlayer解决RTSP延时300ms左右

    简介 在上一篇<ijkplayer编译-RTSP>中介绍了,ijkplayer如何进行编译成so库的,以及如何开启rtsp.那么实际在使用的时候会发现延迟不是一般的大. 现在来介绍一下如何 ...

  7. union all 优化案例

    遇到个子查询嵌套 UNION ALL 的SQL语句很慢,谓词过滤条件不能内推进去,需要优化这段 UNION ALL这块的内容. UNION ALL 慢SQL: SELECT * FROM ((SELE ...

  8. Zookeeper学习笔记-安装

    zookeeper官网地址https://zookeeper.apache.org/ 1.卸载CentOS自带的open jdk,安装oracle jdk(1.8) 2.时间同步 #安装ntpdate ...

  9. C# 中文文字识别OCR

    效果 完整Demo下载https://download.csdn.net/download/lw112190/81743333 1. Vs2017打开OcrLiteOnnxCs.sln. 2. 解决方 ...

  10. .NET周刊【3月第3期 2024-03-24】

    国内文章 Garnet: 力压Redis的C#高性能分布式存储数据库 https://www.cnblogs.com/InCerry/p/18083820/garnet_introduce 微软研究院 ...