做GWAS或QTL有可能会用到一个比较老的工具GQT,这个工具还有meta的功能,但网上关于这个工具的介绍非常之少。如果之前有安装过这个比较冷门的工具,会发现,cp工具里的包之后并不能直接使用,这篇就介绍一些报错解决的方法。注意,这里是想在集群HPC上使用GQT,且之前已经有GQT.tar.gz并成功安装了,但cp后无法正常使用。
1. 无法打开 libhts.so.3
运行--help之后报错。
GQT/bin/gqt --help
报错:
error while loading shared libraries: libhts.so.3: cannot open shared object file: No such file or directory
解决方法:
查找libhts.so.3的位置,将路径改成libhts.so.3所在的位置。我的文件再htslib文件夹下。
find -name "libhts.so.3"
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:~/software/GQT/htslib/lib/
如果没有安装libhts,可以自行下载安装。
2. 无法打开 libcrypto.so.10
再次运行help后。
报错:
error while loading shared libraries: libcrypto.so.10: cannot open shared object file: No such file or directory
解决方法:
查找libcrypto.so.10的位置。
find -name "libcrypto.so.10"
发现没有该文件,所以需要安装openssl,执行以下代码,生成libcrypto.so文件。
wget https://www.openssl.org/source/old/1.0.1/openssl-1.0.1e.tar.gz
tar -zxvf openssl-1.0.1e.tar.gz
rm openssl-1.0.1e.tar.gz
cd openssl-1.0.1e
./config shared zlib-dynamic
make
创建软连接。
ln -s libssl.so.1.0.0 libssl.so.10
ln -s libcrypto.so.1.0.0 libcrypto.so.10
把文件复制到目标文件夹下。
cp openssl-1.0.1e/libssl.so.10 ~/software/GQT/htslib/lib/
cp openssl-1.0.1e/libcrypto.so.10 ~/software/GQT/htslib/lib/
这边说明一下,我尝试放在usr/bin下,但其实在GQT运行的时候,还是希望libcrypto.so.10在前面设置的文件路径中(可以看到以下报错),所以需要将该文件复制到目标文件夹下。
version `libcrypto.so.10' not found (required by /users/k20065666/software/GQT/htslib/lib/libhts.so.3)
完成上述步骤后,再次尝试。
GQT/bin/gqt --help
现在就可以看到GQT的help内容了,然后接下来就可以做分析啦。
其实解决这些问题主要靠Google,直接粘贴报错内容,然后看大神们如何解决这些问题。逐个尝试,总会找到方法的。