一起养成写作习惯!这是我参与「掘金日新计划 · 4 月更文挑战」的第9天,点击查看活动详情。
遇到的问题
- 其中错误重点:
Plugin net.sourceforge.czt.dev:cup-maven-plugin:1.6-cdh or one of its dependencies could not be resolved: Could not find artifact net.sourceforge.czt.dev:cup-maven-plugin:jar:1.6-cdh in spring-plugins (repo.spring.io/plugins-rel…)
- 解决方式:
vi fe/pom.xml change
<repositories>
<repository>
<id>central</id>
<name>central maven repo https</name>
<url>https://repo.maven.apache.org/maven2</url>
</repository>
<!-- for java-cup -->
<repository>
<!-- <id>cloudera-thirdparty</id>
<url>https://repository.cloudera.com/content/repositories/third-party/</url> -->
<id>cloudera-public</id>
<url>https://repository.cloudera.com/artifactory/public/</url>
</repository>
<!-- for bdb je -->
<repository>
<id>oracleReleases</id>
<url>http://download.oracle.com/maven</url>
</repository>
</repositories>
<pluginRepositories>
<!-- for cup-maven-plugin -->
<pluginRepository>
<id>spring-plugins</id>
<url>https://repository.cloudera.com/artifactory/ext-release-local</url>
</pluginRepository>
<pluginRepository>
<id>cloudera-public</id>
<url>https://repository.cloudera.com/artifactory/public/</url>
</pluginRepository>
</pluginRepositories>
然后再次重新执行编译
直接编译(CentOS/Ubuntu)
使用直接编译方式需要注意第三方包的下载一定要下载指定连接的包且务必完整。
环境准备
-
Centos Linux release 7.7.1908
-
GCC 7.3+
-
Oracle JDK 1.8+
-
Python 2.7+
-
Apache Maven 3.5+
-
CMake 3.11+
-
Bison 3.0+
系统依赖(一次性安装)
如果一次性安装所需软件,可以直接使用官方的如下命令:
sudo yum groupinstall 'Development Tools' && sudo yum install maven cmake byacc flex automake libtool bison binutils-devel zip unzip ncurses-devel curl git wget python2 glibc-static libstdc++-static java-1.8.0-openjdk
手动安装系统依赖
如果单独安装可以参考如下步骤
CMake 3.11+
0 基本的务必安装
yum install -y zip unzip curl git wget python2
1 下载并解压
访问 cmake.org/files,比如以 linux x86_64 系统为例,安装 3.11.4,可以下载如下 wget cmake.org/files/v3.11… tar -zxf cmake-3.11.4-Linux-x86_64.tar.gz
2 编译或创建软连
#cd cmake-3.11.4-Linux-x86_64 #./bootstrap --prefix=/usr/local/cmake mv cmake-3.11.4-Linux-x86_64 /usr/local/cmake ln -s /usr/local/cmake/bin/cmake /usr/bin/cmake
3 添加到环境变量
export PATH=$PATH:/usr/local/cmake/bin
查看版本验证 cmake --version
GCC 7.3+
这一步非常重要,最好下载满足条件的版本,耐心的编译,否则因为 GCC 版本或者包的问题容易在编译 Doris 出现一系列莫名的错误,因为 Doris 中依赖了较多的三方库(可以查看thirdparty/vars.sh),其中有些三方库会一般都需要对应的版本对 GCC 有一些要求。
1 查看环境中的 gcc 是否满足条件
gcc -v
2 环境(必须)
yum groupinstall "Development Tools" yum install -y glibc-static libstdc++-static yum install -y byacc flex automake libtool binutils-devel ncurses-devel
3 下载 GCC
例如这里下载 gcc 7.3.0 版本 官网下载页:gcc.gnu.org/releases.ht…
3.1 方式一【推荐】:编译方式(以 华中科技大源 为例)
wget mirror.hust.edu.cn/gnu/gcc/gcc… tar -xf gcc-7.3.0.tar.xz cd gcc-7.3.0 下载需要的包 需方访问 ftp://gcc.gnu.org/pub/gcc/infrastructure/, 如果失败可以将 mpc-1.0.3.tar.gz、mpfr-3.1.4.tar.bz2、isl-0.16.1.tar.bz2、gmp-6.1.0.tar.bz2 包下载放到项目根目录下 ./contrib/download_prerequisites 编译 mkdir build cd build ../configure --prefix=/usr/local/gcc-7.3.0 --enable-checking=release --enable-languages=c,c++ --disable-multilib 若给的资源不够,会导致编译时间较长 make -j(nproc)/4+1] make install
3.2 方式二:解压后创建软连直接使用
wget gfortran.meteodat.ch/download/x8… tar -xf gcc-7.5.0.tar.xz mv gcc-7.5.0 /usr/local/
4【可选】卸载或备份
rpm -q gcc rpm -e gcc-4.8.5-39.el7.x86_64 rpm -q libmpc rpm -q mpfr 【推荐】备份 mv /usr/bin/gcc /usr/bin/gcc_old mv /usr/bin/g++ /usr/bin/g++_old mv /usr/lib64/libstdc++.so.6 /usr/lib64/libstdc++.so.6_old
5 创建软连
ln -s /usr/local/gcc-7.3.0/bin/gcc /usr/bin/gcc ln -s /usr/local/gcc-7.3.0/bin/g++ /usr/bin/g++ cp /usr/local/gcc-7.3.0/lib64/libstdc++.so.6.0.24 /usr/lib64/ ln -s /usr/lib64/libstdc++.so.6.0.24 /usr/lib64/libstdc++.so.6 ln -s /usr/local/gcc-7.3.0/lib64/libatomic.so.1 /usr/lib64/libatomic.so.1
5 查看版本以验证
gcc -v g++ -v strings /usr/lib64/libstdc++.so.6 | grep GLIBC