llvm flang的编译安装

flang编译安装

flang安装问题与解决办法

flang简单使用

 

flang简介

Flang是一个用于与LLVM集成的Fortran前端,具有与Clang C ++和LLVM一致的开放源代码许可,并且适合在各种系统中与Clang / LLVM进行部署和互操作。

llvm+flang安装

安装前的说明:此安装方法全程不需要管理员权限,用户可自行安装在自己目录下。

0. 环境要求

cmake>=3.4.3
gcc>=5.1.0
python>=2.7
zlib>=1.2.3
GNU Make>=3.7.9

1. 安装准备

创建目录并定义cmake 编译选项。这里我们选择将所有都安装在install目录下。

cd /where/you/want/to/build/flang
mkdir install

 这里我们编写一个setup.sh,来存储编译选项。我们指定了一个自定义安装位置,并且通常希望使用clang为X86进行构建。-DCMAKE_INSTALL_PREFIX即为安装位置。

INSTALL_PREFIX=`pwd`/install

# Targets to build should be one of: X86 PowerPC AArch64
CMAKE_OPTIONS="-DCMAKE_INSTALL_PREFIX=$INSTALL_PREFIX \
    -DLLVM_CONFIG=$INSTALL_PREFIX/bin/llvm-config \
    -DCMAKE_CXX_COMPILER=$INSTALL_PREFIX/bin/clang++ \
    -DCMAKE_C_COMPILER=$INSTALL_PREFIX/bin/clang \
    -DCMAKE_Fortran_COMPILER=$INSTALL_PREFIX/bin/flang \
    -DLLVM_TARGETS_TO_BUILD=X86"

2. 安装llvm

我们依旧选择编写一个shell来安装llvm。

下面是build-llvm.sh。先从GitHub上获取release70的llvm,后在build目录下进行编译安装。这里我们使用gcc和g++作为c和c++的编译器,其位置在/usr/bin。你需要根据自己的gcc和g++位置来指定他们。

. ./setup.sh

if [[ ! -d llvm ]]; then
    git clone https://github.com/flang-compiler/llvm.git
    (cd llvm && git checkout release_70)
fi

cd llvm

# Use local GCC to bootstrap LLVM
mkdir -p build && cd build
cmake $CMAKE_OPTIONS -DCMAKE_C_COMPILER=/usr/bin/gcc -DCMAKE_CXX_COMPILER=/usr/bin/g++ ..
make -j$(nproc)
make install

3. 安装flang-driver

依旧使用gcc和g++来进行编译。此步骤安装了clang编译器,安装完成后,我们可以在install/bin目录下看到clang、clang++。安装的clang为7.1.0版本。细心一点,我们还可以发现flang的快捷方式,打开后发现其指向clang。

. ./setup.sh

if [[ ! -d flang-driver ]]; then
    git clone https://github.com/flang-compiler/flang-driver.git
    (cd flang-driver && git checkout release_70)
fi

# Use local GCC to bootstrap flang-driver
cd flang-driver
mkdir -p build && cd build
cmake $CMAKE_OPTIONS -DCMAKE_C_COMPILER=/usr/bin/gcc -DCMAKE_CXX_COMPILER=/usr/bin/g++ ..
make -j$(nproc)
make install

4. 安装openmp

此步骤开始,我们使用clang,clang++来编译。

. ./setup.sh

if [[ ! -d openmp ]]; then
    git clone https://github.com/llvm-mirror/openmp.git
    (cd openmp && git checkout release_70)
fi

cd openmp
mkdir -p build && cd build
cmake $CMAKE_OPTIONS ..
make -j$(nproc)
make install

5. 安装flang

终于,我们可以安装flang了!废话不多说,先上build_flang.sh

. ./setup.sh

if [[ ! -d flang ]]; then
    git clone https://github.com/flang-compiler/flang.git
fi

(cd flang/runtime/libpgmath
 mkdir -p build && cd build
 cmake $CMAKE_OPTIONS ..
 make -j$(nproc)
 make install)

cd flang
mkdir -p build && cd build
cmake $CMAKE_OPTIONS ..
make -j$(nproc)
make install

 注意到,在此过程中,我们需要进行两次编译。第一次是在flang/runtime/libgmath/目录下,第二次是在flang目录下。

 6. 路径设置

安装完成后,我们需要配置环境变量。

打开bashrc

vim ~/.bashrc

添加如下语句:

export PATH=/where/your/flang/install/bin:$PATH
export LD_LIBRARY_PATH=/where/your/flang/install/lib:$LD_LIBRARY_PATH

 重启之后,就可以使用了。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值