centos72009源码编译R语言

./dev/make-distribution.sh --name custom-spark --pip --r --tgz -Pconnect -Psparkr -Phive -Phive-thriftserver -Pmesos -Pyarn -Dhadoop.version=3.4.0 -Pkubernetes clean -DskipTests

./dev/make-distribution.sh --name custom-spark --pip --r --tgz -Pconnect -Psparkr -Phive -Phive-thriftserver -Pmesos -Pyarn -Pkubernetes clean -DskipTests

wget https://cloud.r-project.org/src/base/R-4/R-4.4.1.tar.gz
sudo yum install gcc gcc-c++ make libcurl-devel libxml2-devel sqlite-devel -y
sudo yum install readline-devel libpng-devel libjpeg-devel libtiff-devel -y

说明:
在使用 ./configure 配置 R 的编译选项时,你可以根据需求添加多个参数。以下是一些常用的配置参数及其说明,适用于你提到的命令:

1. 常用配置参数
--prefix=/usr/local/R

指定 R 安装的基础目录。在这个路径下将会创建 bin、lib 等子目录。

--enable-R-shlib=yes

启用共享库,这对于某些 R 包(特别是需要与其他语言接口的包)是必要的。

--with-tcltk

启用对 Tcl/Tk 的支持。这是为了能够使用 R 图形用户界面功能(如 tcltk 包)。

2. 其他可用的配置选项
--with-blas

指定 BLAS (Basic Linear Algebra Subprograms) 的路径,以优化矩阵运算性能。例如:--with-blas=/usr/lib64/libblas.so。

--with-lapack

指定 LAPACK (Linear Algebra Package) 的路径,用于高级线性代数运算。例如:--with-lapack=/usr/lib64/liblapack.so。

--with-readline

启用 Readline 支持,允许在 R 命令行中使用更丰富的编辑功能。

--with-x

启用 X11 图形支持,允许使用 X11 窗口系统进行图形显示。

--with-jpeglib

启用 JPEG 图像支持。

--with-png

启用 PNG 图像支持。

--with-tiff

启用 TIFF 图像支持。

--with-dbi

启用 DBI 数据库接口。

--enable-memory-profiling

启用内存分析功能。

3. 示例命令

./configure --enable-R-shlib=yes \
            --with-tcltk \
            --prefix=/usr/local/R \
            --with-blas=/usr/lib64/libblas.so \
            --with-lapack=/usr/lib64/liblapack.so \
            --with-readline \
            --with-x \
            --with-jpeglib \
            --with-png \
            --with-tiff \
            --with-dbi \
            --enable-memory-profiling

问题1:configure: error: No Fortran compiler found
解决办法:sudo yum install gcc-gfortran -y


问题2:configure: error: BLAS was specified but not available
1. 安装 BLAS 库
对于 CentOS 系统,可以通过以下命令安装 OpenBLAS 或 ATLAS:

安装 OpenBLAS

yum update -y

sudo yum install openblas-devel -y
或者安装 ATLAS

sudo yum install atlas-devel -y
2. 指定 BLAS 路径
如果你安装了 BLAS,但仍然遇到问题,可能需要在配置时明确指定 BLAS 的路径。例如,如果安装了 OpenBLAS,你可以使用如下命令:
./configure --enable-R-shlib=yes \
            --with-tcltk \
            --prefix=/usr/local/R \
            --with-blas=/usr/lib64/libblas.so \
            --with-lapack=/usr/lib64/liblapack.so \
            --with-readline \
            --with-x \
            --with-jpeglib \
            --with-png \
            --with-tiff \
            --with-dbi \
            --enable-memory-profiling -with-blas=/usr/lib64/libopenblas.so --with-lapack=/usr/lib64/liblapack.so

    
3. 重新运行配置命令
安装完相应的 BLAS 库后,再次尝试运行 R 的配置命令

上面如果出现No package openblas-devel available
需要执行
sudo yum install epel-release -y
sudo yum install openblas-devel -y

再次执行./configure编译指令


问题3:configure: error: --with-x=yes (default) and X11 headers/libs are not available
sudo yum install libX11-devel libXt-devel -y
sudo yum install libXmu-devel libXrender-devel libXext-devel -y


问题4:checking whether bzip2 support suffices... configure: error: bzip2 library and headers are required
sudo yum install bzip2-devel -y


问题5:configure: error: PCRE2 library and headers are required, or use --with-pcre1 and PCRE >= 8.32 with UTF-8 support
sudo yum install pcre2-devel -y


安装make && make install

出现类似下面的输出

gcc -std=gnu11 -I. -I../../src/include -I../../src/include  -I/usr/local/include -DHAVE_CONFIG_H    -g -O2  -L/usr/local/lib64 -DR_HOME='"/usr/local/R/lib64/R"' \
  -o Rscript ./Rscript.c
mkdir -p -- /usr/local/R/lib64/pkgconfig
make[2]: Leaving directory `/home/R-4.4.1/src/unix'
make[2]: Entering directory `/home/R-4.4.1/src/main'
mkdir -p -- /usr/local/R/lib64/R/bin/exec
make[3]: Entering directory `/home/R-4.4.1/src/main'
make[3]: Leaving directory `/home/R-4.4.1/src/main'
make[3]: Entering directory `/home/R-4.4.1/src/main'
mkdir -p -- /usr/local/R/lib64/R/lib
make[3]: Leaving directory `/home/R-4.4.1/src/main'
make[2]: Leaving directory `/home/R-4.4.1/src/main'
make[2]: Entering directory `/home/R-4.4.1/src/modules'
make[3]: Entering directory `/home/R-4.4.1/src/modules/internet'
mkdir -p -- /usr/local/R/lib64/R/modules
make[3]: Leaving directory `/home/R-4.4.1/src/modules/internet'
make[3]: Entering directory `/home/R-4.4.1/src/modules/lapack'
make[3]: Leaving directory `/home/R-4.4.1/src/modules/lapack'
make[3]: Entering directory `/home/R-4.4.1/src/modules/X11'
make[3]: Leaving directory `/home/R-4.4.1/src/modules/X11'
make[2]: Leaving directory `/home/R-4.4.1/src/modules'
make[2]: Entering directory `/home/R-4.4.1/src/library'
mkdir -p -- /usr/local/R/lib64/R/library
installing packages ...
  building HTML index ...
make[2]: Leaving directory `/home/R-4.4.1/src/library'
make[1]: Leaving directory `/home/R-4.4.1/src'
make[1]: Entering directory `/home/R-4.4.1/tests'
make[1]: Nothing to be done for `install'.
make[1]: Leaving directory `/home/R-4.4.1/tests'
 

设置R_HOME的环境变量

export MANAGE_LOCAL_HBASE=true
export MANAGE_LOCAL_SOLR=true
export ZK_HOME=/home/zookeeper
export HADOOP_HOME=/home/hadoop-3.4.0
export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop
export ATLAS_HOME=/home/apache-atlas-2.3.0
export MYSQL_HOME=/home/mysql
export JAVA_HOME=/usr/java/jdk-17
export M2_HOME=/home/maven
export CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar
export SPARK_HOME=/home/spark-3.3.3-bin-hadoop3
#export KAFKA_HOME=/home/kafka
#export HBASE_HOME=/home/hbase-2.5.5-hadoop3
#export SOLR_HOME=/home/solr/server/solr
export SPARK_CONF_DIR=$SPARK_HOME/conf
export HIVE_HOME=/home/apache-hive-3.1.3-bin
export FLINK_HOME=/home/flink
export KYUUBI_HOME=/home/kyuubi-1.8.0
export R_HOME=/usr/local/R
export PATH=$PATH:$R_HOME/bin:$R_HOME/lib64/R/bin:$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$M2_HOME/bin:$ATLAS_HOME/bin:$MYSQL_HOME/bin:$SPARK_HOME/sbin:$SPARK_HOME/bin:$HIVE_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$FLINK_HOME/bin:$KYUUBI_HOME/bin:$ZK_HOME/bin
 

source /etc/profile
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值