工欲善其事必先利其器,软件就是生信人的武器,这篇文就是分享使用 cmake 配置遇到 permission denied 时应该怎么解决。

一般错误出现的情况

一般来说,cmake 安装软件的流程都是大致如下:

1
2
3
4
$ git clone xxx # 下载某个软件
$ cd xxx # 进入下载的文件夹中
$ cmake . # cmake 进行编译配置
$ make install # make 进行安装

在最后一步 make install 的时候,有时会出现 permission denied。

如果具有 sudo 权限

这种情况一般发生在自己的电脑上(root 用户),又或者拥有 sudo 权限,加一个 sudo 即可。

1
$ sudo make install

如果不具有 sudo 权限

本篇文章的重心,permission denied 的原因是自己没有在 /usr/local 配置文件的权限而又无法通过 sudo 解决,这个路径是很多软件默认的安装路径,但同样也是可选的,所以解决方法就是把安装路径改到自己有权限的路径即可。

1
2
3
# cmake 时指定其他安装路径
$ cmake -DCMAKE_INSTALL_PREFIX:PATH=/xxx/xxx .
$ make install

这里需要更改的即 /xxx/xxx(调整为要安装的路径),最后的 . 并不是错打而是必需的

其他

如果使用 make 安装发生这种问题也不用慌,解决方法是相近的:

1
2
3
$ ./configure --prefix=/xxx/xxx
$ make
$ make install

如果没有 configure 配置文件可以按照下面的方法进行:

1
2
$ make
$ make prefix=/xxx/xxx install

记得把安装路径配置进 PATH 变量里,以后方便调用 :)