复旦高性能计算 (一) Linux无root权限安装软件:以R为示例
第一步 ssh登录到终端
推荐使用 [FinalShell](https://www.hostbuf.com/)
或 MobaXterm
或者 PowerShell
也可以用,下面是 PowerShell
优化SSH连接体验的方法
- 打开 C:\Users 找到自己的 home,比如我是C:\Users\11248
- 新建 C:\Users\11248\.ssh 目录,或打开已有的这个目录
- 新建 config 配置文件,并且没有后缀名
- 记事本打开 C:\Users\11248\.ssh\ config
- 添加内容
ServerAliveInterval 60
并保存
- 按下
win+R
快捷键 - 输入
powershell
确定 - 输入
ssh userName@server
回车,如pi@192.168.1.2
或pi@raspberrypi
第二步 建立相关文件夹
- bin:
mkdir ~/zlliu/bin
- lib:
mkdir ~/zlliu/lib
- include:
mkdir ~/zlliu/include
- 源码存放位置
libsource
:mkdir ~/zlliu/libsource
- 软件存放位置
dev
:mkdir ~/zlliu/dev
第三步 安装编译器
- 下载 https://mirrors.ustc.edu.cn/gnu/gcc/gcc-11.1.0/gcc-11.1.0.tar.gz 并通过ssh上传到
libsource
目录 - 打开
libsource
目录:cd ~/zlliu/libsource
- 解压
[gcc-11.1.0.tar.gz](https://mirrors.ustc.edu.cn/gnu/gcc/gcc-11.1.0/gcc-11.1.0.tar.gz)
:tar -zvxf gcc-11.1.0.tar.gz
- 进入
gcc-11.1.0
目录,创建gcc-build
目录:cd gcc-11.1.0 && mkdir gcc-build
- 安装依赖库:
./contrib/download_prerequisites
- 编译前配置:
cd gcc-build && ../configure --prefix=$HOME/zlliu/dev/gcc11 --enable-checking=release --enable-languages=c,c++,fortran,d,go,lto,objc,obj-c++ --disable-multilib
- 编译并安装:
make -j8 && make install
- 创建动态链接1:
ln -s /home/rqzhang/zlliu/dev/gcc11/lib64/lib* ~/zlliu/lib/
- 创建动态链接2:
ln -s /home/rqzhang/zlliu/dev/gcc11/bin/* ~/zlliu/bin/
- 创建动态链接3:
ln -s /home/rqzhang/zlliu/dev/gcc11/include/* ~/zlliu/include/
- 修改
~/.bash_profile
文件,添加如下内容:
Makefile编译选项CC与CXX/CPPFLAGS、CFLAGS与CXXFLAGS/LDFLAGS
1 |
|
- 激活配置:
source .bash_profile
- 测试是否成功:
gcc --version
第四步 编译安装R
- 下载R语言安装文件:https://mirrors.tuna.tsinghua.edu.cn/CRAN/
- 上传解压进入并创建r-build目录
- 编译配置:
../`configure`
--prefix=$HOME/zlliu/dev/r4 --enable-R-shlib --with-x=no
--with-cairo
- 编译并安装:
make -j8 && make install
- 创建动态链接1:
ln -s /home/rqzhang/zlliu/dev/r4/bin/* ~/zlliu/bin/
- 创建动态链接2:
ln -s /home/rqzhang/zlliu/dev/`r4`/lib64/R/lib/lib* ~/zlliu/lib/
- 测试是否成功:
R --version
第五步 依次解决编译过程中的依赖缺失报错
- 修改
config.site
文件nano -K ../**config.site**
CPPFLAGS='-I/es01/paratera/sce2622/include' LDFLAGS='-L/es01/paratera/sce2622/lib'
- configure: error: –with-readline=yes (default) and headers/libs are not available
下载源码:https://ftp.gnu.org/gnu/readline/?C=M;O=Dtar -zxvf readline-master.tar.gz ./configure --prefix=$HOME/dev/readline
make -j8 && make install
ln -s /es01/paratera/sce2622/dev/readline/lib/lib* ~/lib/ ln -s /es01/paratera/sce2622/dev/readline/include/* ~/include/
下载源码:https://ftp.gnu.org/gnu/termcap/
安装同上 - configure: error: bzip2 library and headers are required
下载源码:https://sourceforge.net/projects/bzip2/files/make && make install PREFIX=$HOME/dev/bzip2
ln -s /es01/paratera/sce2622/dev/bzip2/lib/lib* ~/lib/ ln -s /es01/paratera/sce2622/dev/bzip2/bin/* ~/bin/ ln -s /es01/paratera/sce2622/dev/bzip2/include/* ~/include/
- configure: error: “liblzma library and headers are required”
下载源码:https://tukaani.org/xz/
安装同上 - configure: error: PCRE2 library and headers are required, or use –with-pcre1 and PCRE >= 8.32 with UTF-8 support
下载源码:http://www.pcre.org/
安装同上 - configure: error: libcurl >= 7.28.0 library and headers are required with support for https
确保有 openssl
下载源码:https://curl.haxx.se/download.htmlwhereis openssl
./configure --with-ssl --prefix=$HOME/dev/curl
安装同上 - 编译安装新版make
下载源码:https://ftp.gnu.org/gnu/make/
安装同上 - 编译安装binutils
下载源码:https://ftp.gnu.org/gnu/binutils/
安装同上 - libbz2.a(blocksort.o): warning: relocation against
memset@@GLIBC_2.2.5' in read-only section
.text’
修改bzip2-1.0.6的Makefile文件
CC=gcc —> CC=gcc -fPIC
LDFLAGS= -L/es01/paratera/sce2622/lib -Wl,-R/es01/paratera/sce2622/lib
重编译 bzip2 - libtermcap.a(tparam.o): relocation R_X86_64_32 against `.rodata’ can not be used when making a shared object; recompile with -fPIC
处理同上
第七步 删除无效软连接
1 |
|
复旦高性能计算 (一) Linux无root权限安装软件:以R为示例
https://b.limour.top/631.html