常见问题解答
Perl相关库的安装
建议使用conda安装,
conda install -c bioconda perl-xml-sax
GPU没有调用,某些动态链接库没有找到
配置cuda路径:
export LD_LIBRARY_PATH =$LD_LIBRARY_PATH:/opt/pkgs/cuda/cublas/lib64:/opt/pkgs/cuda/cuda-toolkit/lib64
平台cuda版本是什么?
当前安装的cuda版本是10.1。
编译/运算出现MemoryError/segmentation fault、cannot allocate memory等错误
检查是否在登陆节点(workstation)进行编译/运算,如果是运行
salloc
到分配的计算节点进行编译/运算。修改
.bashrc
导致终端命令不能执行在命令界面写入系统命令的PATH,然后编辑。或者在本地写好bashrc上传到自己目录下。
公共集群上slurm上提交任务后状态显示
PD
,是什么意思?显示
PD
即在排队等待资源。Xshell等终端软件无法登录集群,一直显示拒绝密码
将密码重置为复杂度高的密码即可。
自己安装软件显示权限不足
修改-prefix等安装路径选项,修改到自己目录下。
Python3无法使用
配置conda环境后即可使用conda带的python3版本。
sbatch
报错error: Invalid directive found in batch
检查
sbatch
脚本,是否有参数书写错误。Java相关软件的安装
直接安装在自己的路径下。
Gcc编译g++:
error: unrecognized command line option ‘-m64’
检查当前是否在ARM平台,如果在ARM平台可以切换到cpu平台再编译。
校外如何SSH远程访问?
登陆学校VPN主页,选择老版vpn登陆,然后再登陆系统。
如何切换GCC的版本?
使用
module switch
将当前版本切换为需要的版本,具体语法见module使用文档。拥有多个实例时,实例存储空间共享吗?
在一个项目里的多个实例存储空间是共享的,不同项目下的实例则路径不同。具体参见文件传输
在windows里面编辑的Gaussion输入文件,注意不要使用windows路径符号如
d:\
,在Linux运行会报错常见的
undefined reference to
问题解决办法目标文件缺失:当进行可执行程序链接时,链接命令中找不到某个函数所在源代码的目标文件
***.o
,出现undefined reference to ***
错误。解决办法:找到需要的目标文件
***.o
,然后将其添加到链接命令中, 解决问题。库文件缺失:当进行可执行程序链接时,链接命令中找不到某个库函数所在的库文件,出现
undefined reference to ***
错误。解决办法:找到需要的库文件,然后将其绝对路径使用
-L
和-l
添加到链接命令中,解决问题。多个库文件连接顺序:当进行可执行程序链接时,所需目标文件和库文件均齐全,但由于链接顺序问题,出现库文件依赖报错,从而同样会出现
undefined reference to ***
错误。解决办法:在链接命令中给出所依赖的库时,需要注意库之间的依赖顺序,依赖其他库的库一定要放到被依赖库的前面,避免
undefined reference
的错误,完成编译链接。C++代码链接C库文件:若库文件或目标文件由C代码生成的,则在 c++代码中链接目标函数时,也会碰到
undefined reference
的问题。解决办法:由于 C++代码调用C语言库的函数,链接目标文件时候找不到,出现
undefined reference to ***
错误。只需在调用C语言库函数的源码文件中,把与C语言库相关的头文件包含添加一个extern "C"
的声明即可。