在 openSUSE Leap 中安装脑科学研究工具 FSL

如果你在用 Windows 的话,想要处理fMRI数据基本上只有 SPM 用,不过如果你在用 Linux 的话,还可以试试 FSL,刚好手边有一台 Linux 服务器就想着装一个 FSL 试试看。结果发现这玩意的安装文档写的跟屎一样,你基本不能跟着文档把软件装好,在折腾了整整一上午后留下这份笔记,希望能对一些和我一样可怜的家伙起到帮助。 _ノ乙(、ン、)_

安装必要的包

你需要安装编译 FSL 所必要的全部包,官方教程给的安装列表少了很多包,下面是完整的编译用软件包列表:

1
2
# zypper in expat-devel libX11-devel Mesa-libGL-devel zlib-devel libexpat-devel glu-devel vtk-devel vtk
# zypper in http://dl.fedoraproject.org/pub/fedora/linux/releases/27/Everything/x86_64/os/Packages/s/scl-utils-2.0.2-3.fc27.x86_64.rpm

注意: scl-utils 这个包在 OpenSUSE 的软件源里是没有的,我们需要从其他 RH 系发行版的软件源里面抓。这不是一个安全的安装方式,在安装时你必须清楚的了解自己在做什么。

下载源代码并编译

在这个页面下载 FSL 源代码,并将源代码解压到你的安装目录下:

1
tar zxf fsl-5.0.0-sources.tar.gz

注意: 在编译安装完 FSL 后,安装目录就不能移动了,因此不推荐将 FSL 的源代码解压到一个临时文件夹下。

修改编译配置文件

打开配置文件 $FSLDIR/config/$FSLMACHTYPE/externallibs.mk,并找到下列条目:

1
2
3
4
# VTK library
VTKDIR_INC = /home/fs0/cowboy/var/caper_linux_64-gcc4.4/VTK7/include/vtk-7.0
VTKDIR_LIB = /home/fs0/cowboy/var/caper_linux_64-gcc4.4/VTK7/lib
VTKSUFFIX = -7.0

修改为:

1
2
3
VTKDIR_INC = /usr/include/vtk-7.0
VTKDIR_LIB = /usr/lib64/vtk
VTKSUFFIX =

编译安装

配置环境变量:

编辑shell配置文件,假设你在使用的shell是bash,那么我们可以编辑~/.bashrc,如果该文件之前不存在,那么我们可以创建一个新的文件。

在该文件中添加如下内容:

1
2
3
4
FSLDIR="[FSL的安装目录]"
. ${FSLDIR}/etc/fslconf/fsl.sh
PATH=${FSLDIR}/bin:${PATH}
export FSLDIR PATH

执行下面的命令来重启你的shell:

1
exec "$BASH"

开始编译:

1
2
cd $FSLDIR
./build

执行安装后的软件配置:

1
$FSLDIR/etc/fslconf/post_install.sh -f $FSLDIR

我在使用的是 OpenSUSE Leap 42.3,如果你在和我使用同样的发行版版本,那么编译过程应当是顺利的。

现在,你可以通过 fsl$FSLDIR/bin/fsl 启用该软件。

你已经成功的部署了 FSL 的运行环境,祝各位安装顺利科研愉快 _(┐「ε:)_……

附注

本文于2018年3月15日有更新,增强了配置的稳定性。