ps:本文所有安装是在root用户下操作的,普通用户安装时请注意相应的安装路径*
检查系统并更新sudo apt update sudo apt upgrade安装c++ 11
- 检查Ubuntu现在的g++版本
gcc -v g++ -v
到gcc官提供的镜像服务器中去下载源码。镜像地址
wget http://ftp.tsukuba.wide.ad.jp/software/gcc/releases/gcc-11.3.0/gcc-11.3.0.tar.gz tar -xzvf gcc-11.3.0.tar.gz cd gcc-11.3.0 sudo ./configure --prefix=/usr/local/gcc-11.3.0 --enable-threads=posix --disable-checking --disable-multilib --enable-languages=c,c++ --with-gmp=$HOME/local/ --with-mpfr=$HOME/local/ --with-cgal=$HOME/local/ make sudo make install
- gcc多版本切换
查看系统已安装的 GCC 版本
ls -l /usr/bin/gcc*
设置各版本的gcc权重
sudo update-alternatives --install /usr/bin/gcc gcc /usr/local/gcc-11.3.0/bin/gcc 40 sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-9 20
设置g++版本优先级
sudo update-alternatives --install /usr/bin/g++ g++ /usr/local/gcc-11.3.0/bin/g++ 40 sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-8 50 sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-9 20
切换
sudo update-alternatives --config gcc sudo update-alternatives --config g++
参考:
https://zhuanlan.zhihu.com/p/261001751
https://zhuanlan.zhihu.com/p/377881136
- 安装所需环境
在进行ifort安装前,ubuntu内需要有一些基本库的,不然安装会不成功,在终端中使用以下两条语句完成基本库的配置:
sudo apt update sudo apt -y install gcc g++ cmake pkg-config build-essential
- 安装Ifort
下载ifort在线安装包
wget https://registrationcenter-download.intel.com/akdlm/irc_nas/18703/l_fortran-compiler_p_2022.1.0.134.sh sudo bash l_fortran-compiler_p_2022.1.0.134.sh
执行bash 命令后 会弹出图形化安装界面,只需要一步一步往下安装就好了
- 设置环境变量
root 安装路径
/opt/intel/oneapi/普通用户安装路径
~/intel/oneapi/
设置环境变量:在~/.bashrc中添加
source/setvars.sh
具体方法为:在home目录下按ctrl+h打开隐藏文件,在.bashrc最后另起一行添加
source /opt/intel/oneapi/setvars.sh
(这里我是以超级管理员安装的)
最后一步测试:新打开终端输入ifort -v,有ifort版本号提示即表示安装成功。
参考:
https://www.bilibili.com/read/cv15164219?spm_id_from=333.788.b_636f6d6d656e74.6
- 检查安装root的环境
sudo apt update sudo apt upgrade sudo apt-get install cmake sudo apt-get install build-essential binutils-gold libtool gfortran sudo apt-get install libx11-dev libxft-dev libxext-dev libxpm-dev sudo apt-get install freeglut3 freeglut3-dev g++ libglew-dev sudo apt-get install libglew1.5-dev libglm-dev libssl-dev sudo apt-get install libxi-dev libxmu-dev libftgl-dev automake sudo apt-get install python-dev mesa-common-dev mesa-utils sudo apt-get install libgsl-dev git sudo apt-get install dpkg-dev binutils libpcre3-dev xlibmesa-glu-dev sudo apt-get install libmysqlclient-dev libfftw3-dev libcfitsio-dev sudo apt-get install graphviz-dev libavahi-compat-libdnssd-dev sudo apt-get install libldap2-dev python-dev libxml2-dev libkrb5-dev
- 安装root
在ROOT官网中获取要安装的Root版本路径
// 下载root wget https://root.cern/download/root_v6.26.02.Linux-ubuntu20-x86_64-gcc9.4.tar.gz tar -xvzf root_v6.26.02.Linux-ubuntu20-x86_64-gcc9.4.tar.g source root/bin/thisroot.sh //解压后的root路径
将thisroot.sh(可在该目录下pwd查看绝对路径)添加到~/.bashrc 中
source /root/root/root/bin/thisroot.sh //root用户下安装路径安装 GSL (GNU Scientific Library)
下载安装包
cd gsl wget https://mirrors.tuna.tsinghua.edu.cn/gnu/gsl/gsl-2.7.1.tar.gz // 检查 编译 安装 ./configure && make && make install
编译成功后,默认安装在了/usr/local下
cd /usr/local/bin ln /usr/local/lib/libgsl.so /usr/local/lib/libgsl.so.0
编辑/etc/profile
gedit /etc/profile
在最下面加上下面一行代码
export LD_LIBRARY_PATH=/usr/local/lib: $LD_LIBRARY_PATH source /etc/profile //刷新配置安装cmake
查看是否安装过cmake
cmake --version
如果没有安装过,则下载源码进行安装 到官网获取最新版本下载地址
wget https://github.com/Kitware/CMake/releases/download/v3.23.1/cmake-3.23.1.tar.gz tar -zxvf cmake-3.23.1.tar.gz cd cmake-3.23.1 ./bootstrap安装Garfield++
下载Garfield++ 源码
git clone https://gitlab.cern.ch/garfield/garfieldpp.git //添加安装路径 export GARFIELD_HOME=/root/garfielpp/garfieldpp-master cmake $GARFIELD_HOME source /root/garfielpp/garfieldpp-master/install/share/Garfield/setupGarfield.sh cmake -DCMAKE_INSTALL_PREFIX=/home/mygarfield $GARFIELD_HOME cmake -DCMAKE_BUILD_TYPE = RelWithDebInfo $GARFIELD_HOME遇到的问题
- 在运行Example的时候 编译通过,运行是提示:version `GLIBCXX_3.4.29’ not found
- 根据提示,搜索后 将Gcc的动态编译库修改成最新版本
find / -name "libstdc++.so*" // 选择最高版本的libstdc++.so.XXX 复制到/usr/lib64 下面 cp /root/gcc-11.3.0/x86_64-pc-linux-gnu/libstdc++-v3/src/.libs/libstdc++.so.6.0.29 /usr/lib64/ //切换工作目录至/usr/lib64: cd /usr/lib64 //删除以前的软连接 rm -rf libstdc++.so.6 //建立新的软连接 ln -s libstdc++.so.6.0.29 libstdc++.so.6
- 重新建立软连接后,发现还是报错,怀疑库文件是否正常安装。检查/重新安装库文件
sudo apt-get update sudo apt-get install libstdc++6 sudo apt-get install lib32stdc++6
重新安装后lib32stdc++6,Example正常运行,至此环境搭建完成。



